import { type LedgerKindName } from "../registry/ledger-registry.js"; import { type PublishedMachineSnapshot } from "../yon/machine-ledger.js"; export type LedgerName = LedgerKindName | "sync"; export declare const KNOWN_LEDGERS: ReadonlyArray; export interface HousekeepArgs { vault?: string; vaultRid?: string; ledger?: LedgerName; rotateNow?: boolean; dryRun?: boolean; nowIso?: string; retentionDays?: number | "never"; machineId?: string; publishedMachineSnapshot?: GcPublishedMachineSnapshot; verifyPublishedSnapshot?: () => Promise; } export interface GcPublishedMachineSnapshot extends PublishedMachineSnapshot { canonicalUrl: string; canonicalRepository: string; canonicalRef: string; priorCommitOid: string; priorMachineIds: string[]; } export interface HousekeepRotationReport { vaultName: string; vaultPath: string; ledger: LedgerName; ledgerPath: string; fromMonth: string | null; toMonth: string; archivedPath: string | null; outcome: "rotated" | "skipped-same-month" | "skipped-empty" | "skipped-no-header" | "skipped-missing" | "would-rotate" | "would-rotate-now"; } export interface HousekeepResult { rotations: HousekeepRotationReport[]; dryRun: boolean; scannedVaults: string[]; scannedLedgers: LedgerName[]; gc: HousekeepGcReport[]; } export interface HousekeepGcReport { vaultName: string; path: string; outcome: "deleted" | "would-delete" | "retained-recent" | "retained-unsafe"; reason?: string; } export declare function housekeepFlow(args?: HousekeepArgs): Promise; //# sourceMappingURL=housekeep.d.ts.map