import type { ChatMessage } from "../../types.js"; import type { OutcomeEnvelope } from "../outcomes.js"; import type { SessionPlan } from "../../store/plan.js"; import { type WorkLedger } from "../durable-envelope.js"; export interface CompactionEnvelopeJob { readonly id: string; readonly status: string; readonly command: string; readonly commandDisplay: string; readonly taskId?: string | undefined; readonly stdoutArtifact?: string | undefined; } export interface CompactionDurableEnvelopePorts { readonly messages: readonly ChatMessage[]; readonly outcome: OutcomeEnvelope; readonly ledger: WorkLedger; readonly loadPlan: () => Promise; readonly getProjectRoot: () => string | undefined; readonly detectPackageManager: (root: string) => string | undefined; readonly getUnreadNotificationIds: () => readonly string[]; readonly getRunningJobs: () => readonly CompactionEnvelopeJob[]; readonly getRecentJobs: () => readonly CompactionEnvelopeJob[]; } export declare const createCompactionDurableEnvelopeBuilder: (ports: CompactionDurableEnvelopePorts) => () => Promise;