/** * Anthropic Claude LLM client implementation. */ import type { LLMClient, Message, CompletionOptions, ProviderInfo, StreamingOptions, StreamingResult } from './client.js'; export interface AnthropicClientOptions { /** API key (defaults to ANTHROPIC_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; } /** * Anthropic Claude LLM client implementation. */ export declare class AnthropicClient implements LLMClient { private client; private defaultModel; private logger; private onUsage?; constructor(options?: AnthropicClientOptions); getProviderInfo(): ProviderInfo; chat(messages: Message[], options?: CompletionOptions): Promise; /** * Check for content filtering refusal in Anthropic response. * Anthropic uses stop_reason to indicate why generation stopped. */ private checkForRefusal; /** * Normalize message order for Claude's requirements. * Claude requires alternating user/assistant messages starting with user. */ private normalizeMessageOrder; complete(prompt: string, options?: CompletionOptions): Promise; parseJSON(response: string): T; stream(prompt: string, options?: StreamingOptions): Promise; streamChat(messages: Message[], options?: StreamingOptions): Promise; } //# sourceMappingURL=anthropic.d.ts.map