/** * PluginManagerImpl — concrete implementation of the PluginManager interface. * * Every method resolves the target adapter from the AdapterRegistry, * checks `AgentCapabilities.supportsPlugins`, and delegates to the * adapter's optional plugin methods. * * @see 09-plugin-manager.md §2 */ import type { AgentName } from './types.js'; import type { AdapterRegistry } from './adapter-registry.js'; import type { PluginManager } from './plugin-manager.js'; import type { InstalledPlugin, PluginListing, PluginDetail, PluginInstallOptions, PluginSearchOptions, PluginBrowseOptions } from './plugin-types.js'; /** * Concrete implementation of the PluginManager interface. * Delegates all operations to the appropriate agent adapter. */ export declare class PluginManagerImpl implements PluginManager { private readonly registry; constructor(registry: AdapterRegistry); /** * Resolves the adapter and asserts that it supports plugins. * Throws AGENT_NOT_FOUND or CAPABILITY_ERROR as appropriate. */ private assertPluginCapable; private defaultFormatForAdapter; private isPluginFormat; private normalizeDate; private sortInstalledPlugins; private normalizeInstalledPlugin; private normalizePluginListing; private normalizePluginDetail; private toPluginError; private assertNonEmptyValue; private resolveSearchAdapters; private searchAcrossAdapters; list(agent: AgentName): Promise; install(agent: AgentName, pluginId: string, options?: PluginInstallOptions): Promise; uninstall(agent: AgentName, pluginId: string, options?: { global?: boolean; }): Promise; update(agent: AgentName, pluginId: string): Promise; updateAll(agent: AgentName): Promise; search(query: string, options?: PluginSearchOptions): Promise; browse(options?: PluginBrowseOptions): Promise; info(pluginId: string, agent?: AgentName): Promise; isInstalled(agent: AgentName, pluginId: string): Promise; }