/** * OpenRouter API client for chat completions */ import type { ChatCompletionRequest, ChatCompletionResponse, ChatCompletionChunk, ModelsListResponse, ApiKeyValidationResponse, APIMessage } from '../types/index.js'; export interface OpenRouterClientOptions { apiKey: string; timeout?: number; } export declare class OpenRouterClient { private readonly apiKey; private readonly timeout; constructor(options: OpenRouterClientOptions); /** * Create a chat completion (non-streaming) */ createChatCompletion(request: ChatCompletionRequest): Promise; /** * Create a chat completion with streaming */ streamChatCompletion(request: ChatCompletionRequest, signal?: AbortSignal): AsyncGenerator; /** * List available models */ listModels(): Promise; /** * Validate API key */ validateApiKey(): Promise; /** * Convert internal messages to API format */ static toAPIMessages(messages: Array<{ role: string; content: string; }>): APIMessage[]; /** * Get request headers */ private getHeaders; /** * Fetch with retry logic */ private fetchWithRetry; /** * Handle error response */ private handleErrorResponse; /** * Sleep for a specified duration */ private sleep; } //# sourceMappingURL=openrouter.d.ts.map