export interface LyraDiffOp{type:'equal'|'add'|'remove';text:string;} /** * A real line-level diff using Hirschberg's linear-space longest-common-subsequence algorithm -- * not a lexical/syntax-highlighting pass, and not "every removed line then every added line." * Runtime remains O(n*m), while peak working memory is linear rather than an eager * `(oldLines.length + 1) × (newLines.length + 1)` JavaScript-number matrix. */ export declare function computeLineDiff(oldLines:string[],newLines:string[]):LyraDiffOp[];export interface LyraDiffSplitRow{left:LyraDiffOp|null;right:LyraDiffOp|null;} /** * Regroups an already-computed `LyraDiffOp[]` (never re-diffs) into side-by-side rows: consecutive * `remove`s buffer on the left, consecutive `add`s buffer on the right, and an `equal` op (or the * end of the stream) flushes both buffers paired index-wise -- the k-th removed line beside the * k-th added line, with the longer run's tail paired against `null` (rendered as an empty * placeholder cell, never carrying a `+`/`-` prefix). An `equal` op renders identically on both * sides. */ export declare function pairOpsForSplit(ops:LyraDiffOp[]):LyraDiffSplitRow[];