export interface ScheduledBackupInvocation { harnBin: string; ifStale: string; tags: readonly string[]; logFile: string; statusFile: string; } export interface ScheduledBackupStatus { exitCode: number; finishedAt: string; } export interface ScheduledBackupPlan { /** `disabled`: no schedule; `fresh`: local cache proves this host is current; `launch`: run the snapshot. */ action: "disabled" | "fresh" | "launch"; /** One line for the session context when the previous scheduled run failed. */ cue: string | null; invocation: ScheduledBackupInvocation | null; } export declare function scheduledBackupInvocation(coordRoot: string): ScheduledBackupInvocation | null; export declare function readScheduledBackupStatus(statusFile: string): ScheduledBackupStatus | null; /** * Decide what session start should do. The local host cache written by * `harn backup snapshot` is only an optimisation: when it is missing, stale, * or from another host, the launched command still asks restic. A failed * previous run always relaunches so a transient error heals on the next * session instead of waiting out the freshness window. */ export declare function planScheduledBackup(coordRoot: string, now?: number): ScheduledBackupPlan; /** Launch the configured SessionStart snapshot without extending hook latency. */ export declare function scheduleBackupSnapshot(coordRoot: string): { launched: boolean; cue: string | null; }; //# sourceMappingURL=backup-schedule.d.ts.map