import { IRange } from "../core/range.js"; export type DiffAlgorithmName = "legacy" | "advanced"; export interface IDiffComputationResult { quitEarly: boolean; changes: ILineChange[]; identical: boolean; moves: ITextMove[]; } export type ILineChange = [ originalStartLine: number, originalEndLine: number, modifiedStartLine: number, modifiedEndLine: number, charChanges: ICharChange[] | undefined ]; export type ICharChange = [ originalStartLine: number, originalStartColumn: number, originalEndLine: number, originalEndColumn: number, modifiedStartLine: number, modifiedStartColumn: number, modifiedEndLine: number, modifiedEndColumn: number ]; export type ITextMove = [ originalStartLine: number, originalEndLine: number, modifiedStartLine: number, modifiedEndLine: number, changes: ILineChange[] ]; export interface IUnicodeHighlightsResult { ranges: IRange[]; hasMore: boolean; nonBasicAsciiCharacterCount: number; invisibleCharacterCount: number; ambiguousCharacterCount: number; }