export declare const isGitRepo: (root: string) => boolean; /** * Stops git tracking files it once committed, keeping the working copies. A * gitignore written after the fact does not untrack anything, so an old * events.jsonl rides in every diff and every commit otherwise. Only files * under .oh-my-plumb are eligible, so a wrong path here cannot untrack a * source file. Returns the paths it untracked; absent git, an empty list. */ export declare const untrackIgnored: (root: string, relativePaths: readonly string[]) => string[]; export type FileDiff = { file: string; text: string; }; /** Splits a unified diff into per-file hunk text, dropping generated, binary and excluded files. */ export declare const splitDiff: (patch: string) => FileDiff[]; export type HistoryHunk = { commit: string; subject: string; file: string; text: string; }; export type HistoryCommit = { commit: string; subject: string; files: string[]; fileDiffs: FileDiff[]; }; /** Recent real changes from this repository's history, for calibration. */ export declare const recentHistory: (root: string, wantHunks: number, wantCommits: number) => { hunks: HistoryHunk[]; commits: HistoryCommit[]; }; /** Uncommitted changes, including staged, as one patch. */ export declare const workingTreeDiff: (root: string, paths: readonly string[]) => string; /** * A tree object for the working tree as it stands now, untracked files * included and ignored files excluded, without touching the real index. The * real index is copied first so `add -A` only has to look at what changed. */ export declare const snapshotTree: (root: string, scratchIndex: string, timeoutMs: number) => string | undefined; /** Blob id per file in a tree; absent files are left out, undefined if git did not answer in time. */ export declare const blobIdsAt: (root: string, tree: string, files: readonly string[], timeoutMs: number) => Map | undefined; /** Everything that changed between two snapshots, as one patch. */ export declare const diffTrees: (root: string, base: string, now: string, timeoutMs: number) => string | undefined; //# sourceMappingURL=git.d.ts.map