import { type Api, type AssistantMessageEventStream, type Context, type Model, type Transport } from "@earendil-works/pi-ai"; import type { CodexConversionConfig } from "../../adapter/activation/config.ts"; import { type CodexTurnState } from "./turn-state.ts"; import type { CodexDiagnosticsSink, CodexProviderStreamOptions, OpenAICodexStreamOptions, ResponsesBody } from "./types.ts"; export type CodexProviderRuntimeConfig = Pick & Partial>; export interface CodexTransportRecoveryDependencies { getConfig?: () => CodexProviderRuntimeConfig | undefined; useResponsesLite?: (model: Model) => boolean; turnState?: CodexTurnState | undefined; onPreparedPayload?: ((payload: ResponsesBody) => void) | undefined; onStreamSettled?: () => void | undefined; getDiagnostics?: (() => CodexDiagnosticsSink | undefined) | undefined; prepareRequestBody: (model: Model, context: Context, options: OpenAICodexStreamOptions | undefined, responsesLite: boolean) => Promise; } export declare function getEffectiveCodexTransport(transport: Transport | undefined, config: Pick | undefined, sessionId?: string | undefined): Transport; export declare function createCodexTransportStream(model: Model, context: Context, options: CodexProviderStreamOptions | undefined, deps: CodexTransportRecoveryDependencies): AssistantMessageEventStream;