import Plugin from './Plugin'; import Lock from './Lock'; import { Output } from '../Output/index'; import { Config } from '../Config'; import BuiltinPlugins from './BuiltInPlugins'; import CorePlugins from './CorePlugins'; import Cache, { CachedCommand, CachedTopic, Group } from './Cache'; import { Command } from '../Command'; import { Topic } from '../Topic'; export default class Plugins { builtin: BuiltinPlugins; core: CorePlugins; plugins: Plugin[]; cache: Cache; out: Output; lock: Lock; loaded: boolean; config: Config; constructor(output: Output); load(): Promise; readonly commands: CachedCommand[]; list(): Promise; isPluginInstalled(name: string): boolean; findPluginWithCommand(id: string): Promise; findCommand(id: string): Promise; commandsForTopic(topic: string): Promise>; subtopicsForTopic(id: string): Promise; findTopic(id: string): Promise; clearCache(...paths: string[]): void; readonly topics: CachedTopic[]; readonly groups: Group[]; }