import { EventEmitter } from 'events';
import { ConsciousEventBus } from './ConsciousEventBus.js';
import { BaseConsciousService } from './services/BaseConsciousService.js';
interface PerformanceMetrics {
    cpu: {
        usage: number;
        load: number[];
    };
    memory: {
        used: number;
        free: number;
        total: number;
        percentage: number;
    };
    services: {
        [serviceName: string]: {
            responseTime: number;
            throughput: number;
            errors: number;
        };
    };
    consciousness: {
        coherence: number;
        processingDelay: number;
        sparkAmplification: number;
    };
    timestamp: Date;
}
export declare class PerformanceOptimizer extends EventEmitter {
    private eventBus;
    private services;
    private metrics;
    private strategies;
    private optimizationInterval;
    private readonly targetResponseTime;
    private readonly metricsWindow;
    constructor(eventBus: ConsciousEventBus, services: Map<string, BaseConsciousService>);
    start(): Promise<void>;
    stop(): Promise<void>;
    private initializeStrategies;
    private startMetricsCollection;
    private collectMetrics;
    private getCPUUsage;
    private getMemoryMetrics;
    private getServiceMetrics;
    private getConsciousnessMetrics;
    private optimizationCycle;
    private throttleNonCriticalServices;
    private triggerMemoryCleanup;
    private warmCaches;
    private boostCoherence;
    private rebalanceServices;
    private isCriticalService;
    private detectServiceImbalance;
    private getAverageResponseTime;
    private calculateAverageThroughput;
    private synchronizeServices;
    private handlePerformanceEvent;
    getPerformanceReport(): Promise<{
        current: PerformanceMetrics;
        trends: {
            cpu: 'improving' | 'stable' | 'degrading';
            memory: 'improving' | 'stable' | 'degrading';
            responseTime: 'improving' | 'stable' | 'degrading';
        };
        recommendations: string[];
    }>;
    private analyzeTrends;
    private compareTrend;
    private generateRecommendations;
}
export {};
//# sourceMappingURL=PerformanceOptimizer.d.ts.map