/*!
 * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
 * Licensed under the MIT License.
 */
import type { IFluidDataStoreRuntime, IChannelStorageService } from "@fluidframework/datastore-definitions/internal";
import type { ISequencedDocumentMessage } from "@fluidframework/driver-definitions/internal";
import type { IFluidSerializer } from "@fluidframework/shared-object-base/internal";
import { type ITelemetryLoggerExt } from "@fluidframework/telemetry-utils/internal";
import type { Client } from "./client.js";
import type { MergeTree } from "./mergeTree.js";
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: ITelemetryLoggerExt, serializer: IFluidSerializer);
    initialize(services: IChannelStorageService): Promise<{
        catchupOpsP: Promise<ISequencedDocumentMessage[]>;
    }>;
    private loadBodyAndCatchupOps;
    private readonly specToSegment;
    private loadHeader;
    private loadBody;
    private extractAttribution;
    /**
     * If loading from a snapshot, get the catchup messages.
     * @param rawMessages - The messages in original encoding
     * @returns The decoded messages with parsed+hydrated handles.  Matches the format that will be passed in
     * SharedObject.processCore.
     */
    private loadCatchupOps;
}
//# sourceMappingURL=snapshotLoader.d.ts.map