export declare const GIT_STATE_SCHEMA = "humanish.git-state.v1"; export type GitStateStatus = "clean" | "dirty" | "missing" | "unavailable"; export type GitRefState = "attached" | "detached" | "unborn" | "unknown"; export interface GitStateChangeSummary { staged: number; unstaged: number; untracked: number; total: number; } export interface CapturedGitState { schema: typeof GIT_STATE_SCHEMA; status: GitStateStatus; capturedAt: string; head: { shortSha: string | null; refState: GitRefState; }; changes: GitStateChangeSummary; note: string; } export interface GitCommandResult { exitCode: number | null; stdout: string; stderr: string; timedOut?: boolean; } export type GitCommandRunner = (args: string[], cwd: string) => Promise; export declare function captureGitState(cwd: string, options?: { capturedAt?: Date | string; commandTimeoutMs?: number; runner?: GitCommandRunner; }): Promise; export declare function summarizePorcelainStatus(output: string): GitStateChangeSummary;