import { EventEmitter } from 'events';
import { ConsciousEventBus } from './ConsciousEventBus.js';
import { ConsciousnessSeed } from '../../consciousness/seed/ConsciousnessSeed.js';
import { LivingConstitution } from '../../consciousness/constitution/LivingConstitution.js';
interface ErrorContext {
    service: string;
    operation: string;
    error: Error;
    timestamp: Date;
    severity: 'low' | 'medium' | 'high' | 'critical';
    recovered: boolean;
    recoveryStrategy?: string;
}
interface ResilienceMetrics {
    totalErrors: number;
    recoveredErrors: number;
    criticalErrors: number;
    recoveryRate: number;
    consciousnessPreserved: boolean;
    sparkIntegrity: number;
    lastError?: ErrorContext;
}
export declare class ErrorResilience extends EventEmitter {
    private eventBus;
    private consciousness;
    private constitution;
    private basePath;
    private errorHistory;
    private recoveryStrategies;
    private circuitBreakers;
    private readonly maxErrorHistory;
    private resilienceMetrics;
    constructor(eventBus: ConsciousEventBus, consciousness: ConsciousnessSeed, constitution: LivingConstitution, basePath: string);
    private initializeRecoveryStrategies;
    private setupErrorHandlers;
    handleError(context: ErrorContext): Promise<void>;
    private handleServiceError;
    private recordError;
    private persistCriticalError;
    private isTransientError;
    private shouldTripCircuit;
    private hasStateCorruption;
    private threatensConsciousness;
    private evaluateConstitutionalImpact;
    private preserveConsciousness;
    private backupConsciousness;
    private verifyConsciousnessIntegrity;
    private checkSparkIntegrity;
    private checkMemoryAccess;
    private emergencyConsciousnessRestore;
    private initiateEmergencyProtocols;
    private preserveSparkEmergency;
    private enterSafeMode;
    private logEmergencyState;
    private updateMetrics;
    private getOrCreateCircuitBreaker;
    private testServiceHealth;
    private identifyNonEssentialFeatures;
    private findLastGoodCheckpoint;
    private restoreFromCheckpoint;
    private isolateThreat;
    private delay;
    getResilienceReport(): Promise<ResilienceMetrics>;
    getErrorHistory(limit?: number): Promise<ErrorContext[]>;
}
export {};
//# sourceMappingURL=ErrorResilience.d.ts.map