/*!
 * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
 * Licensed under the MIT License.
 */
import { IChannelStorageService } from "@fluidframework/datastore-definitions";
import { IGarbageCollectionData, ISummaryTreeWithStats, ITelemetryContext } from "@fluidframework/runtime-definitions";
import { ICodecOptions } from "../../codec/index.js";
import { IEditableForest, RevisionTagCodec } from "../../core/index.js";
import { Summarizable, SummaryElementParser, SummaryElementStringifier } from "../../shared-tree-core/index.js";
import { FieldBatchCodec, FieldBatchEncodingContext } from "../chunked-forest/index.js";
/**
 * Provides methods for summarizing and loading a forest.
 */
export declare class ForestSummarizer implements Summarizable {
    private readonly forest;
    private readonly revisionTagCodec;
    private readonly encoderContext;
    readonly key = "Forest";
    private readonly codec;
    /**
     * @param encoderContext - The schema if provided here must be mutated by the caller to keep it up to date.
     */
    constructor(forest: IEditableForest, revisionTagCodec: RevisionTagCodec, fieldBatchCodec: FieldBatchCodec, encoderContext: FieldBatchEncodingContext, options?: ICodecOptions);
    /**
     * Synchronous monolithic summarization of tree content.
     *
     * TODO: when perf matters, this should be replaced with a chunked async version using a binary format.
     *
     * @returns a snapshot of the forest's tree as a string.
     */
    private getTreeString;
    getAttachSummary(stringify: SummaryElementStringifier, fullTree?: boolean, trackState?: boolean, telemetryContext?: ITelemetryContext): ISummaryTreeWithStats;
    summarize(stringify: SummaryElementStringifier, fullTree?: boolean, trackState?: boolean, telemetryContext?: ITelemetryContext): Promise<ISummaryTreeWithStats>;
    getGCData(fullGC?: boolean): IGarbageCollectionData;
    load(services: IChannelStorageService, parse: SummaryElementParser): Promise<void>;
}
//# sourceMappingURL=forestSummarizer.d.ts.map