import { ICommand } from './command'; import { Hook } from './hooks'; import { IPlugin, ITopic } from './plugin'; export interface IEngine extends ICommand { readonly runHook: Hook; readonly plugins: IPlugin[]; readonly topics: ITopic[]; readonly commands: ICommand[]; readonly commandIDs: string[]; readonly rootTopics: ITopic[]; readonly rootCommands: ICommand[]; findCommand(id: string, must: true): ICommand; findCommand(id: string, must?: boolean): ICommand | undefined; findTopic(id: string, must: true): ITopic; findTopic(id: string, must?: boolean): ITopic | undefined; }