/*!
 * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
 * Licensed under the MIT License.
 */
import { IChannelStorageService } from "@fluidframework/datastore-definitions";
import { ITelemetryContext, ISummaryTreeWithStats, IGarbageCollectionData } from "@fluidframework/runtime-definitions";
import { IEditableForest, StoredSchemaCollection } from "../core";
import { Summarizable, SummaryElementParser, SummaryElementStringifier } from "../shared-tree-core";
import { ICodecOptions } from "../codec";
import { FullSchemaPolicy } from "./modular-schema";
import { TreeCompressionStrategy } from "./treeCompressionUtils";
/**
 * Provides methods for summarizing and loading a forest.
 */
export declare class ForestSummarizer implements Summarizable {
    private readonly forest;
    readonly key = "Forest";
    private readonly schema;
    private readonly policy;
    private readonly encodeType;
    private readonly codec;
    private readonly options;
    constructor(forest: IEditableForest, schema: StoredSchemaCollection, policy: FullSchemaPolicy, encodeType?: TreeCompressionStrategy, 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