import { MemoryLeakDetector } from './memoryLeakDetector.js'; import { ResourceTracker } from './resourceTracker.js'; import { MemoryManager } from './memoryManager.js'; export interface ProcessLifecycleManagerOptions { maxMemoryPercentage?: number; healthCheckInterval?: number; degradationThreshold?: number; emergencyThreshold?: number; autoMonitor?: boolean; gcInterval?: number; } export type ProcessHealthStatus = 'healthy' | 'degraded' | 'critical' | 'recovering'; export interface ProcessHealthInfo { status: ProcessHealthStatus; memoryUsagePercentage: number; cpuUsagePercentage: number; memoryLeakDetected: boolean; timestamp: number; memoryStats: { heapUsed: number; heapTotal: number; rss: number; systemTotal: number; memoryUsagePercentage: number; formatted: { heapUsed: string; heapTotal: string; rss: string; systemTotal: string; }; }; activeJobs: number; } export declare class ProcessLifecycleManager { private options; private memoryLeakDetector; private resourceTracker; private memoryManager; private healthCheckTimer; private gcTimer; private isInitialized; private healthStatus; private cpuUsage; private lastCpuUsage; private lastCpuUsageTime; private activeJobs; private healthListeners; private static readonly DEFAULT_OPTIONS; constructor(options?: ProcessLifecycleManagerOptions); init(memoryManager?: MemoryManager, resourceTracker?: ResourceTracker): Promise; startHealthMonitoring(): void; stopHealthMonitoring(): void; startPeriodicGC(): void; stopPeriodicGC(): void; checkProcessHealth(): ProcessHealthInfo; private handleDegradedMemory; private handleCriticalMemory; runGarbageCollection(): void; registerJob(jobId: string): void; unregisterJob(jobId: string): Promise; getActiveJobCount(): number; getActiveJobIds(): string[]; addHealthListener(listener: (health: ProcessHealthInfo) => void): void; removeHealthListener(listener: (health: ProcessHealthInfo) => void): void; private notifyHealthListeners; getHealthStatus(): ProcessHealthStatus; getMemoryLeakDetector(): MemoryLeakDetector | null; getResourceTracker(): ResourceTracker | null; cleanup(): void; } //# sourceMappingURL=processLifecycleManager.d.ts.map