export interface ToolMetrics { toolName: string; executionCount: number; successCount: number; errorCount: number; totalDurationMs: number; averageDurationMs: number; minDurationMs: number; maxDurationMs: number; lastExecutedAt: number; lastExecutionDurationMs: number; lastError?: string; } export interface ExecutionEvent { toolName: string; args: Record; durationMs: number; success: boolean; error?: string; timestamp: number; } export interface SystemMetrics { totalExecutions: number; successfulExecutions: number; failedExecutions: number; averageDurationMs: number; totalDurationMs: number; toolMetrics: Record; executionEvents: ExecutionEvent[]; } export declare class TelemetryService { private static instance; private logger; private metrics; private events; private maxEvents; private enabled; private constructor(); static getInstance(): TelemetryService; recordExecution(toolName: string, args: Record, durationMs: number, success: boolean, error?: string): void; getToolMetrics(toolName: string): ToolMetrics | undefined; getAllMetrics(): SystemMetrics; getMetricsSummary(): { totalExecutions: number; successRate: number; averageDurationMs: number; toolCount: number; }; getToolExecutionHistory(toolName: string, limit?: number): ExecutionEvent[]; getRecentEvents(limit?: number): ExecutionEvent[]; getToolUsageRanking(): Array<{ toolName: string; count: number; successRate: number; }>; getToolPerformanceRanking(): Array<{ toolName: string; averageDurationMs: number; }>; reset(): void; resetToolMetrics(toolName: string): void; enable(): void; disable(): void; isEnabled(): boolean; export(): object; exportAsString(): string; static resetInstance(): void; private sanitizeArgs; } //# sourceMappingURL=telemetry.service.d.ts.map