import { EventEmitter } from 'events'; export interface PerformanceMetrics { timestamp: number; duration: number; memoryUsage: NodeJS.MemoryUsage; cpuUsage: NodeJS.CpuUsage; responseTime: number; throughput: number; errorRate: number; concurrency: number; resolutionTime?: number; resourceUtilization: { cpu: number; memory: number; networkIO: number; diskIO: number; }; [key: string]: any; } export interface LoadTestConfig { name: string; description: string; duration: number; concurrency: number; rampUpTime: number; operations: LoadTestOperation[]; targetThroughput?: number; acceptableErrorRate?: number; customMetrics?: Record; } export interface LoadTestOperation { name: string; weight: number; execute: () => Promise; timeout?: number; retries?: number; } export interface OperationResult { success: boolean; duration: number; responseSize?: number; errorMessage?: string; metadata?: Record; } export interface BenchmarkResult { testName: string; startTime: number; endTime: number; totalDuration: number; operations: { total: number; successful: number; failed: number; averageDuration: number; throughput: number; percentiles: { p50: number; p90: number; p95: number; p99: number; }; }; resources: { averageCpuUsage: number; peakMemoryUsage: number; averageMemoryUsage: number; networkBytesTransferred: number; diskIOOperations: number; }; errors: { totalErrors: number; errorRate: number; errorTypes: Record; }; compliance: { iso40001Score: number; performanceStandards: boolean; resourceEfficiencyScore: number; scalabilityScore: number; }; } export interface ISO40001PerformanceStandards { maxResponseTime: number; minThroughput: number; maxMemoryUsage: number; maxCpuUsage: number; maxErrorRate: number; scalabilityThreshold: number; } export declare class PerformanceTestFramework extends EventEmitter { private logger; private isRunning; private currentTest; private metrics; private benchmarkResults; private monitoringInterval; private outputDir; private iso40001Standards; constructor(outputDirectory?: string); private setupOutputDirectory; runLoadTest(config: LoadTestConfig): Promise; private executeLoadTest; private executeOperations; private selectRandomOperation; private executeOperation; private withTimeout; private startResourceMonitoring; private stopResourceMonitoring; private calculatePercentile; private calculateAverageMetric; private calculateISO40001ComplianceScore; runBasicBenchmarks(): Promise; private saveResults; private generateSummaryReport; private generateRecommendations; getStatus(): { isRunning: boolean; currentTest: string | null; totalTests: number; recentMetrics: PerformanceMetrics[]; }; getAllResults(): BenchmarkResult[]; stopCurrentTest(): void; clearResults(): void; } //# sourceMappingURL=performance-test-framework.d.ts.map