export interface ProviderState { id: string; successRate: number; avgLatency: number; prevSuccessRate: number; prevAvgLatency: number; totalCalls: number; totalFailures: number; degradedUntil: number; } export interface RoutingDecision { timestamp: number; selectedProvider: string; taskType: 'chat' | 'code' | 'analysis' | 'unknown'; inputSizeBucket: string; reasoning: string; } export interface FailureEvent { timestamp: number; provider: string; errorType: string; shortMessage: string; fullStack: string; } export declare class TelemetryStore { private static instance; private db; private metricUpdates; private decisionQueue; private failureQueue; private flushTimer; private shuttingDown; private constructor(); static getInstance(): TelemetryStore; private initSchema; updateMetrics(state: ProviderState): void; logDecision(decision: RoutingDecision): void; logFailure(failure: FailureEvent): void; private checkFlushQueue; private startFlushTimer; flush(): void; private enforceRetention; private setupGracefulShutdown; getProviderMetrics(): ProviderState[]; getRecentDecisions(limit?: number): RoutingDecision[]; getRecentFailures(limit?: number): FailureEvent[]; getLastUpdatedTime(): number; } //# sourceMappingURL=telemetry.d.ts.map