import { ICachedCommand, IConfig, IEngine, IPlugin, IPluginManifest, ITopic, LoadPluginOptions } from '@anycli/config'; export default class Engine implements IEngine { config: IConfig; private readonly _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; loadPlugin(opts: LoadPluginOptions): Promise; getPluginManifest(config: IConfig, opts: LoadPluginOptions): Promise; }