import { ModuleDesc, ModuleName, ModuleEventMap, ModuleCmdMap, CmdFun } from '../types/protocol';
import { AppType } from '../types/commonData';
import { StaticStorageItem } from '../modules/static';
import { TemplateCategory, TemplateConfig } from '../utils/update/type';
export declare enum EventEnum {
}
export type EventMap = ModuleEventMap<never>;
export declare enum CmdEnum {
    list = "Creator.List",
    generate = "Creator.Generate",
    generateV2 = "Creator.GenerateV2"
}
type CmdList = (m: ModuleName.creator, cmd: CmdEnum.list, opt: {
    online?: boolean;
    localPath?: string;
    appType: AppType;
}) => Promise<StaticStorageItem[] | undefined>;
type CmdGen = (m: ModuleName.creator, cmd: CmdEnum.generate, opt: {
    name: string;
    target: string;
    offline?: boolean;
    useDefault?: boolean;
    meta?: {
        appId: string;
        projectName: string;
    };
}) => Promise<boolean>;
export interface GenerateV2Options {
    templateCate: TemplateCategory;
    projectPath: string;
    templateConfig: TemplateConfig;
}
type CmdGenV2 = (m: ModuleName.creator, cmd: CmdEnum.generateV2, opt: GenerateV2Options) => Promise<void>;
export type Command = CmdList & CmdGen & CmdGenV2;
export interface CmdMap extends ModuleCmdMap<CmdEnum> {
    [CmdEnum.list]: CmdFun<CmdList>;
    [CmdEnum.generate]: CmdFun<CmdGen>;
    [CmdEnum.generateV2]: CmdFun<CmdGenV2>;
}
export declare const CreatorDesc: ModuleDesc<EventMap, CmdMap, ModuleName.ui | ModuleName.eventTracker | ModuleName.storage | ModuleName.static | ModuleName.account | ModuleName.service>;
export {};
