1 | import { ICachedCommand } from './command';
|
2 | import { ICLIConfig, IConfig } from './config';
|
3 | import { IPlugin } from './plugin';
|
4 | import { ITopic } from './topic';
|
5 | export interface IEngine {
|
6 | readonly config: ICLIConfig;
|
7 | readonly plugins: IPlugin[];
|
8 | readonly topics: ITopic[];
|
9 | readonly commands: ICachedCommand[];
|
10 | readonly commandIDs: string[];
|
11 | readonly rootTopics: ITopic[];
|
12 | readonly rootCommands: ICachedCommand[];
|
13 | findCommand(id: string, must: true): ICachedCommand;
|
14 | findCommand(id: string, must?: boolean): ICachedCommand | undefined;
|
15 | findTopic(id: string, must: true): ITopic;
|
16 | findTopic(id: string, must?: boolean): ITopic | undefined;
|
17 | runHook<T extends {}>(event: string, opts: T): Promise<void>;
|
18 | load(config: IConfig): Promise<void>;
|
19 | }
|