import type { ExtensionAPI, ExtensionContext, SessionEntry } from "@earendil-works/pi-coding-agent"; import { type Api, type Model, type TranscriptContext } from "@earendil-works/pi-ai"; import type { LatestNativeCompactionResolution } from "./details-store.ts"; import { type NativeCompactionRequestOptions, type ResponsesInputItem, type SerializeResponsesMessagesOptions } from "./serializer.ts"; import type { AdapterState } from "../activation/state.ts"; export declare function buildCompactionRequestOptions(pi: ExtensionAPI, ctx: ExtensionContext, state: AdapterState, compactionTargetModel: Model, codeMode: boolean, branchEntries: SessionEntry[]): NativeCompactionRequestOptions; export declare function buildCompactionTranscript(pi: ExtensionAPI, ctx: ExtensionContext, state: AdapterState, runtime: { provider: string; api: string; model: string; baseUrl: string; }, transport: "responses" | "responses-lite", codeMode: boolean, branchEntries: SessionEntry[]): TranscriptContext; export declare function buildNativeCompactionInput(args: { model: Model; branchEntries: SessionEntry[]; allEntries: SessionEntry[]; leafId?: string | null | undefined; latestNativeCompaction: LatestNativeCompactionResolution; serializationOptions?: SerializeResponsesMessagesOptions | undefined; }): { input: ResponsesInputItem[]; compactedKeptWindow: boolean; } | undefined; export declare function resolveCanonicalCompactionReplay(args: { codeMode: boolean; sessionId: string; model: string; identity?: { url: string; accountId: string; } | undefined; reconstructedInput: readonly ResponsesInputItem[]; }): Promise<{ input?: unknown[] | undefined; decision: import("./diagnostics.ts").CodexCompactionReplayDecision; }>;