export declare class RequestLogger { private enabled; private logs; private maxLogs; constructor(enabled?: boolean); startRequest(provider: string, model: string, metadata?: Record): RequestTracker; logRequest(log: RequestLog): void; getStats(provider?: string): RequestStats; clearLogs(): void; getRecentLogs(count?: number): RequestLog[]; } export declare class RequestTracker { requestId: string; provider: string; model: string; metadata?: Record; private startTime; constructor(provider: string, model: string, metadata?: Record); end(success: boolean, tokensUsed?: number, error?: string): RequestLog; private generateRequestId; } export interface RequestLog { requestId: string; provider: string; model: string; timestamp: string; latencyMs: number; success: boolean; tokensUsed?: number; error?: string; metadata?: Record; } export interface RequestStats { totalRequests: number; successfulRequests: number; failedRequests: number; averageLatency: number; totalTokensUsed: number; providerBreakdown: Record; } export interface ProviderStats { requests: number; avgLatency: number; tokens: number; } export declare function getRequestLogger(enabled?: boolean): RequestLogger;