import type { GitChangedFile, GitChurnSort, GitChurnSummary, GitCochangeAggregationOptions, GitCochangeSummary, GitCommit, GitDiffHunks, GitNumstat, GitRange } from './types.js';
export interface GitLogNumstatRecord {
    commit: GitCommit;
    numstat: GitNumstat[];
}
export declare class GitParseError extends Error {
    constructor(message: string);
}
export declare function splitNul(input: Buffer): Buffer[];
export declare function decodeGitPath(input: Buffer | string): string;
export declare function parseNameStatusZ(_input: Buffer): GitChangedFile[];
export declare function parseNumstatZ(_input: Buffer): GitNumstat[];
export interface ParseDiffPatchHunksOptions {
    includeLineText?: boolean;
}
export declare function parseDiffPatchHunks(_patch: string, _range: GitRange, _options?: ParseDiffPatchHunksOptions): GitDiffHunks;
export declare function parseLogRecords(_input: Buffer): GitCommit[];
export declare function parseLogNumstatZ(_input: Buffer): GitLogNumstatRecord[];
export declare function aggregateChurn(_records: readonly GitLogNumstatRecord[], _range: GitRange, _sortedBy?: GitChurnSort): GitChurnSummary;
export declare function aggregateCochange(_records: readonly GitLogNumstatRecord[], _range: GitRange, _options?: GitCochangeAggregationOptions): GitCochangeSummary;
