/**
 * TODO: DECLARATIVE PROGRAMMING PATTERN
 *
 * This file demonstrates excellent declarative programming practices:
 * - Pure functions with clear contracts
 * - Immutable configuration with spread operator
 * - Functional composition with async/await
 * - Strategy pattern with switch statements
 * - No imperative state mutations
 * - Clear separation of concerns
 *
 * Mutation Score: 96.67% - Declarative patterns make testing robust!
 */
import { PluginManager } from './PluginManager';
interface PluginLoaderOptions {
    plugins?: string[];
    autoLoad?: boolean;
}
export declare class PluginLoader {
    private pluginManager;
    private options;
    constructor(options?: PluginLoaderOptions);
    /**
     * Load plugins from configuration
     */
    loadPlugins(pluginNames: string[]): Promise<void>;
    /**
     * Load a single plugin
     */
    private loadPlugin;
    /**
     * Load default plugins
     */
    private loadDefaultPlugins;
    /**
     * Load SyntropyLog plugin (mock implementation)
     */
    private loadSyntropyLogPlugin;
    /**
     * Load Security plugin (mock implementation)
     */
    private loadSecurityPlugin;
    /**
     * Load Compliance plugin (mock implementation)
     */
    private loadCompliancePlugin;
    /**
     * Get plugin manager instance
     */
    getPluginManager(): PluginManager;
}
export {};
//# sourceMappingURL=PluginLoader.d.ts.map