/** * OpenKernel — Plugin Manager * * Core stays tiny. Everything else is a plugin: Telegram, Discord, Slack, * GitHub, Browser, Search, Vision, Email, Database, Storage, Monitoring. */ import type { EventBus } from './event-bus.js'; import type { Logger, Plugin, PluginCommand } from './types.js'; export interface PluginContext { eventBus: EventBus; logger: Logger; commands: PluginManager; } export declare class PluginManager { private eventBus; private logger; private plugins; private commands; private unsubscribers; constructor(eventBus: EventBus, logger: Logger); register(plugin: Plugin): void; registerWithContext(plugin: Plugin, kernel: unknown): Promise; unregister(name: string): void; listPlugins(): Plugin[]; registerCommand(cmd: PluginCommand): void; listCommands(): PluginCommand[]; destroy(): void; }