import { Scope, InstalledPlugin, KnownMarketplace, MarketplaceManifest, InstalledPluginsRegistry, MarketplacePluginStatus } from "../types/index.js"; /** * PluginCore * * Encapsulates plugin management logic, providing a high-level API for * installing, uninstalling, enabling, and disabling plugins. */ export declare class PluginCore { private container; private pluginManager; private pluginScopeManager; private marketplaceService; private configurationService; private workdir; constructor(workdir?: string); /** * Installs a plugin from a marketplace */ installPlugin(pluginId: string, scope?: Scope): Promise; /** * Uninstalls a plugin and removes it from all configuration scopes */ uninstallPlugin(pluginId: string): Promise; /** * Enables a plugin in the specified scope. If no scope is provided, it tries to find * the scope where the plugin is already configured, or defaults to "user". */ enablePlugin(pluginId: string, scope?: Scope): Promise; /** * Disables a plugin in the specified scope. If no scope is provided, it tries to find * the scope where the plugin is already configured, or defaults to "user". */ disablePlugin(pluginId: string, scope?: Scope): Promise; /** * Updates an installed plugin to the latest version from its marketplace */ updatePlugin(pluginId: string): Promise; /** * Toggles auto-update for a marketplace */ toggleAutoUpdate(name: string, enabled: boolean): Promise; /** * Lists all plugins from all registered marketplaces with their installation and enabled status */ listPlugins(): Promise<{ plugins: MarketplacePluginStatus[]; mergedEnabled: Record; }>; /** * Adds a new marketplace */ addMarketplace(input: string, scope?: Scope): Promise; /** * Removes a marketplace by name */ removeMarketplace(name: string, scope?: Scope): Promise; /** * Updates a specific marketplace or all marketplaces */ updateMarketplace(name?: string): Promise; /** * Lists all registered marketplaces */ listMarketplaces(): Promise; /** * Gets the registry of all installed plugins */ getInstalledPlugins(): Promise; /** * Gets the merged enabled state of all plugins across all scopes */ getMergedEnabledPlugins(): Record; /** * Loads a marketplace manifest from a local path */ loadMarketplaceManifest(marketplacePath: string): Promise; /** * Resolves the local path for a marketplace */ getMarketplacePath(marketplace: KnownMarketplace): string; /** * Finds the scope where a plugin is currently enabled/disabled */ findPluginScope(pluginId: string): Scope | null; /** * Removes a plugin from the enabled plugins in the specified scope */ removeEnabledPlugin(scope: Scope, pluginId: string): Promise; }