import type { SprintGitEnd, SprintGitStart } from '../types'; /** * Read-only git capture for sprint traceability. Every function returns null instead of * throwing: outside a repository, without git, before the first commit, or on any git error. * Planning and closing must never fail because of git (R4). */ export interface GitHead { /** Current branch, or null when HEAD is detached. */ branch: string | null; commit: string; } /** HEAD commit and branch, or null when there is no repository, no commit, or git fails. */ export declare function readGitHead(cwd?: string): GitHead | null; /** * True when tracked or untracked non-ignored files outside Kyro-managed paths have uncommitted * changes. Kyro-managed: the workspace's `.agents/kyro/` and the state-writer lock (and its * reclaim leftovers) at the workspace root, held while a close runs. Null when git cannot answer. */ export declare function hasUncommittedChangesOutsideKyro(cwd?: string): boolean | null; /** Why capture returned null, in the same words for plan and close output. */ export declare function describeMissingGitCapture(cwd?: string): string; /** Git position for `activeSprint.git`, or null when it cannot be captured. */ export declare function captureSprintGitStart(cwd?: string): SprintGitStart | null; /** Git position for the frozen `close.git` input, or null when it cannot be captured. */ export declare function captureSprintGitEnd(cwd?: string): SprintGitEnd | null; //# sourceMappingURL=git-capture.d.ts.map