import Manager from '../../core/libs/common/ModuleManager';
import { JSSDKModule, ModuleName, SnifferModule, CompileModule, CreatorModule } from '../../core';
import Storage from './Storage';
import Preview from './Preview';
import Upload from './Upload';
import UI from './UI';
import EventTracker from './EventTracker';
import Service from './Service';
import Feedback from './Feedback';
import Account from './Account';
import Static from './Static';
declare const moduleMap: {
    Account: typeof Account;
    UI: typeof UI;
    Storage: typeof Storage;
    Preview: typeof Preview;
    Upload: typeof Upload;
    Compile: typeof CompileModule;
    Service: typeof Service;
    JsSdk: typeof JSSDKModule;
    Feedback: typeof Feedback;
    EventTracker: typeof EventTracker;
    sniffer: typeof SnifferModule;
    Creator: typeof CreatorModule;
    static: typeof Static;
};
declare type ClassType<T> = T extends {
    [key in string]: infer P;
} ? P extends {
    new (...args: any[]): any;
} ? InstanceType<P> : never : never;
export declare class Modules {
    manager: Manager;
    modules: ClassType<typeof moduleMap>[];
    modulesMap: Record<keyof typeof moduleMap, ClassType<typeof moduleMap>>;
    constructor(name?: ModuleName | ModuleName[]);
    init(): Promise<void>;
}
export {};
