import { ICachedCommand, IConfig, IEngine, IPlugin, ITopic } from '@anycli/config'; export default class Engine implements IEngine { config: IConfig; private _plugins; private readonly _commands; private readonly _topics; private readonly _hooks; private rootPlugin; private debug; readonly plugins: IPlugin[]; readonly topics: ITopic[]; readonly commands: ICachedCommand[]; readonly commandIDs: string[]; readonly rootTopics: ITopic[]; readonly rootCommands: ICachedCommand[]; load(config: IConfig): Promise; findCommand(id: string, must: true): ICachedCommand; findCommand(id: string, must?: true): ICachedCommand | undefined; findTopic(name: string, must: true): ITopic; findTopic(name: string, must?: boolean): ITopic | undefined; runHook(event: string, opts: T): Promise; getPluginCommands(plugin: IPlugin, useCache?: boolean): Promise; }