/*!
 * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
 * Licensed under the MIT License.
 */
import type { IFluidHandle } from "@fluidframework/core-interfaces";
import type { ISequencedDocumentMessage } from "@fluidframework/driver-definitions/internal";
import type { ISummaryTreeWithStats } from "@fluidframework/runtime-definitions/internal";
import type { IFluidSerializer } from "@fluidframework/shared-object-base/internal";
import { type ITelemetryLoggerExt } from "@fluidframework/telemetry-utils/internal";
import type { MergeTree } from "./mergeTree.js";
import { type ISegmentPrivate } from "./mergeTreeNodes.js";
/**
 * @internal
 */
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 readonly logger;
    private readonly chunkSize;
    constructor(mergeTree: MergeTree, logger: ITelemetryLoggerExt, 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(): ISegmentPrivate[];
}
//# sourceMappingURL=snapshotlegacy.d.ts.map