export interface GitState { readonly commit: string | null; readonly uncommittedChanges: boolean; } /** * Short HEAD commit and whether the work tree differs from it. The record file * itself is ignored, since earlier records always leave it modified. Outside a * repo (or before the first commit) the commit is null. */ export declare function readGitState(cwd: string, signal?: AbortSignal): Promise; /** * Whether the project has visibly moved on since a record was written: a * different HEAD, or local edits on a tree that was clean when checked. Edits * on top of an already-dirty tree can't be told apart, so this can miss * changes but never invents one. Unknown live state means "not changed". */ export declare function changedSinceCheck(recorded: { readonly checkedAt: string | null; } & GitState, current: GitState | null): boolean;