import type { LLMMessage } from "./llm.js"; export type ApiFormat = "anthropic" | "openai"; export interface AnthropicRequestBody { model: string; max_tokens: number; system: string; messages: LLMMessage[]; stream?: boolean; } export interface OpenAIRequestBody { model: string; max_tokens: number; messages: { role: "system" | "user" | "assistant"; content: string; }[]; stream?: boolean; } export interface AnthropicResponseShape { content: { type: string; text?: string; }[]; usage?: { input_tokens: number; output_tokens: number; }; } export interface OpenAIResponseShape { choices: { message?: { content?: string; }; delta?: { content?: string; }; }[]; usage?: { prompt_tokens?: number; completion_tokens?: number; input_tokens?: number; output_tokens?: number; }; } export declare function detectApiFormat(baseUrl: string): ApiFormat; export declare function toOpenAIRequest(body: AnthropicRequestBody): OpenAIRequestBody; export declare function fromOpenAIResponse(json: OpenAIResponseShape): AnthropicResponseShape; export declare function authHeadersFor(format: ApiFormat, apiKey: string): Record; export declare function pathFor(format: ApiFormat): string; export declare function openaiSSEToAnthropic(json: OpenAIStreamEvent): AnthropicSSEEvent | null; export interface OpenAIStreamEvent { choices?: { delta?: { content?: string; }; }[]; usage?: { prompt_tokens?: number; completion_tokens?: number; input_tokens?: number; output_tokens?: number; }; } export interface AnthropicSSEEvent { type: string; delta?: { type?: string; text?: string; }; usage?: { input_tokens?: number; output_tokens?: number; }; message?: { usage?: { input_tokens?: number; output_tokens?: number; }; }; } //# sourceMappingURL=llm-format.d.ts.map