import type { ChatCompletionMessage, CompletionRequest } from "../../models/prompt";
import type { ChatCompletionResult } from "../components";
/**
 * Convert an OpenAI Responses API object (or its `output` array) into a ChatCompletionResult.
 *
 * Accepts either the full Responses API response shape:
 * {
 *   id, object: "response", created_at, model, output: Item[], usage?: { input_tokens?, output_tokens?, total_tokens? }
 * }
 * or a bare `output: Item[]` array.
 */
export declare function convertOpenAIResponsesToCompletionResult(input: any): {
    completionResult: ChatCompletionResult;
    modelParameters: Record<string, any>;
};
/**
 * Convert an OpenAI Responses API-style messages array into a sequence of
 * CompletionRequest / ChatCompletionMessage items compatible with Chat Completions.
 *
 * Input examples include items like:
 * - { type: "message", role: "user" | "system" | "assistant", content: string | Part[] }
 * - { type: "function_call" | "tool_call" | "tool-use", name, arguments, callId?, id? }
 * - { type: "function_call_result" | "tool_result" | "tool-call-result", callId?, output }
 *
 * Mapping rules:
 * - Consecutive function/tool call items are batched into one assistant message with tool_calls.
 * - Each result item becomes a tool message with tool_call_id referring to its originating call.
 * - Assistant message content is null when tool_calls are present, otherwise text if available.
 */
export declare function convertOpenAIResponsesMessagesToCompletionMessages(items: any[]): Array<CompletionRequest | ChatCompletionMessage>;
