/** * Reading many file blobs at a git ref, in one subprocess. * * `git show ref:path` per file is the obvious way and the slow one: on a real repository the spawns * dominate everything else. `git cat-file --batch` answers the whole list over one pipe, correlating * each reply to the fed path BY ORDER (a `missing` reply advances the cursor with no body). The * batch read rejects on any protocol or size violation, and the per-file reader stays as the * correctness fallback, so the fast path is never load-bearing. * * Shared by the merge-semantic certificate (a whole tree at a ref) and the phantom-reference check * (the base revision of a diff's files). */ /** * Read many blobs at a ref in ONE `git cat-file --batch`, correlating each reply to the fed path by * ORDER (a `missing` reply advances the cursor with no body). Replaces one `git show` subprocess * per file, the dominant cost on a real repo. Rejects on a protocol or size violation, which the * caller turns into a per-file fallback, so this fast path is never load-bearing for correctness. */ export declare function readBlobsAtRef(absDir: string, ref: string, paths: readonly string[]): Promise>; /** Per-file `git show` — the correctness fallback when the batch read fails. */ export declare function readBlobsPerFile(absDir: string, ref: string, paths: readonly string[]): Promise>; //# sourceMappingURL=git-blobs.d.ts.map