/*!
 * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
 * Licensed under the MIT License.
 */
import type { IFluidDataStoreRuntime, IChannelStorageService } from "@fluidframework/datastore-definitions/internal";
import type { IExperimentalIncrementalSummaryContext, IGarbageCollectionData, ISummaryTreeWithStats, ITelemetryContext } from "@fluidframework/runtime-definitions/internal";
import type { ICodecOptions } from "../../codec/index.js";
import { type MutableTreeStoredSchema, type TreeStoredSchema } from "../../core/index.js";
import type { Summarizable, SummaryElementParser, SummaryElementStringifier } from "../../shared-tree-core/index.js";
import type { CollabWindow } from "../incrementalSummarizationUtils.js";
import type { Format } from "./format.js";
/**
 * Provides methods for summarizing and loading a schema repository.
 */
export declare class SchemaSummarizer implements Summarizable {
    private readonly runtime;
    private readonly schema;
    readonly key = "Schema";
    private readonly codec;
    private schemaIndexLastChangedSeq;
    constructor(runtime: IFluidDataStoreRuntime, schema: MutableTreeStoredSchema, options: ICodecOptions, collabWindow: CollabWindow);
    getAttachSummary(stringify: SummaryElementStringifier, fullTree?: boolean, trackState?: boolean, telemetryContext?: ITelemetryContext, incrementalSummaryContext?: IExperimentalIncrementalSummaryContext | undefined): ISummaryTreeWithStats;
    summarize(stringify: SummaryElementStringifier, fullTree?: boolean, trackState?: boolean, telemetryContext?: ITelemetryContext, incrementalSummaryContext?: IExperimentalIncrementalSummaryContext | undefined): Promise<ISummaryTreeWithStats>;
    getGCData(fullGC?: boolean): IGarbageCollectionData;
    load(services: IChannelStorageService, parse: SummaryElementParser): Promise<void>;
}
/**
 * Dumps schema into a deterministic JSON compatible semi-human readable format.
 *
 * @remarks
 * This can be used to help inspect schema for debugging, and to save a snapshot of schema to help detect and review changes to an applications schema.
 */
export declare function encodeTreeSchema(schema: TreeStoredSchema): Format;
//# sourceMappingURL=schemaSummarizer.d.ts.map