export type DiffOp = "context" | "add" | "del"; export interface DiffLine { readonly op: DiffOp; readonly text: string; readonly oldLine?: number | undefined; readonly newLine?: number | undefined; } export interface DiffHunk { readonly oldStart: number; readonly newStart: number; readonly lines: readonly DiffLine[]; } export interface DeletedSegment { readonly atNewLine: number; readonly oldStart: number; readonly lines: readonly string[]; } export declare const DIFF_MAX_LINES = 20000; export declare const PREVIEW_MAX_DIFF_LINES = 40; export declare const PREVIEW_CONTEXT = 1; export declare function computeLineOps(oldLines: readonly string[], newLines: readonly string[]): DiffLine[]; export declare function wholeFileReplace(oldLines: readonly string[], newLines: readonly string[]): DiffLine[]; export declare function groupHunks(ops: readonly DiffLine[], context?: number): DiffHunk[]; export declare function capPreviewHunks(hunks: readonly DiffHunk[], maxLines?: number): { hunks: DiffHunk[]; truncated: boolean; omittedLines: number; }; export declare function countOps(ops: readonly DiffLine[]): { added: number; removed: number; }; export declare function collectAddedNewLines(ops: readonly DiffLine[]): number[]; export declare function collectDeletedAt(ops: readonly DiffLine[]): DeletedSegment[];