/** * LLM Provider 抽象基类 * 提供重试逻辑和通用错误处理 */ import type { ILLMProvider, ChatMessage, LLMRequestConfig, LLMResponse, LLMProviderType } from "./types.js"; /** 重试配置 */ interface RetryConfig { maxRetries: number; baseDelayMs: number; maxDelayMs: number; } export declare abstract class BaseLLMProvider implements ILLMProvider { abstract readonly name: LLMProviderType; protected retryConfig: RetryConfig; constructor(retryConfig?: Partial); abstract isConfigured(): boolean; protected abstract doChat(messages: ChatMessage[], config?: LLMRequestConfig): Promise; /** * 带重试的聊天请求 */ chat(messages: ChatMessage[], config?: LLMRequestConfig): Promise; /** 判断是否为不可重试的错误 */ protected isNonRetryableError(error: Error): boolean; protected sleep(ms: number): Promise; } export {}; //# sourceMappingURL=base-provider.d.ts.map