/** Performance Monitor Implementation */ import { EventEmitter } from 'events'; export interface PerformanceMetrics { cpu: { usage: number; loadAverage: number[]; }; memory: { used: number; total: number; percentage: number; heapUsed: number; heapTotal: number; }; eventLoop: { utilization: number; latency: number; }; custom: { [key: string]: number; }; } export interface AlertThresholds { cpu?: number; memory?: number; eventLoop?: number; custom?: { [key: string]: number; }; } export interface PerformanceMonitorOptions { samplingInterval?: number; historySize?: number; adaptiveSampling?: boolean; alertThresholds?: AlertThresholds; } export declare class PerformanceMonitor extends EventEmitter { private options; private metrics; private history; private circularBuffers; private performanceBaseline; private samplingRate; private lastSamplingAdjustment; private config; private monitoringInterval?; constructor(options?: PerformanceMonitorOptions); startMonitoring(): void; stopMonitoring(): void; getMetrics(): PerformanceMetrics; getHistory(path: string, limit?: number): Array<{ value: number; timestamp: number; }>; addMetric(name: string, value: number): void; private collectMetrics; private collectCPUMetrics; private collectMemoryMetrics; private collectEventLoopMetrics; private calculateCPUUsage; private calculateEventLoopUtilization; private shouldCollectMetrics; private adjustSamplingRate; private updateHistory; private checkAlertThresholds; private checkAllAlertThresholds; private getThresholdForPath; } //# sourceMappingURL=performanceMonitor.d.ts.map