import { IConfig } from 'cli-engine-config'; import { Plugin } from './plugins/plugin'; import { ITopic, Topic } from './topic'; export declare type RunFn = (argv: string[]) => Promise; export interface ICommandInfo { _version?: string; id: string; hidden: boolean; help: string; helpLine: [string, string | undefined]; aliases: string[]; description: string | undefined; usage: string | undefined; plugin: Plugin; run: RunFn; } export interface ILoadResult { topics?: ITopic[]; commands?: ICommandInfo[]; } export interface ICommandManager { submanagers?(): Promise; load?(): Promise; } export declare class CommandManager { protected config: IConfig; private managers; private hooks; private debug; private result; private _submanagers; constructor(config: IConfig); run(argv: string[]): Promise; help(argv: string[]): Promise; notFound(id: string): Promise; commands(): Promise; rootCommands(): Promise; findTopic(id: string): Promise; findCommand(id: string, must: true): Promise; findCommand(id: string, must?: boolean): Promise; topics(): Promise; private load(); private submanagers(); private addResult(result); private cmdAskingForHelp(argv); }