import { ProviderMessage, ProviderResponse, LLMProvider, ChatOptions, StreamDelta } from './types.js'; import type { ToolDefinition } from '../tools/interface.js'; export declare class AnthropicProvider implements LLMProvider { private client; private model; constructor(apiKey: string, model: string, options?: { baseURL?: string; timeout?: number; }); /** * Translate Zoe messages + tools into Anthropic's request shape. Shared by * `chat()` and `chatStream()` so the (non-trivial) translation lives once. */ private buildRequest; chat(messages: ProviderMessage[], tools: ToolDefinition[], options?: ChatOptions): Promise; /** * Stream the response via Anthropic's message stream. Text blocks yield * `text_delta`; tool_use blocks yield `tool_call_begin` (on block start) then * `tool_call_delta` for each `input_json_delta` fragment, keyed by block index. */ chatStream(messages: ProviderMessage[], tools: ToolDefinition[], options?: ChatOptions): AsyncIterable; }