import { MemoryPressure } from '../utils/memoryManager'; import { LogLevel } from '../utils/logging'; /** * System configuration options */ export interface SystemConfig { /** Environment (development, staging, production) */ environment: 'development' | 'staging' | 'production'; /** Enable debug mode */ debug?: boolean; /** Log level */ logLevel?: LogLevel; /** Error reporting configuration */ errorReporting?: { enabled?: boolean; dsn?: string; sampleRate?: number; }; /** Performance monitoring configuration */ performance?: { enabled?: boolean; sampleRate?: number; collectWebVitals?: boolean; collectLongTasks?: boolean; reporter?: (metrics: unknown[]) => void; }; /** Memory monitoring configuration */ memory?: { enabled?: boolean; moderateThreshold?: number; criticalThreshold?: number; onPressure?: (level: MemoryPressure) => void; }; /** Request queue configuration */ requestQueue?: { enabled?: boolean; concurrency?: number; maxQueueSize?: number; }; } /** * System status */ export interface SystemStatus { initialized: boolean; environment: string; uptime: number; memory: { usedHeap: number; totalHeap: number; pressure: MemoryPressure; } | null; performance: { webVitals: Record; longTaskCount: number; }; requestQueue: { queued: number; processing: number; }; errors: { total: number; lastHour: number; }; } /** * System manager class */ declare class SystemManager { private config; private initTime; private errorCount; private hourlyErrors; private cleanupFns; private _initialized; /** * Check if system is initialized */ get initialized(): boolean; /** * Initialize the system */ initialize(config: SystemConfig): void; /** * Get system status */ getStatus(): SystemStatus; /** * Shutdown the system */ shutdown(): void; /** * Health check */ healthCheck(): { healthy: boolean; checks: Record; }; /** * Configure logging */ private setupLogging; /** * Setup error reporting */ private setupErrorReporting; /** * Setup performance monitoring */ private setupPerformanceMonitoring; /** * Setup memory monitoring */ private setupMemoryMonitoring; /** * Setup request queue */ private setupRequestQueue; /** * Setup global error handlers */ private setupGlobalErrorHandlers; /** * Setup event handlers */ private setupEventHandlers; /** * Emergency cleanup when memory pressure is critical */ private emergencyCleanup; /** * Clear sensitive data */ private clearSensitiveData; } /** * Global system manager instance */ export declare const systemManager: SystemManager; /** * Initialize the system with default configuration */ export declare function initializeSystem(config: SystemConfig): void; /** * Get system status */ export declare function getSystemStatus(): SystemStatus; /** * Perform system health check */ export declare function systemHealthCheck(): ReturnType; /** * Shutdown the system */ export declare function shutdownSystem(): void; export declare const defaultSystemConfig: SystemConfig; export {};