import { SystemConfig } from '../config/configurationValidator'; /** * Configuration Enforcement Result */ export interface EnforcementResult { enforced: boolean; changes: Array<{ component: string; property: string; oldValue: any; newValue: any; reason: string; }>; warnings: string[]; errors: string[]; } /** * Runtime Configuration State */ export interface RuntimeConfigState { activeConfig: SystemConfig; lastEnforced: number; enforcementCount: number; componentStates: { memoryManager: 'synchronized' | 'drift' | 'error'; resourceMonitor: 'synchronized' | 'drift' | 'error'; degradationManager: 'synchronized' | 'drift' | 'error'; correlationTracker: 'synchronized' | 'drift' | 'error'; }; } /** * Configuration Enforcer * Ensures all system components comply with validated configuration */ export declare class ConfigurationEnforcer { private static instance; private currentState?; private enforcementHistory; private enforcementTimer?; private readonly enforcementInterval; private constructor(); static getInstance(): ConfigurationEnforcer; /** * Start automatic configuration enforcement */ startEnforcement(config: SystemConfig, correlationId?: string): void; /** * Stop automatic configuration enforcement */ stopEnforcement(): void; /** * Enforce configuration on all system components */ enforceConfiguration(config: SystemConfig, correlationId?: string): EnforcementResult; /** * Enforce memory manager configuration */ private enforceMemoryManagerConfig; /** * Enforce resource monitor configuration */ private enforceResourceMonitorConfig; /** * Enforce degradation manager configuration */ private enforceDegradationManagerConfig; /** * Enforce correlation tracker configuration */ private enforceCorrelationTrackerConfig; /** * Detect configuration drift between current and target configurations */ private detectConfigurationDrift; /** * Update runtime state tracking */ private updateRuntimeState; /** * Determine component synchronization state */ private determineComponentState; /** * Perform periodic enforcement check */ private performPeriodicEnforcement; /** * Get current runtime configuration state */ getRuntimeState(): RuntimeConfigState | undefined; /** * Get enforcement history */ getEnforcementHistory(limit?: number): Array<{ timestamp: number; correlationId: string; result: EnforcementResult; }>; /** * Validate system configuration compliance */ validateCompliance(correlationId?: string): { compliant: boolean; violations: Array<{ component: string; violation: string; severity: 'low' | 'medium' | 'high'; recommendation: string; }>; lastEnforcementAge: number; }; /** * Force immediate configuration re-enforcement */ forceReEnforcement(correlationId?: string): EnforcementResult; /** * Clear enforcement history (for testing) */ clearEnforcementHistory(): void; } export declare const configurationEnforcer: ConfigurationEnforcer; /** * Helper function to ensure configuration compliance */ export declare function ensureConfigurationCompliance(config: SystemConfig, correlationId?: string): Promise<{ validated: boolean; enforced: boolean; issues: Array<{ type: 'validation' | 'enforcement'; severity: 'low' | 'medium' | 'high'; message: string; }>; }>; //# sourceMappingURL=configurationEnforcer.d.ts.map