/** * Shared LCS DP table for diff-engine + diff-summary. * * Uses a single packed `Uint32Array` of size (m+1) * (n+1). Indexed as * `i * (n + 1) + j`. LCS length is bounded by `Math.min(m, n)`. * * Why Uint32Array (not Uint16Array): the line-granularity path is bounded * by `DIFF_LINE_CAP=5000` which fits in 16 bits, but the word-granularity * path tokenises both sides and can produce >65535 matching tokens. A * 16-bit table silently wrapped at 65536, producing a mathematically WRONG * LCS with NO error and NO truncation signal — see PR #89 sec+perf * review. Uint32Array removes the footgun outright; the perf delta versus * Uint16Array is negligible on modern CPUs. * * Why packed: the prior 2D JS array allocates (m+1) sub-arrays of boxed * numbers — at 5000-cap that's 25M boxed values across 5001 arrays. A * single typed array is ~8x faster on the same shape and far easier on GC. */ export declare function computeLcsTable(oldLines: string[], newLines: string[]): Uint32Array; /** Index helper kept inline-able for hot loops, but exported for callers that prefer it. */ export declare function lcsAt(dp: Uint32Array, i: number, j: number, stride: number): number; //# sourceMappingURL=lcs.d.ts.map