import { EndOfLine, Position, Range, Selection } from '../../../../common/vscode/ext-types';
import type vscode from 'vscode';
export interface ITextEditOperation {
    range: Range;
    text: string | null;
    forceMoveMarkers: boolean;
}
export interface IEditData {
    documentVersionId: number;
    edits: ITextEditOperation[];
    setEndOfLine: EndOfLine | undefined;
    undoStopBefore: boolean;
    undoStopAfter: boolean;
}
export declare class TextEditorEdit {
    private readonly _document;
    private readonly _documentVersionId;
    private _collectedEdits;
    private _setEndOfLine;
    private readonly _undoStopBefore;
    private readonly _undoStopAfter;
    constructor(document: vscode.TextDocument, options: {
        undoStopBefore: boolean;
        undoStopAfter: boolean;
    });
    finalize(): IEditData;
    replace(location: Position | Range | Selection, value: string): void;
    insert(location: Position, value: string): void;
    delete(location: Range | Selection): void;
    private _pushEdit;
    setEndOfLine(endOfLine: EndOfLine): void;
}
//# sourceMappingURL=edit.builder.d.ts.map