export type GitErrorKind = 'unreachable' | 'lock' | 'conflict' | 'other'; export interface GitRunResult { code: number; stdout: string; stderr: string; } export declare const classifyGitError: (stderr: string) => GitErrorKind; export declare class GitError extends Error { readonly kind: GitErrorKind; readonly stderr: string; readonly code: number; constructor(result: GitRunResult); } export interface SyncGit { exec(args: string[], opts?: { timeoutMs?: number; }): Promise; run(args: string[], opts?: { timeoutMs?: number; }): Promise; } export declare const createSyncGit: (cwd: string) => SyncGit;