import type { ChatMessage, NativeToolCall, ReasoningArtifactReplayObserver, ReasoningArtifactReplayTarget, ToolDefinition } from "../../types.js"; import { type ToolChoice } from "../tool-protocol.js"; import "../../tools/definitions.js"; export declare function toOpenAiTools(defs: ToolDefinition[]): Array<{ type: "function"; function: { name: string; description: string; parameters: ToolDefinition["parameters"]; }; }>; export type OpenAiWireMessage = { role: "system" | "user" | "assistant"; content: string | unknown[] | null; reasoning_content?: string; reasoning_details?: unknown; extra_content?: { google?: { thought_signature: string; }; }; tool_calls?: Array<{ id: string; type: "function"; function: { name: string; arguments: string; }; }>; } | { role: "tool"; tool_call_id: string; content: string; name?: string; }; interface CompatibleReasoningReplayOptions { readonly target: ReasoningArtifactReplayTarget; readonly observe?: ReasoningArtifactReplayObserver | undefined; readonly forceScope?: boolean | undefined; } /** * Map dialect-neutral ChatMessage[] to OpenAI Chat Completions wire format, * preserving tool roles and assistant tool_calls. */ export declare function toOpenAiToolMessages(messages: ChatMessage[], mapUserContent: (message: ChatMessage) => string | unknown[], replay?: CompatibleReasoningReplayOptions): OpenAiWireMessage[]; export declare function openAiToolBodyFields(options: { tools?: ToolDefinition[] | undefined; toolChoice?: ToolChoice | undefined; parallelToolCalls?: boolean | undefined; }): Record; export declare function nativeToolCallsFromOpenAi(toolCalls: NativeToolCall[] | undefined): NativeToolCall[] | undefined; export {};