import { EventEmitter } from 'events'; import { MCPManager } from '../services/mcp-client'; import { OrchestratorAgent } from '../services/orchestrator-agent'; export interface LoadTestScenario { name: string; description: string; duration: number; concurrency: number; rampUpTime: number; rampDownTime?: number; targetThroughput?: number; operations: LoadTestOperation[]; conditions?: LoadTestCondition[]; } export interface LoadTestOperation { name: string; weight: number; type: 'ai_api' | 'mcp_tool' | 'orchestration' | 'cli_command' | 'custom'; config: OperationConfig; execute: () => Promise; } export interface OperationConfig { apiProvider?: 'openrouter' | 'anthropic' | 'openai'; modelName?: string; promptTokens?: number; maxTokens?: number; serverName?: string; toolName?: string; toolParams?: Record; agentType?: string; taskComplexity?: 'simple' | 'medium' | 'complex'; parallelTasks?: number; command?: string; args?: string[]; timeout?: number; retryCount?: number; expectedResponseTime?: number; expectedThroughput?: number; } export interface OperationResult { success: boolean; duration: number; responseSize?: number; statusCode?: number; errorMessage?: string; errorType?: string; metadata?: Record; } export interface LoadTestCondition { name: string; type: 'response_time' | 'throughput' | 'error_rate' | 'resource_usage'; operator: 'less_than' | 'greater_than' | 'equals' | 'not_equals'; threshold: number; severity: 'warning' | 'critical'; stopTestOnFailure?: boolean; } export interface LoadTestResult { scenarioName: string; startTime: Date; endTime: Date; duration: number; totalOperations: number; successfulOperations: number; failedOperations: number; operationsPerSecond: number; averageResponseTime: number; p95ResponseTime: number; p99ResponseTime: number; minResponseTime: number; maxResponseTime: number; errorRate: number; errors: LoadTestError[]; resourceUsage: ResourceUsageMetrics; conditionResults: ConditionResult[]; operationBreakdown: OperationBreakdown[]; complianceScore: number; recommendations: string[]; } export interface LoadTestError { timestamp: Date; operationType: string; operationName: string; errorType: string; errorMessage: string; duration: number; metadata?: Record; } export interface ResourceUsageMetrics { averageCpuUsage: number; peakCpuUsage: number; averageMemoryUsage: number; peakMemoryUsage: number; networkBytesIn: number; networkBytesOut: number; diskIOReads: number; diskIOWrites: number; } export interface ConditionResult { conditionName: string; passed: boolean; actualValue: number; threshold: number; severity: string; message: string; } export interface OperationBreakdown { operationName: string; operationType: string; totalExecutions: number; successfulExecutions: number; averageResponseTime: number; throughput: number; errorRate: number; topErrors: string[]; } export declare class AdvancedLoadTester extends EventEmitter { private _mcpManager?; private _orchestrator?; private _outputDirectory; private currentTest; private testStartTime; private results; private activeWorkers; private isRunning; private shouldStop; private metricsCollector; constructor(_mcpManager?: MCPManager | undefined, _orchestrator?: OrchestratorAgent | undefined, _outputDirectory?: string); runLoadTest(scenario: LoadTestScenario): Promise; private executeRampUp; private executeSustainedLoad; private executeRampDown; private createWorker; private selectOperation; private checkConditions; private evaluateCondition; private generateLoadTestResult; private calculateResourceUsage; private calculateComplianceScore; private generateRecommendations; private createTimeout; private sleep; stopCurrentTest(): void; getStatus(): { isRunning: boolean; currentTest: string | null; activeWorkers: number; totalOperations: number; successfulOperations: number; errorRate: number; }; exportResults(): string; } //# sourceMappingURL=advanced-load-tester.d.ts.map