import type { ExtensionAPI, ExtensionContext, SessionBeforeCompactEvent, SessionEntry } from "@earendil-works/pi-coding-agent"; import { type Api, type Model } from "@earendil-works/pi-ai"; import { type LatestNativeCompactionResolution } from "./details-store.ts"; import { type ResponsesInputItem, type SerializeResponsesMessagesOptions } from "./serializer.ts"; import type { AdapterState } from "../activation/state.ts"; 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 handleCodexSessionBeforeCompact(event: SessionBeforeCompactEvent, ctx: ExtensionContext, state: AdapterState, pi: ExtensionAPI): Promise<{ cancel: boolean; compaction?: never; } | { cancel?: never; compaction: import("@earendil-works/pi-coding-agent").CompactionResult; } | undefined>; export declare function rewriteCodexCompactedProviderRequest(payload: unknown, ctx: ExtensionContext, state: AdapterState): Promise; export declare function injectPendingNativeWindowIntoPiCompactionRequest(payload: unknown, ctx: ExtensionContext, state: AdapterState): Promise;