import { IModelChangedEvent } from '../../../../common/vscode';
import { Uri } from '../../../../common/vscode/ext-types';
import { PrefixSumComputer } from './prefixSumComputer';
export declare class MirrorTextModel {
    protected _uri: Uri;
    protected _lines: string[];
    protected _eol: string;
    protected _versionId: number;
    protected _lineStarts: PrefixSumComputer | null;
    constructor(uri: Uri, lines: string[], eol: string, versionId: number);
    dispose(): void;
    get version(): number;
    getText(): string;
    onEvents(e: IModelChangedEvent): void;
    protected _ensureLineStarts(): void;
    /**
     * All changes to a line's text go through this method
     */
    private _setLineText;
    private _acceptDeleteRange;
    private _acceptInsertText;
}
//# sourceMappingURL=mirror.d.ts.map