/*!
 * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
 * Licensed under the MIT License.
 */
import { Delta, FieldKey, IEditableForest, IForestSubscription, InMemoryStoredSchemaRepository, IRepairDataStoreProvider, ITreeCursorSynchronous, RepairDataStore, RevisionTag, UpPath } from "../core";
export declare class ForestRepairDataStore<TChange> implements RepairDataStore<TChange> {
    private readonly forest;
    private readonly intoDelta;
    private readonly root;
    constructor(forest: IForestSubscription, intoDelta: (change: TChange) => Delta.Root);
    capture(change: TChange, revision: RevisionTag): void;
    getNodes(revision: RevisionTag, path: UpPath | undefined, field: FieldKey, index: number, count: number): ITreeCursorSynchronous[];
}
export declare class ForestRepairDataStoreProvider<TChange> implements IRepairDataStoreProvider<TChange> {
    private readonly forest;
    private readonly storedSchema;
    private readonly intoDelta;
    private frozenForest;
    constructor(forest: IEditableForest, storedSchema: InMemoryStoredSchemaRepository, intoDelta: (change: TChange) => Delta.Root);
    freeze(): void;
    applyChange(change: TChange): void;
    createRepairData(): ForestRepairDataStore<TChange>;
    clone(forest?: IEditableForest): ForestRepairDataStoreProvider<TChange>;
}
//# sourceMappingURL=forestRepairDataStore.d.ts.map