import IMark from './IMark';
import SpanData from './SpanData';
export interface IManuscript {
    readonly baseText: string;
    selection: [number, number] | null;
}
export default class Manuscript implements IManuscript {
    private text;
    private layers;
    private depotBatchSize;
    private spanBatchArray;
    private selectionCharRange;
    constructor(text: string, marks: IMark[], batchSize?: number);
    get baseText(): string;
    get batchSize(): number;
    set batchSize(val: number);
    get selection(): [number, number] | null;
    set selection(newSelection: [number, number] | null);
    private setSelection;
    get spanBatches(): SpanData[][];
    resetSpans(): void;
    changeMarks(newMarks: IMark[], immediate?: boolean): void;
    implementPatch(): void;
    setMetaStrings(metaStrings: [string, number][], immediate?: boolean): void;
}
