/*!
 * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
 * Licensed under the MIT License.
 */
import { IChannelStorageService, IFluidDataStoreRuntime } from "@fluidframework/datastore-definitions";
import { IGarbageCollectionData, ISummaryTreeWithStats, ITelemetryContext } from "@fluidframework/runtime-definitions";
import { IMultiFormatCodec } from "../codec";
import { ChangeFamily, ChangeFamilyEditor } from "../core";
import { Summarizable, SummaryElementParser, SummaryElementStringifier } from "./sharedTreeCore";
import { EditManager, SummaryData } from "./editManager";
/**
 * Provides methods for summarizing and loading an `EditManager`
 */
export declare class EditManagerSummarizer<TChangeset> implements Summarizable {
    private readonly runtime;
    private readonly editManager;
    readonly key = "EditManager";
    private readonly editDataBlob;
    private readonly changesetCodec;
    constructor(runtime: IFluidDataStoreRuntime, editManager: EditManager<TChangeset, ChangeFamily<ChangeFamilyEditor, TChangeset>>);
    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>;
}
export declare function parseSummary<TChangeset>(summary: string, codec: IMultiFormatCodec<TChangeset>): SummaryData<TChangeset>;
export declare function stringifySummary<TChangeset>(data: SummaryData<TChangeset>, codec: IMultiFormatCodec<TChangeset>): string;
//# sourceMappingURL=editManagerSummarizer.d.ts.map