import type { ExtensionAPI, ExtensionContext } from "@earendil-works/pi-coding-agent"; import type { CodeModeRegistration } from "../tools/code-mode/tools.ts"; import type { CodexExtensionRuntime } from "./runtime.ts"; import type { SessionBeforeCompactEvent, SessionCompactEvent, SessionBeforeCompactResult } from "@earendil-works/pi-coding-agent"; export declare function createCodexCompactionLifecycle(pi: ExtensionAPI, runtime: CodexExtensionRuntime, codeMode: CodeModeRegistration, refreshNotebookStatus: (ctx: ExtensionContext) => Promise): { beforeCompact: (event: SessionBeforeCompactEvent, ctx: ExtensionContext) => Promise; failed: () => Promise; compacted: (event: SessionCompactEvent, ctx: ExtensionContext) => Promise; };