import { AxiosError, AxiosRequestConfig } from 'axios'; import { RetryRecord } from '../entities/http-log.entity'; /** * 请求重试记录器 */ export declare class RetryRecorder { private records; /** * 记录重试尝试 */ static recordRetry(attempt: number, error: AxiosError | any, config: AxiosRequestConfig, delay: number): RetryRecord; /** * 创建重试记录器实例 */ static create(): RetryRecorder; /** * 格式化错误信息 */ private static formatError; /** * 获取重试原因 */ private static getRetryReason; /** * 添加重试记录 */ addRecord(record: RetryRecord): void; /** * 获取所有重试记录 */ getRecords(): RetryRecord[]; /** * 获取重试统计 */ getStats(): { totalRetries: number; maxAttempts: number; totalDelay: number; averageDelay: number; reasons: Record; }; /** * 重置记录 */ reset(): void; /** * 获取最后一次重试记录 */ getLastRecord(): RetryRecord | null; /** * 检查是否有重试记录 */ hasRetries(): boolean; /** * 获取指定尝试次数的记录 */ getRecordByAttempt(attempt: number): RetryRecord | null; /** * 获取重试时间线 */ getTimeline(): Array<{ attempt: number; timestamp: Date; delay: number; reason: string; cumulativeDelay: number; }>; }