import { EventEmitter } from 'events'; export interface RealTimeMetrics { timestamp: number; system: { cpuUsage: { user: number; system: number; idle: number; total: number; percentage: number; }; memoryUsage: { total: number; free: number; used: number; percentage: number; heapUsed: number; heapTotal: number; external: number; arrayBuffers: number; }; loadAverage: { oneMinute: number; fiveMinutes: number; fifteenMinutes: number; }; networkInterfaces: Array<{ name: string; bytesReceived: number; bytesSent: number; packetsReceived: number; packetsSent: number; errors: number; }>; }; process: { pid: number; uptime: number; cpuUsage: NodeJS.CpuUsage; memoryUsage: NodeJS.MemoryUsage; eventLoopDelay: number; activeHandles: number; activeRequests: number; gc: { totalCollections: number; totalDuration: number; lastCollection: number; heapSizeAfterLastGC: number; }; }; application: { requestsPerSecond: number; averageResponseTime: number; errorRate: number; activeConnections: number; queueSize: number; throughput: number; operationsCount: number; customMetrics: Record; }; performance: { responseTimePercentiles: { p50: number; p90: number; p95: number; p99: number; p999: number; }; throughputMetrics: { current: number; average: number; peak: number; trending: 'up' | 'down' | 'stable'; }; resourceEfficiency: { cpuEfficiency: number; memoryEfficiency: number; networkEfficiency: number; overallScore: number; }; }; compliance: { iso40001Score: number; performanceCompliance: { responseTimeCompliance: boolean; throughputCompliance: boolean; resourceUsageCompliance: boolean; errorRateCompliance: boolean; score: number; }; securityCompliance: { dataProtectionScore: number; accessControlScore: number; auditTrailScore: number; encryptionScore: number; score: number; }; qualityCompliance: { codeQualityScore: number; testCoverageScore: number; documentationScore: number; maintainabilityScore: number; score: number; }; accessibilityCompliance: { wcagScore: number; usabilityScore: number; internationalizationScore: number; score: number; }; overallComplianceScore: number; }; } export interface AlertThresholds { cpu: { warning: number; critical: number; }; memory: { warning: number; critical: number; }; responseTime: { warning: number; critical: number; }; errorRate: { warning: number; critical: number; }; throughput: { minimum: number; warning: number; }; compliance: { iso40001Minimum: number; performanceMinimum: number; securityMinimum: number; }; } export interface Alert { id: string; timestamp: number; level: 'info' | 'warning' | 'critical'; type: 'performance' | 'resource' | 'compliance' | 'error'; title: string; message: string; metrics: Record; recommendations: string[]; resolved: boolean; resolvedAt?: number; } export interface MetricsSnapshot { timestamp: number; metrics: RealTimeMetrics; alerts: Alert[]; trend: { direction: 'improving' | 'degrading' | 'stable'; confidence: number; primaryFactors: string[]; }; } export declare class RealTimeMetricsCollector extends EventEmitter { private logger; private isCollecting; private collectionInterval; private metricsHistory; private alertHistory; private activeAlerts; private operationCounts; private responseTimes; private errorCounts; private startTime; private gcStats; private eventLoopDelay; private customMetrics; private _complianceHistory; private thresholds; constructor(options?: { outputDirectory?: string; alertThresholds?: Partial; enableGCMonitoring?: boolean; enableEventLoopMonitoring?: boolean; }); private setupGCMonitoring; private setupEventLoopMonitoring; startCollection(intervalMs?: number): void; stopCollection(): void; private collectMetrics; private collectSystemMetrics; private collectProcessMetrics; private collectApplicationMetrics; private collectPerformanceMetrics; private collectComplianceMetrics; private calculatePercentile; private calculateCurrentThroughput; private calculateAverageThroughput; private calculatePeakThroughput; private calculateThroughputTrend; private calculateResourceEfficiency; private assessPerformanceCompliance; private assessSecurityCompliance; private assessQualityCompliance; private assessAccessibilityCompliance; private calculateISO40001Score; private checkAlerts; private processAlerts; private autoResolveAlerts; private calculateTrend; recordCustomMetric(name: string, value: number): void; recordOperation(operationType: string, responseTime?: number): void; recordError(errorType: string): void; getCurrentSnapshot(): MetricsSnapshot | null; getMetricsHistory(hours?: number): RealTimeMetrics[]; getActiveAlerts(): Alert[]; getAlertHistory(hours?: number): Alert[]; exportMetrics(): string; clearMetrics(): void; } //# sourceMappingURL=real-time-metrics-collector.d.ts.map