import type { GitRepository, GitRunner, HistoryLoadResult, NavigationState, SessionReader } from "./types.js"; export declare function historyDirectory(repository: GitRepository): string; export declare function historyPath(repository: GitRepository, sessionId: string): string; export declare function tombstonePath(repository: GitRepository, sessionIdOrHash: string): string; export declare function reconstructSessionHistory(reader: SessionReader): NavigationState; export declare function expireGitSessionHistories(repository: GitRepository, git: GitRunner, retentionDays: number, activeSessionHashes: ReadonlySet | (() => ReadonlySet)): Promise; export declare class SessionHistoryStore { private readonly sessionId; private readonly repository; private readonly git; constructor(sessionId: string, repository: GitRepository, git: GitRunner); load(reader: SessionReader): Promise; /** Rewrites the stored document with the original (unmapped) checkpoints * and a fresh lastAccessedAt, preserving schema migration. Skips the write * when a tombstone appeared mid-load so a completed expiration is never * resurrected. */ private refreshStoredTimestamp; save(state: NavigationState): Promise; }