export declare const RIGOBOT_HOST = "https://rigobot.herokuapp.com";
type TConsumableSlug = "ai-conversation-message" | "ai-compilation" | "ai-tutorial-generation" | "ai-generation" | "learnpack-publish";
export declare const countConsumables: (consumables: any, consumableSlug?: TConsumableSlug) => any;
export declare const getConsumable: (token: string, consumableSlug?: TConsumableSlug) => Promise<any>;
export interface TAcademy {
    id: number;
    name: string;
    slug: string;
    timezone: string;
}
export declare const listUserAcademies: (breathecodeToken: string) => Promise<TAcademy[]>;
export declare const validateToken: (token: string) => Promise<any>;
type TAssetMissing = {
    slug: string;
    title: string;
    lang: string;
    url: string;
    description: string;
    learnpack_deploy_url: string;
    technologies: string[];
    category: number;
    owner: number;
    author: number;
    preview: string;
    readme_raw: string;
    all_translations: string[];
};
export declare const createAsset: (token: string, asset: TAssetMissing) => Promise<any>;
export declare const doesAssetExists: (token: string, assetSlug: string) => Promise<{
    exists: boolean;
    academyId?: number;
}>;
type TTechnology = {
    slug: string;
    lang: string;
};
export declare const fetchTechnologies: () => Promise<any[]>;
declare function updateTechnologiesPeriodically(): Promise<void>;
export declare const getCurrentTechnologies: () => TTechnology[];
declare const _default: {
    login: (identification: string, password: string) => Promise<any>;
    publish: (config: any) => Promise<any>;
    update: (config: any) => Promise<any>;
    getPackage: (slug: string) => Promise<any>;
    getLangs: () => Promise<any>;
    getAllPackages: ({ lang, slug, }: {
        lang?: string;
        slug?: string;
    }) => Promise<any>;
    sendBatchTelemetry: (url: string, body: any) => Promise<void>;
    sendStreamTelemetry: (url: string, body: object) => Promise<void>;
    listUserAcademies: (breathecodeToken: string) => Promise<TAcademy[]>;
    validateToken: (token: string) => Promise<any>;
    createAsset: (token: string, asset: TAssetMissing) => Promise<any>;
    doesAssetExists: (token: string, assetSlug: string) => Promise<{
        exists: boolean;
        academyId?: number;
    }>;
    updateAsset: (token: string, assetSlug: string, asset: Partial<TAssetMissing>) => Promise<any>;
    getCategories: (token: string) => Promise<any>;
    updateRigoAssetID: (token: string, slug: string, asset_id: number) => Promise<any>;
    createRigoPackage: (token: string, slug: string, config: any) => Promise<any>;
    getCurrentTechnologies: () => TTechnology[];
    updateTechnologiesPeriodically: typeof updateTechnologiesPeriodically;
};
export default _default;
