import { execFile } from "node:child_process"; declare const execFileAsync: typeof execFile.__promisify__; export type GitDiffSelection = "working" | "staged" | "commit" | "range"; export interface GitDiffFile { path: string; oldPath?: string; status: "modified" | "added" | "deleted" | "renamed" | "binary"; changedLines: number[]; deletedLines: number[]; } export interface GitDiffScope { selection: GitDiffSelection; base?: string; head?: string; files: GitDiffFile[]; patch: string; } export declare function resolveGitDiff(args: { cwd: string; selection?: GitDiffSelection; base?: string; head?: string; execFileImpl?: typeof execFileAsync; }): Promise; export declare function parseGitDiff(input: string): GitDiffFile[]; export {};