import { type HarneryRegisteredStorageFamily } from "./contract.js"; import type { HarneryMaintenanceProvider } from "./maintenance.js"; export declare const STRUCTURED_LOG_RETENTION_SCOPE: "structured-log-retention"; export interface StructuredLogRetentionSegment { sequence: number; file: string; actual_bytes: number; content_sha256: string; sealed_at: string; age_expired: boolean; } export interface StructuredLogRetentionSnapshot { file: string; actual_bytes: number; recovery_breadcrumb: boolean; } export interface StructuredLogRetentionInspection { family_id: string; effective_policy: { max_bytes: number; max_age_ms: number; fingerprint: string; sources: { max_bytes: string; max_age_ms: string; }; } | null; usage: { managed_bytes: number; unmanaged_bytes: number; total_bytes: number; managed_files: number; unmanaged_files: number; }; pressure: { state: "within_budget" | "over_budget" | "unknown"; ratio: number | null; bytes_over: number | null; reason_codes: string[]; }; retention: { state: "active" | "blocked" | "unmanaged"; enforcement: "manual" | "none"; reason_codes: string[]; }; sealed_segments: StructuredLogRetentionSegment[]; obsolete_snapshots: StructuredLogRetentionSnapshot[]; } /** Read-only, non-creating inspection for command and maintenance callers. */ export declare function inspectStructuredLogRetention(family: HarneryRegisteredStorageFamily, now?: Date): StructuredLogRetentionInspection; export declare function createStructuredLogRetentionProvider(family: HarneryRegisteredStorageFamily): HarneryMaintenanceProvider; //# sourceMappingURL=log-retention.d.ts.map