/**
 * 响应统计管理器 - 记录每个provider和模型的响应数量
 * Owner: Jason Zhang
 */
export interface CategoryStats {
    totalResponses: number;
    successfulResponses: number;
    failedResponses: number;
    streamingResponses: number;
    nonStreamingResponses: number;
    totalResponseTime: number;
    averageResponseTime: number;
}
export interface ResponseStat {
    providerId: string;
    model: string;
    totalResponses: number;
    successfulResponses: number;
    failedResponses: number;
    streamingResponses: number;
    nonStreamingResponses: number;
    lastResponseTime: Date;
    averageResponseTime: number;
    totalResponseTime: number;
    categories: {
        [category: string]: CategoryStats;
    };
}
export interface ProviderStats {
    [providerId: string]: {
        [model: string]: ResponseStat;
    };
}
export declare class ResponseStatsManager {
    private stats;
    private startTime;
    private logInterval;
    private statsFilePath;
    constructor();
    /**
   * 记录成功响应
   */
    recordSuccess(providerId: string, model: string, responseTimeMs: number, isStreaming?: boolean): void;
    /**
     * 记录失败响应
     */
    recordFailure(providerId: string, model: string, error: string, isStreaming?: boolean): void;
    /**
     * 获取或创建统计记录
     */
    private getOrCreateStat;
    /**
     * 获取所有统计数据
     */
    getAllStats(): ProviderStats;
    /**
     * 获取特定provider的统计
     */
    getProviderStats(providerId: string): {
        [model: string]: ResponseStat;
    } | null;
    /**
     * 获取汇总统计
     */
    getSummaryStats(): {
        totalRequests: number;
        totalProviders: number;
        totalModels: number;
        topProvider: {
            providerId: string;
            count: number;
        } | null;
        topModel: {
            model: string;
            count: number;
        } | null;
        overallSuccessRate: number;
    };
    /**
     * 开始定期日志输出
     */
    private startPeriodicLogging;
    /**
     * 输出汇总统计日志
     */
    logSummaryStats(): void;
    /**
     * 输出详细统计日志
     */
    private logDetailedStats;
    /**
     * 输出权重效果验证日志
     */
    private logWeightEffectiveness;
    /**
     * 重置统计数据
     */
    reset(): void;
    /**
     * 停止定期日志
     */
    private loadStats;
    private saveStats;
    destroy(): void;
}
export declare const responseStatsManager: ResponseStatsManager;
//# sourceMappingURL=response-stats.d.ts.map