"use strict";
/*!
 * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
 * Licensed under the MIT License.
 */
Object.defineProperty(exports, "__esModule", { value: true });
exports.TreeCompressionStrategyExtended = exports.TreeCompressionStrategy = void 0;
/**
 * Selects which heuristics to use when encoding tree content.
 * All encoding options here are compatible with the same decoder:
 * the selection here does not impact compatibility.
 * @alpha
 */
var TreeCompressionStrategy;
(function (TreeCompressionStrategy) {
    /**
     * Optimized for encoded size.
     * Use this in production to reduce bandwidth and storage use.
     */
    TreeCompressionStrategy[TreeCompressionStrategy["Compressed"] = 0] = "Compressed";
    /**
     * Optimized for human readability.
     * Use this when debugging or testing and needing to inspect encoded tree content.
     */
    TreeCompressionStrategy[TreeCompressionStrategy["Uncompressed"] = 1] = "Uncompressed";
})(TreeCompressionStrategy || (exports.TreeCompressionStrategy = TreeCompressionStrategy = {}));
/**
 * A private extension of {@link TreeCompressionStrategy} for strategies that are not intended for public use just yet.
 */
var TreeCompressionStrategyExtended;
(function (TreeCompressionStrategyExtended) {
    /**
     * Optimized for encoded size, same as TreeCompressionStrategy.Compressed. It also enables incremental encoding
     * of the data.
     * @remarks
     * TODO: AB#41865
     * This needs to be stabilized to allow opting into it.
     * It could possibly be made the default instead of {@link TreeCompressionStrategy.Compressed}.
     */
    TreeCompressionStrategyExtended[TreeCompressionStrategyExtended["CompressedIncremental"] = 2] = "CompressedIncremental";
})(TreeCompressionStrategyExtended || (exports.TreeCompressionStrategyExtended = TreeCompressionStrategyExtended = {}));
//# sourceMappingURL=treeCompressionUtils.js.map