import Feflow from '..'; export declare enum COMMAND_TYPE { NATIVE_TYPE = "native", PLUGIN_TYPE = "plugin", INTERNAL_PLUGIN_TYPE = "devtool", UNIVERSAL_PLUGIN_TYPE = "universal", UNKNOWN_TYPE = "unknown" } export declare const LOAD_PLUGIN: number; export declare const LOAD_DEVKIT: number; export declare const LOAD_UNIVERSAL_PLUGIN: number; export declare const LOAD_ALL: number; declare type PluginItem = { commands: Array<{ name: string; path?: string; version?: string; }>; path?: string; type: COMMAND_TYPE; }; declare type PluginInfo = { [key: string]: PluginItem; }; declare type PickMap = { [COMMAND_TYPE.PLUGIN_TYPE]?: PluginInfo; [COMMAND_TYPE.UNIVERSAL_PLUGIN_TYPE]?: PluginInfo; [COMMAND_TYPE.NATIVE_TYPE]: PluginInfo; [COMMAND_TYPE.INTERNAL_PLUGIN_TYPE]: PluginInfo; }; declare type Cache = { commandPickerMap: PickMap; version: string; }; declare class TargetPlugin { path: string; type: COMMAND_TYPE; pkg?: string; constructor(type: COMMAND_TYPE, path: string, pkg: string); } declare class TargetUniversalPlugin { type: COMMAND_TYPE; version: string; pkg: string; constructor(type: COMMAND_TYPE, version: string, pkg: string); } export declare class CommandPickConfig { ctx: Feflow; cache: Cache | undefined; lastCommand: string; lastVersion: string; lastStore: Record; subCommandMap: { [key: string]: string[]; }; subCommandMapWithVersion: { commands: Array<{ [key: string]: { name: string; version: string; }; }>; }; root: string; cacheFilePath: string; cacheVersion: string; PICK_ORDER: COMMAND_TYPE[]; constructor(ctx: Feflow); registSubCommand(type: COMMAND_TYPE, store: Record, pluginName?: string, version?: string): void; initCacheFile(): void; writeCache(filePath?: string): void; updateCache(type: COMMAND_TYPE): void; getAllCommandPickerMap(): Partial; getNativeMap(): PluginInfo; getInternalPluginMap(): PluginInfo; getPluginMap(): PluginInfo; getUniversalMap(): PluginInfo; getCache(): Cache | undefined; removeCache(name: string): void; getCommandPath(cmd: string): TargetPlugin | TargetUniversalPlugin; } export default class CommandPicker { root: string; cmd: string; ctx: any; isHelp: boolean; cacheController: CommandPickConfig; SUPPORT_TYPE: COMMAND_TYPE[]; homeRunCmd: string[]; constructor(ctx: any, cmd?: string); loadHelp(): void; isAvailable(): boolean; checkCommand(): void; getCommandSource(path: string): string; pickCommand(): any; getCmdInfo(): { path: string; type: COMMAND_TYPE; }; getLoadOrder(): number; } export {};