import { Plugin, PluginConfig } from "../types/index.js";
import { Container } from "../utils/container.js";
export interface PluginManagerOptions {
    workdir: string;
    enabledPlugins?: Record<string, boolean>;
}
export declare class PluginManager {
    private container;
    private plugins;
    private workdir;
    private enabledPlugins;
    constructor(container: Container, options: PluginManagerOptions);
    private get skillManager();
    private get hookManager();
    private get lspManager();
    private get mcpManager();
    private get slashCommandManager();
    private get configurationService();
    /**
     * Update enabled plugins configuration
     */
    updateEnabledPlugins(enabledPlugins: Record<string, boolean>): void;
    /**
     * Load plugins installed via marketplace
     */
    private loadInstalledPlugins;
    /**
     * Load a single plugin from an absolute path
     */
    private loadSinglePlugin;
    /**
     * Load plugins from configuration
     * @param configs Array of plugin configurations
     */
    loadPlugins(configs: PluginConfig[]): Promise<void>;
    /**
     * Get all loaded plugins
     */
    getPlugins(): Plugin[];
    /**
     * Get a plugin by name
     */
    getPlugin(name: string): Plugin | undefined;
}
//# sourceMappingURL=pluginManager.d.ts.map