/*!
 * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
 * Licensed under the MIT License.
 */
import type { IChannelStorageService } from "@fluidframework/datastore-definitions/internal";
import type { IIdCompressor } from "@fluidframework/id-compressor";
import type { IExperimentalIncrementalSummaryContext, ISummaryTreeWithStats, ITelemetryContext } from "@fluidframework/runtime-definitions/internal";
import type { IJsonCodec } from "../codec/index.js";
import type { ChangeFamily, ChangeFamilyEditor, SchemaAndPolicy } from "../core/index.js";
import type { JsonCompatibleReadOnly } from "../util/index.js";
import type { EditManager, SummaryData } from "./editManager.js";
import type { EditManagerEncodingContext } from "./editManagerCodecs.js";
import type { Summarizable, SummaryElementParser, SummaryElementStringifier } from "./sharedTreeCore.js";
/**
 * Provides methods for summarizing and loading an `EditManager`
 */
export declare class EditManagerSummarizer<TChangeset> implements Summarizable {
    private readonly editManager;
    private readonly codec;
    private readonly idCompressor;
    private readonly schemaAndPolicy?;
    readonly key = "EditManager";
    constructor(editManager: EditManager<ChangeFamilyEditor, TChangeset, ChangeFamily<ChangeFamilyEditor, TChangeset>>, codec: IJsonCodec<SummaryData<TChangeset>, JsonCompatibleReadOnly, JsonCompatibleReadOnly, EditManagerEncodingContext>, idCompressor: IIdCompressor, schemaAndPolicy?: SchemaAndPolicy | undefined);
    summarize(props: {
        stringify: SummaryElementStringifier;
        fullTree?: boolean;
        trackState?: boolean;
        telemetryContext?: ITelemetryContext;
        incrementalSummaryContext?: IExperimentalIncrementalSummaryContext;
    }): ISummaryTreeWithStats;
    private summarizeCore;
    load(services: IChannelStorageService, parse: SummaryElementParser): Promise<void>;
}
//# sourceMappingURL=editManagerSummarizer.d.ts.map