import type { ArtifactRetentionConfig } from "@mono-agent/config"; import type { MemoryForgetBackupRetentionOptions } from "@mono-agent/memory/bujo"; import type { PruneRunArtifactsResult, RunArtifactScope } from "@mono-agent/observability"; export declare const DEFAULT_ARTIFACT_RETENTION_SWEEP_INTERVAL_MS: number; interface ArtifactRetentionLogger { readonly info?: (message: string, meta?: Record) => void; readonly warn?: (message: string, meta?: Record) => void; } export interface RunArtifactRetentionPassInput { readonly artifactDir: string; readonly retention: ArtifactRetentionConfig; readonly scope?: Extract; readonly logger?: ArtifactRetentionLogger; readonly clock?: () => number; readonly shouldContinue?: () => boolean; } export interface StartArtifactRetentionSchedulerInput extends RunArtifactRetentionPassInput { readonly memoryRetention?: ArtifactRetentionConfig; readonly memoryRoot?: string; /** Test seam for deterministic cancellation coverage. */ readonly forgetBackupRetentionHooks?: MemoryForgetBackupRetentionOptions["hooks"]; readonly sweepIntervalMs?: number; readonly beforeFirstRun?: () => Promise; readonly setInterval?: (callback: () => void, ms: number) => { readonly unref?: () => void; }; readonly clearInterval?: (handle: unknown) => void; } export interface RunningArtifactRetentionScheduler { readonly stop: () => void; readonly runNow: () => Promise; } export declare function runArtifactRetentionPass(input: RunArtifactRetentionPassInput): Promise; export declare function startArtifactRetentionScheduler(input: StartArtifactRetentionSchedulerInput): RunningArtifactRetentionScheduler; export {}; //# sourceMappingURL=artifact-retention.d.ts.map