import { Length } from "./length.js"; import { IModelContentChange } from "../../mirrorTextModel.js"; export declare class TextEditInfo { readonly startOffset: Length; readonly endOffset: Length; readonly newLength: Length; static fromModelContentChanges(changes: IModelContentChange[]): TextEditInfo[]; constructor(startOffset: Length, endOffset: Length, newLength: Length); toString(): string; } export declare class BeforeEditPositionMapper { private nextEditIdx; private deltaOldToNewLineCount; private deltaOldToNewColumnCount; private deltaLineIdxInOld; private readonly edits; /** * @param edits Must be sorted by offset in ascending order. */ constructor(edits: readonly TextEditInfo[]); /** * @param offset Must be equal to or greater than the last offset this method has been called with. */ getOffsetBeforeChange(offset: Length): Length; /** * @param offset Must be equal to or greater than the last offset this method has been called with. * Returns null if there is no edit anymore. */ getDistanceToNextChange(offset: Length): Length | null; private translateOldToCur; private translateCurToOld; private adjustNextEdit; }