/*!
 * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
 * Licensed under the MIT License.
 */
import { IFluidSerializer } from "@fluidframework/core-interfaces";
import { ISequencedDocumentMessage } from "@fluidframework/protocol-definitions";
import { IFluidDataStoreRuntime, IChannelStorageService } from "@fluidframework/datastore-definitions";
import { ITelemetryLogger } from "@fluidframework/common-definitions";
import { Client } from "./client";
import { MergeTree } from "./mergeTree";
export declare class SnapshotLoader {
    private readonly runtime;
    private readonly client;
    private readonly mergeTree;
    private readonly serializer;
    private readonly logger;
    constructor(runtime: IFluidDataStoreRuntime, client: Client, mergeTree: MergeTree, logger: ITelemetryLogger, serializer: IFluidSerializer);
    initialize(services: IChannelStorageService): Promise<{
        catchupOpsP: Promise<ISequencedDocumentMessage[]>;
    }>;
    private loadBodyAndCatchupOps;
    private readonly specToSegment;
    private loadHeader;
    private loadBody;
    /**
     * If loading from a snapshot, get the catchup messages.
     * @param rawMessages - The messages in original encoding
     * @returns The decoded messages, but handles aren't parsed.  Matches the format that will be passed in
     * SharedObject.processCore.
     */
    private loadCatchupOps;
}
//# sourceMappingURL=snapshotLoader.d.ts.map