export type RestartKind = 'manual' | 'update';
export interface RestartIntent {
    kind: RestartKind;
    /** Present for kind==='update': the changelog/version delta to report. */
    oldVersion?: string;
    newVersion?: string;
    /** ISO 8601 timestamp the breadcrumb was written. */
    at: string;
}
/** Breadcrumbs older than this are stale (an aborted/failed restart left it)
 *  and never produce a report. */
export declare const RESTART_INTENT_FRESH_MS: number;
export declare function restartIntentPathIn(dir: string): string;
export declare function writeRestartIntentTo(dir: string, intent: RestartIntent): void;
/** Read + delete the breadcrumb. Always deletes (fresh, stale, or corrupt) so
 *  it fires at most once and never lingers into a later restart. Returns the
 *  intent only when it is fresh. */
export declare function consumeRestartIntentTo(dir: string, nowMs: number): RestartIntent | null;
/** Write a `manual` breadcrumb only when no *fresh* breadcrumb already exists —
 *  so a maintenance-written `update` breadcrumb is not clobbered
 *  by the `botmux restart` it spawns. */
export declare function writeManualIntentIfAbsentTo(dir: string, nowMs: number, atIso: string): void;
export declare function writeRestartIntent(intent: RestartIntent): void;
export declare function consumeRestartIntent(nowMs?: number): RestartIntent | null;
export declare function writeManualIntentIfAbsent(nowMs?: number): void;
//# sourceMappingURL=restart-intent-store.d.ts.map