/*!
 * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
 * Licensed under the MIT License.
 */
import { ISummaryTree } from "@fluidframework/protocol-definitions";
import { IMergeTreeOptions } from "../mergeTree";
import { PropertySet } from "../properties";
import { ISegment } from "../mergeTreeNodes";
import { TestClient } from "./testClient";
export declare function loadSnapshot(summary: ISummaryTree, options?: IMergeTreeOptions): Promise<TestClient>;
export declare class TestString {
    private readonly options?;
    private client;
    private readonly pending;
    private seq;
    private minSeq;
    constructor(id: string, options?: IMergeTreeOptions | undefined, initialState?: string);
    insert(pos: number, text: string, increaseMsn: boolean): void;
    annotate(start: number, end: number, props: PropertySet, increaseMsn: boolean): void;
    append(text: string, increaseMsn: boolean): void;
    insertMarker(pos: number, increaseMsn: boolean): void;
    appendMarker(increaseMsn: boolean): void;
    removeRange(start: number, end: number, increaseMsn: boolean): void;
    obliterateRange(start: number, end: number, increaseMsn: boolean): void;
    expect(expected: string): Promise<void>;
    checkSnapshot(options?: IMergeTreeOptions): Promise<void>;
    getSummary(): ISummaryTree;
    getText(): string;
    applyPendingOps(): void;
    private queue;
    getSegment(pos: number): ISegment;
}
//# sourceMappingURL=snapshot.utils.d.ts.map