import { ProviderMessage, ProviderResponse, LLMProvider, ChatOptions, StreamDelta } from './types.js'; import type { ToolDefinition } from '../tools/interface.js'; export declare class OpenAIProvider implements LLMProvider { private client; private model; constructor(apiKey: string, model: string, baseURL?: string); chat(messages: ProviderMessage[], tools: ToolDefinition[], options?: ChatOptions): Promise; /** * Stream the response using the OpenAI SDK's native streaming. Maps chunks to * `StreamDelta`s: text deltas, tool-call begin (id+name on the first chunk) * and argument fragments (subsequent chunks, keyed by `index`), and a final * `finish` with usage (when `stream_options.include_usage` is set). */ chatStream(messages: ProviderMessage[], tools: ToolDefinition[], options?: ChatOptions): AsyncIterable; }