import type { LLMClient, Message, CompletionOptions, ProviderInfo, StreamingOptions, StreamingResult } from './client.js'; export interface OpenAIClientOptions { /** API key (defaults to OPENAI_API_KEY env var) */ apiKey?: string; /** Default model to use */ model?: string; /** Base URL for API (for proxies/alternatives) */ baseURL?: string; /** Callback to receive token usage from each API call */ onUsage?: (inputTokens: number, outputTokens: number) => void; } export declare class OpenAIClient implements LLMClient { private client; private defaultModel; private logger; private onUsage?; constructor(options?: OpenAIClientOptions); getProviderInfo(): ProviderInfo; chat(messages: Message[], options?: CompletionOptions): Promise; complete(prompt: string, options?: CompletionOptions): Promise; parseJSON(response: string): T; stream(prompt: string, options?: StreamingOptions): Promise; streamChat(messages: Message[], options?: StreamingOptions): Promise; } //# sourceMappingURL=openai.d.ts.map