import type { VaultPaths } from "../vault.js"; import { type ChildResult } from "./process.js"; export interface GitStatus { readonly branch?: string; readonly upstream?: string; readonly ahead: number; readonly behind: number; readonly clean: boolean; readonly diverged: boolean; readonly raw: string; } export interface GitPushResult { readonly ok: boolean; readonly status: GitStatus; readonly output: string; readonly error?: string; } export interface GitCheckpointResult { readonly committed: boolean; readonly commitId?: string; readonly subject: string; } export declare function initializeRepository(paths: VaultPaths): void; export declare function runGit(paths: VaultPaths, args: readonly string[], timeoutMs?: number): Promise; export declare function runGitSync(paths: VaultPaths, args: readonly string[], timeoutMs?: number): ChildResult; export declare function parseGitStatus(raw: string): GitStatus; export declare function gitStatus(paths: VaultPaths): GitStatus; export declare function localCheckpointCommit(paths: VaultPaths, subject: string, excludedPaths?: readonly string[]): GitCheckpointResult; export declare function safePush(paths: VaultPaths, remote?: string, branch?: string): GitPushResult; export declare function gitDependencyIdentity(paths: VaultPaths): { readonly executable: string; readonly version: string; readonly workTree: boolean; }; //# sourceMappingURL=git.d.ts.map