/*!
 * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
 * Licensed under the MIT License.
 */
/**
 * The key for the tree that contains the overall forest's summary tree.
 * This tree is added by the parent of the forest summarizer.
 * See {@link ForestIncrementalSummaryBuilder} for details on the summary structure.
 */
export const forestSummaryKey = "Forest";
/**
 * The key for the blob under ForestSummarizer's root.
 * This blob contains the ForestCodec's output.
 * See {@link ForestIncrementalSummaryBuilder} for details on the summary structure.
 */
export const forestSummaryContentKey = "ForestTree";
/**
 * The contents of an incremental chunk is under a summary tree node with its {@link ChunkReferenceId} as the key.
 * The inline portion of the chunk content is encoded with the forest codec is stored in a blob with this key.
 * The rest of the chunk contents  is stored in the summary tree under the summary tree node.
 * See the summary format in {@link ForestIncrementalSummaryBuilder} for more details.
 */
export const chunkContentsBlobKey = "contents";
/**
 * The versions for the forest summary.
 */
export var ForestSummaryFormatVersion;
(function (ForestSummaryFormatVersion) {
    /**
     * This version represents summary format before summary versioning was introduced.
     */
    ForestSummaryFormatVersion[ForestSummaryFormatVersion["v1"] = 1] = "v1";
    /**
     * This version adds metadata to the summary. This is backward compatible with version 1.
     */
    ForestSummaryFormatVersion[ForestSummaryFormatVersion["v2"] = 2] = "v2";
    /**
     * The latest version of the summary. Must be updated when a new version is added.
     */
    ForestSummaryFormatVersion[ForestSummaryFormatVersion["vLatest"] = 2] = "vLatest";
})(ForestSummaryFormatVersion || (ForestSummaryFormatVersion = {}));
export const supportedForestSummaryFormatVersions = new Set([
    ForestSummaryFormatVersion.v1,
    ForestSummaryFormatVersion.v2,
]);
/**
 * Returns the summary version to use as per the given minimum version for collab.
 */
export function minVersionToForestSummaryFormatVersion(version) {
    // Currently, version 2 is written which adds metadata blob to the summary.
    return ForestSummaryFormatVersion.v2;
}
//# sourceMappingURL=summaryTypes.js.map