/** Bounded retention for complete, closed Event Ledger V3 epochs. */ import { type EventLedgerArchivePolicy } from "../../config.js"; export type EventV3ArchiveClassification = "retained" | "expired" | "over-budget" | "protected-minimum" | "unmanaged" | "symlink" | "unknown"; export interface EventV3ArchiveEntry { name: string; path: string; relative_path: string; classification: EventV3ArchiveClassification; reason: string; action: "keep" | "would-delete" | "deleted"; bytes: number | null; last_modified_at: string | null; } export interface EventV3ArchiveAutoCleanResult { ran: boolean; reason: "swept" | "disabled" | "fresh" | "no-root"; deleted: number; bytes: number; } export declare function eventV3ArchivesRoot(repoRoot: string): string; export declare function inventoryEventV3Archives(repoRoot: string, opts?: { now?: Date; policy?: EventLedgerArchivePolicy; }): EventV3ArchiveEntry[]; export declare function cleanEventV3Archives(repoRoot: string, opts?: { yes?: boolean; now?: Date; policy?: EventLedgerArchivePolicy; }): EventV3ArchiveEntry[]; export declare function autoCleanEventV3Archives(repoRoot: string, opts?: { now?: Date; }): EventV3ArchiveAutoCleanResult; //# sourceMappingURL=archive-retention.d.ts.map