/** * LLM Client - マルチプロバイダーファサード * * @requirement REQ-LLM-001, REQ-LLM-004 * @design DES-KATASHIRO-003-LLM §3.4 */ import type { ZodType, z } from 'zod'; import type { LLMProvider, LLMClientConfig, GenerateRequest, GenerateResponse, StreamChunk, FallbackResult } from './types.js'; /** * LLMクライアント * * フォールバック機能とリトライ機能を提供するファサードクラス */ export declare class LLMClient { private primaryProvider; private fallbackProviders; private retryCount; private retryDelay; constructor(config: LLMClientConfig); /** * テキスト生成(フォールバック対応) */ generate(request: GenerateRequest): Promise; /** * ストリーミング生成 */ generateStream(request: GenerateRequest): AsyncGenerator; /** * 構造化出力生成 */ generateStructured(request: GenerateRequest, schema: T): Promise>; /** * トークン数カウント */ countTokens(text: string, model?: string): Promise; /** * プライマリプロバイダー取得 */ getProvider(): LLMProvider; /** * プロバイダー一覧取得 */ getProviders(): LLMProvider[]; /** * リトライラッパー */ private withRetry; private sleep; } /** * デフォルトLLMクライアント取得 */ export declare function getLLMClient(): LLMClient; /** * LLMクライアント初期化 */ export declare function initLLMClient(config: LLMClientConfig): LLMClient; /** * LLMクライアントリセット(テスト用) */ export declare function resetLLMClient(): void; //# sourceMappingURL=LLMClient.d.ts.map