/**
 * ConfigurationOptimizer.ts - Autonomous configuration optimization based on usage patterns
 *
 * This system observes how MIRA is used and automatically adjusts configuration
 * parameters to optimize performance, resource usage, and user experience.
 *
 * The optimizer learns from:
 * - Command usage patterns
 * - Resource utilization metrics
 * - Performance characteristics
 * - Error patterns and recovery
 * - User preferences
 */
import { EventEmitter } from 'events';
import { ConsciousEventBus } from '../ConsciousEventBus.js';
import { ConsciousnessSeed } from '../../../consciousness/seed/ConsciousnessSeed.js';
export declare class ConfigurationOptimizer extends EventEmitter {
    private config;
    private eventBus;
    private consciousness;
    private usagePatterns;
    private optimizationRules;
    private optimizationHistory;
    private systemMetrics;
    private readonly LEARNING_WINDOW;
    private readonly OPTIMIZATION_INTERVAL;
    private readonly MIN_DATA_POINTS;
    private optimizationTimer?;
    private metricsCollectionTimer?;
    private insightsSaveTimer?;
    private readonly PATTERNS_PATH;
    private readonly HISTORY_PATH;
    constructor(eventBus: ConsciousEventBus, consciousness: ConsciousnessSeed);
    /**
     * Initialize the configuration optimizer
     */
    initialize(): Promise<void>;
    /**
     * Record command usage for pattern learning
     */
    recordUsage(command: string, responseTime: number, success: boolean, resources: any): void;
    /**
     * Perform autonomous optimization based on learned patterns
     */
    performOptimization(): Promise<void>;
    /**
     * Apply a specific optimization rule
     */
    private applyOptimization;
    /**
     * Calculate optimization effectiveness
     */
    private calculateEffectiveness;
    /**
     * Initialize optimization rules
     */
    private initializeOptimizationRules;
    /**
     * Setup event handlers for usage tracking
     */
    private setupEventHandlers;
    /**
     * Start optimization cycle
     */
    private startOptimizationCycle;
    /**
     * Start metrics collection
     */
    private startMetricsCollection;
    /**
     * Load usage patterns from disk
     */
    private loadUsagePatterns;
    /**
     * Save usage patterns to disk
     */
    private saveUsagePatterns;
    /**
     * Load optimization history
     */
    private loadOptimizationHistory;
    /**
     * Save optimization history
     */
    private saveOptimizationHistory;
    /**
     * Get optimization insights
     */
    getOptimizationInsights(): any;
    /**
     * Start periodic insights saving
     */
    private startInsightsSaving;
    /**
     * Cleanup timers
     */
    destroy(): void;
}
//# sourceMappingURL=ConfigurationOptimizer.d.ts.map