/*!
 * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
 * Licensed under the MIT License.
 */
import { ITelemetryLogger } from "@fluidframework/common-definitions";
import { IFluidHandle } from "@fluidframework/core-interfaces";
import { IFluidSerializer } from "@fluidframework/shared-object-base";
import { ISummaryTreeWithStats } from "@fluidframework/runtime-definitions";
import { ISequencedDocumentMessage } from "@fluidframework/protocol-definitions";
import { MergeTree } from "./mergeTree";
import { IJSONSegment } from "./ops";
export declare class SnapshotLegacy {
    mergeTree: MergeTree;
    filename?: string | undefined;
    onCompletion?: (() => void) | undefined;
    static readonly header = "header";
    static readonly body = "body";
    private static readonly catchupOps;
    static readonly sizeOfFirstChunk: number;
    private header;
    private seq;
    private segments;
    private segmentLengths;
    private readonly logger;
    private readonly chunkSize;
    constructor(mergeTree: MergeTree, logger: ITelemetryLogger, filename?: string | undefined, onCompletion?: (() => void) | undefined);
    private getSeqLengthSegs;
    /**
     * Emits the snapshot to an ISummarizeResult. If provided the optional IFluidSerializer will be used when
     * serializing the summary data rather than JSON.stringify.
     */
    emit(catchUpMsgs: ISequencedDocumentMessage[], serializer: IFluidSerializer, bind: IFluidHandle): ISummaryTreeWithStats;
    extractSync(): IJSONSegment[];
}
//# sourceMappingURL=snapshotlegacy.d.ts.map