import type { ToolRegistry } from '../registry/tool-registry.js'; import type { Config } from '../types/config.js'; import type { Tool } from '../types/tool.js'; export declare const PLUGIN_MANAGER_TOOL_NAME = "plugin_manager"; export interface PluginManagerCatalogEntry { name: string; description: string; risk: 'low' | 'medium' | 'high'; defaultState: 'active' | 'inactive'; canDisable: boolean; /** Alternative config/discovery names, such as an official package specifier. */ aliases?: readonly string[] | undefined; } export interface PluginManagerMutationResult { ok: boolean; message: string; restartRequired?: boolean | undefined; } export interface CreatePluginManagerToolOptions { /** Re-read on every call so config changes made during the session are visible. */ getConfig: () => Config; /** Built-in/official discovery catalog supplied by the host. */ catalog: readonly PluginManagerCatalogEntry[]; /** Live registry used to discover and invoke tools registered by loaded plugins. */ toolRegistry: ToolRegistry; /** Persist an enable/disable decision in the host's active config. */ setEnabled: (plugin: string, enabled: boolean) => Promise; } export declare function createPluginManagerTool(opts: CreatePluginManagerToolOptions): Tool; //# sourceMappingURL=plugin-manager.d.ts.map