import type { RepoReaderOptions } from "./contract.js"; export interface GitResult { /** True when git exited 0. A non-zero exit is an answer ("no such revision"), not a failure. */ ok: boolean; stdout: string; stderr: string; } /** * Runs a read-only git command in `cwd`. * * Rejects only when git could not be run at all — a missing binary, a signal. An exit code is * reported in `ok`, because the callers of this module treat "not a repository", "no commits yet" * and "unknown revision" as facts to report rather than errors to raise. */ export declare function runGit(cwd: string, args: readonly string[], options?: RepoReaderOptions): Promise; interface NormalizedOptions { timeoutMs: number; signal?: AbortSignal | undefined; } export declare function normalizeGitOptions(options: RepoReaderOptions): NormalizedOptions; export {};