import { type Api, type Model, type Tool, type TranscriptContext, type Usage } from "@earendil-works/pi-ai"; import type { ResponseCreateParamsStreaming, ResponseInput, Tool as OpenAITool } from "openai/resources/responses/responses.js"; export interface OpenAIResponsesStreamOptions { serviceTier?: ResponseCreateParamsStreaming["service_tier"] | undefined; grammarToolInputProperties?: ReadonlyMap | undefined; resolveServiceTier?: (responseServiceTier: ResponseCreateParamsStreaming["service_tier"] | undefined, requestServiceTier: ResponseCreateParamsStreaming["service_tier"] | undefined) => ResponseCreateParamsStreaming["service_tier"] | undefined; applyServiceTierPricing?: (usage: Usage, serviceTier: ResponseCreateParamsStreaming["service_tier"] | undefined) => void; onOutputItemDone?: (item: unknown) => void; } interface ConvertResponsesMessagesOptions { includeSystemPrompt?: boolean | undefined; grammarToolInputProperties?: ReadonlyMap | undefined; supportsMidConvoSystemMessages?: boolean | undefined; supportsAdditionalTools?: boolean | undefined; supportsToolSearch?: boolean | undefined; toolOptions?: ConvertResponsesToolsOptions | undefined; } interface ConvertResponsesToolsOptions { strict?: boolean | null | undefined; supportsStrictMode?: boolean | undefined; supportsOpenAIGrammarTools?: boolean | undefined; toolSearchResult?: boolean | undefined; } export declare const CODEX_TOOL_CALL_PROVIDERS: Set; export declare function convertResponsesMessages(model: Model, context: TranscriptContext, allowedToolCallProviders: ReadonlySet, options?: ConvertResponsesMessagesOptions): ResponseInput; export declare function convertResponsesTools(tools: readonly Tool[], options?: ConvertResponsesToolsOptions): OpenAITool[]; export { processResponsesStream } from "./stream.ts";