import { PluginManifest, CustomSlashCommand, Skill, LspConfig, McpConfig, PartialHookConfiguration } from "../types/index.js";
export declare class PluginLoader {
    /**
     * Load and validate a plugin manifest from a directory
     * @param pluginPath Absolute path to the plugin directory
     */
    static loadManifest(pluginPath: string): Promise<PluginManifest>;
    /**
     * Load commands from a plugin's commands directory
     * @param pluginPath Absolute path to the plugin directory
     */
    static loadCommands(pluginPath: string): CustomSlashCommand[];
    /**
     * Load skills from a plugin's skills directory
     * @param pluginPath Absolute path to the plugin directory
     */
    static loadSkills(pluginPath: string): Promise<Skill[]>;
    /**
     * Load LSP configuration from a plugin
     */
    static loadLspConfig(pluginPath: string): Promise<LspConfig | undefined>;
    /**
     * Load MCP configuration from a plugin
     */
    static loadMcpConfig(pluginPath: string): Promise<McpConfig | undefined>;
    /**
     * Load hooks configuration from a plugin
     */
    static loadHooksConfig(pluginPath: string): Promise<PartialHookConfiguration | undefined>;
    /**
     * Validate the plugin manifest structure
     */
    private static validateManifest;
}
//# sourceMappingURL=pluginLoader.d.ts.map