export type ReviewGitTarget = { readonly kind: "working-tree"; } | { readonly kind: "staged"; } | { readonly kind: "untracked"; } | { readonly kind: "commit"; readonly ref: string; } | { readonly kind: "range"; readonly from: string; readonly to: string; readonly symmetric: boolean; }; export interface CollectedGitContext { readonly targets: readonly ReviewGitTarget[]; readonly text: string; } export type GitRunner = (executable: string, args: readonly string[], cwd: string, env: NodeJS.ProcessEnv) => Promise<{ stdout: string; stderr: string; exitCode: number; }>; export declare function serializeGitTarget(target: ReviewGitTarget): string; export declare function parseGitTarget(value: string): ReviewGitTarget; export declare function parseGitTargets(values: readonly string[]): ReviewGitTarget[]; export declare function inferGitTargets(prompt: string): ReviewGitTarget[]; export declare function resolveReviewGitTargets(explicit: readonly string[] | undefined, prompt: string, requiresGit: boolean): ReviewGitTarget[]; export declare function validatedRef(value: string): string; export declare function gitInspectEnvironment(): NodeJS.ProcessEnv; export declare function resolveGitExecutable(selectedPath?: string): Promise; export declare function defaultGitRunner(executable: string, args: readonly string[], cwd: string, env: NodeJS.ProcessEnv, timeoutMs?: number): Promise<{ stdout: string; stderr: string; exitCode: number; }>; export declare function collectGitContext(sourceDir: string, targets: readonly ReviewGitTarget[], options?: { readonly gitExecutable?: string; readonly runner?: GitRunner; }): Promise; //# sourceMappingURL=git-inspect.d.ts.map