/**
 * Graceful Degradation System
 * Phase 6, Checkpoint F1 - Ensures system functionality even when AI services fail
 */
export interface ServiceHealth {
    serviceName: string;
    isHealthy: boolean;
    lastCheck: Date;
    consecutiveFailures: number;
    averageResponseTime: number;
    errorRate: number;
    lastError?: string;
}
export interface FallbackStrategy {
    serviceName: string;
    fallbackMethod: 'faker' | 'static' | 'cached' | 'simplified' | 'disabled';
    priority: number;
    description: string;
    implementation: () => Promise<any>;
}
export interface CircuitBreakerConfig {
    failureThreshold: number;
    resetTimeoutMs: number;
    monitoringPeriodMs: number;
    halfOpenMaxCalls: number;
}
export declare class GracefulDegradation {
    private static serviceHealth;
    private static fallbackStrategies;
    private static circuitBreakers;
    private static degradationConfig;
    /**
     * Initialize graceful degradation system
     */
    static initialize(): void;
    /**
     * Set circuit breaker configuration for a service
     */
    static setCircuitBreakerConfig(serviceName: string, config: CircuitBreakerConfig): void;
    /**
     * Register a fallback strategy for a service
     */
    static registerFallbackStrategy(operationName: string, strategy: FallbackStrategy): void;
    /**
     * Execute operation with graceful degradation
     */
    static executeWithFallback<T>(serviceName: string, operationName: string, primaryOperation: () => Promise<T>, context?: Record<string, any>): Promise<T>;
    /**
     * Execute fallback strategy for an operation
     */
    private static executeFallback;
    /**
     * Record successful operation
     */
    private static recordSuccess;
    /**
     * Record failed operation
     */
    private static recordFailure;
    /**
     * Check if circuit breaker is open
     */
    private static isCircuitOpen;
    /**
     * Get or create service health record
     */
    private static getOrCreateServiceHealth;
    /**
     * Get system degradation status
     */
    static getDegradationStatus(): {
        services: Array<ServiceHealth & {
            circuitBreakerState: string;
        }>;
        activeFallbacks: string[];
        systemHealth: 'healthy' | 'degraded' | 'critical';
        recommendations: string[];
    };
    /**
     * Force reset circuit breaker
     */
    static resetCircuitBreaker(serviceName: string): boolean;
    /**
     * Fallback implementations
     */
    private static fakerFallback;
    private static staticTemplateFallback;
    private static simplifiedSchemaAnalysis;
}
/**
 * Decorator for automatic graceful degradation
 */
export declare function withGracefulDegradation(serviceName: string, operationName?: string): (target: any, propertyName: string, descriptor: PropertyDescriptor) => void;
export default GracefulDegradation;
//# sourceMappingURL=graceful-degradation.d.ts.map