import { type ExtensionAPI } from "@earendil-works/pi-coding-agent"; import { type Api, type Model, type TranscriptContext } from "@earendil-works/pi-ai"; import type { AgentMessage } from "@earendil-works/pi-agent-core"; import type { AdapterState } from "../../adapter/activation/state.ts"; import type { CodexUsageRecorder, OpenAICodexStreamOptions, ResponsesBody } from "../../providers/openai-codex/types.ts"; import type { createLazyCodexDiagnostics } from "../../diagnostics/lazy.ts"; import type { CodexContext, CodexPrewarmResult } from "../runtime.ts"; export declare function createCodexExtensionTransport(pi: ExtensionAPI, state: AdapterState, diagnostics: ReturnType, projectContextMessages: (ctx: CodexContext, messages?: readonly AgentMessage[]) => AgentMessage[], recordUsage?: CodexUsageRecorder): { prepareTurn(ctx: import("@earendil-works/pi-coding-agent").ExtensionContext): void; suspendOrdinaryPrewarm(): void; finishTurn(): void; beforeRequestSend(model: Model, context: TranscriptContext, body: ResponsesBody, options: OpenAICodexStreamOptions | undefined, responsesLite: boolean): Promise; startKeepalivePrewarm(ctx: import("@earendil-works/pi-coding-agent").ExtensionContext): Promise | undefined; armCacheKeepalive(ctx: import("@earendil-works/pi-coding-agent").ExtensionContext): void; cancelCacheKeepalive(): void; resetTransport(sessionId: string | undefined): void; resetTransportForContextWindow(sessionId: string): void; shutdownTransport(sessionId: string): void; };