import { ModuleDesc, ModuleName, ModuleEventMap, ModuleCmdMap, CmdFun } from '../types/protocol';
import { AppType, FrameworkOption } from '../types/commonData';
import { CompilePathType } from '../types/simulator';
export declare enum EventEnum {
    Change = "Sniffer.typeChange"
}
export interface EventMap extends ModuleEventMap<EventEnum> {
    [EventEnum.Change]: {
        type: '';
        params: AppType;
    };
}
export declare enum CmdEnum {
    GetAppType = "Sniffer.getAppType",
    GetAppTypeSync = "Sniffer.getAppTypeSync",
    GetAppCompileType = "Sniffer.getAppCompileType",
    ResetCompilePath = "Sniffer.resetCompilePath",
    GetFrameworkOption = "Sniffer.getFrameworkOption"
}
type CmdGetType = (m: ModuleName.sniffer, cmd: CmdEnum.GetAppType, compilePath: string, useCache?: boolean) => Promise<AppType>;
type CmdGetTypeSync = (m: ModuleName.sniffer, cmd: CmdEnum.GetAppTypeSync, compilePath: string) => AppType | void;
type CmdGetCompileType = (m: ModuleName.sniffer, cmd: CmdEnum.GetAppCompileType, compilePath: string) => CompilePathType | void;
type CmdResetCompilePath = (m: ModuleName.sniffer, cmd: CmdEnum.ResetCompilePath, old: string, now: string) => void;
type CmdGetFrameworkOption = (m: ModuleName.sniffer, cmd: CmdEnum.GetFrameworkOption, compilePath: string) => FrameworkOption;
export type Command = CmdGetType & CmdGetTypeSync & CmdGetCompileType & CmdResetCompilePath & CmdGetFrameworkOption;
export interface CmdMap extends ModuleCmdMap<CmdEnum> {
    [CmdEnum.GetAppType]: CmdFun<CmdGetType>;
    [CmdEnum.GetAppTypeSync]: CmdFun<CmdGetTypeSync>;
    [CmdEnum.GetAppCompileType]: CmdFun<CmdGetCompileType>;
    [CmdEnum.ResetCompilePath]: CmdFun<CmdResetCompilePath>;
    [CmdEnum.GetFrameworkOption]: CmdFun<CmdGetFrameworkOption>;
}
export declare const SnifferDesc: ModuleDesc<EventMap, CmdMap, ModuleName.storage>;
export {};
