/*!
 * 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, Value } from "../core";
export declare class ForestRepairDataStore implements RepairDataStore {
    private readonly forestProvider;
    private readonly root;
    constructor(forestProvider: (revision: RevisionTag) => IForestSubscription);
    capture(change: Delta.Root, revision: RevisionTag): void;
    getNodes(revision: RevisionTag, path: UpPath | undefined, field: FieldKey, index: number, count: number): ITreeCursorSynchronous[];
    getValue(revision: RevisionTag, path: UpPath): Value;
}
export declare function repairDataStoreFromForest(forest: IForestSubscription): ForestRepairDataStore;
export declare class ForestRepairDataStoreProvider implements IRepairDataStoreProvider {
    private readonly forest;
    private readonly storedSchema;
    private frozenForest;
    constructor(forest: IEditableForest, storedSchema: InMemoryStoredSchemaRepository);
    freeze(): void;
    applyDelta(change: Delta.Root): void;
    createRepairData(): ForestRepairDataStore;
    clone(forest?: IEditableForest): ForestRepairDataStoreProvider;
}
//# sourceMappingURL=forestRepairDataStore.d.ts.map