"use strict";
/*!
 * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
 * Licensed under the MIT License.
 */
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    var desc = Object.getOwnPropertyDescriptor(m, k);
    if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
      desc = { enumerable: true, get: function() { return m[k]; } };
    }
    Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
    Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
    o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
    if (mod && mod.__esModule) return mod;
    var result = {};
    if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
    __setModuleDefault(result, mod);
    return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.SchemaBuilderBase = exports.ObjectNodeSchema = exports.MapNodeSchema = exports.LeafNodeSchema = exports.FieldNodeSchema = exports.TreeNodeSchemaBase = exports.TreeStatus = exports.nodeKeyFieldKey = exports.cursorForTypedTreeData = exports.Any = exports.TreeFieldSchema = exports.cursorFromContextualData = exports.FieldKinds = exports.InternalTypedSchemaTypes = exports.stackTreeNodeCursor = exports.singleTextCursor = exports.prefixFieldPath = exports.prefixPath = exports.compareLocalNodeKeys = exports.jsonableTreeFromCursor = exports.defaultSchemaPolicy = exports.isContextuallyTypedNodeDataObject = exports.valueSymbol = exports.typeNameSymbol = exports.getPrimaryField = exports.isNeverField = exports.Multiplicity = exports.FieldKind = exports.leaf = exports.createEmitter = exports.disposeSymbol = exports.oneFromSet = exports.TransactionResult = exports.fail = exports.brand = exports.extractFromOpaque = exports.forbiddenFieldKindIdentifier = exports.DiscardResult = exports.RevertResult = exports.RevertibleKind = exports.AllowedUpdateType = exports.anchorSlot = exports.ValueSchema = exports.ITreeSubscriptionCursorState = exports.TreeNavigationResult = exports.CursorLocationType = exports.rootField = exports.rootFieldKey = exports.AnchorSet = exports.EmptyKey = void 0;
exports.FlexTreeEntityKind = exports.flexTreeMarker = exports.BrandedType = exports.InternalTypes = exports.typeboxValidator = exports.noopValidator = exports.TreeFactory = exports.SharedTree = exports.test_RecursiveObject_base = exports.test_RecursiveObject = exports.typedObjectValues = exports.singletonSchema = exports.enumFromStrings = exports.adaptEnum = exports.NodeBase = exports.Tree = exports.SchemaFactory = exports.TreeConfiguration = exports.buildTreeConfiguration = exports.ForestType = exports.SharedTreeFactory = exports.runSynchronous = exports.IterableTreeListContent = exports.TreeListNode = exports.stackTreeFieldCursor = exports.encodeTreeSchema = exports.treeSchemaFromStoredSchema = exports.TreeCompressionStrategy = exports.schemaIsObjectNode = exports.schemaIsMap = exports.schemaIsLeaf = exports.schemaIsFieldNode = void 0;
var core_1 = require("./core");
Object.defineProperty(exports, "EmptyKey", { enumerable: true, get: function () { return core_1.EmptyKey; } });
Object.defineProperty(exports, "AnchorSet", { enumerable: true, get: function () { return core_1.AnchorSet; } });
Object.defineProperty(exports, "rootFieldKey", { enumerable: true, get: function () { return core_1.rootFieldKey; } });
Object.defineProperty(exports, "rootField", { enumerable: true, get: function () { return core_1.rootField; } });
Object.defineProperty(exports, "CursorLocationType", { enumerable: true, get: function () { return core_1.CursorLocationType; } });
Object.defineProperty(exports, "TreeNavigationResult", { enumerable: true, get: function () { return core_1.TreeNavigationResult; } });
Object.defineProperty(exports, "ITreeSubscriptionCursorState", { enumerable: true, get: function () { return core_1.ITreeSubscriptionCursorState; } });
Object.defineProperty(exports, "ValueSchema", { enumerable: true, get: function () { return core_1.ValueSchema; } });
Object.defineProperty(exports, "anchorSlot", { enumerable: true, get: function () { return core_1.anchorSlot; } });
Object.defineProperty(exports, "AllowedUpdateType", { enumerable: true, get: function () { return core_1.AllowedUpdateType; } });
Object.defineProperty(exports, "RevertibleKind", { enumerable: true, get: function () { return core_1.RevertibleKind; } });
Object.defineProperty(exports, "RevertResult", { enumerable: true, get: function () { return core_1.RevertResult; } });
Object.defineProperty(exports, "DiscardResult", { enumerable: true, get: function () { return core_1.DiscardResult; } });
Object.defineProperty(exports, "forbiddenFieldKindIdentifier", { enumerable: true, get: function () { return core_1.forbiddenFieldKindIdentifier; } });
var util_1 = require("./util");
Object.defineProperty(exports, "extractFromOpaque", { enumerable: true, get: function () { return util_1.extractFromOpaque; } });
Object.defineProperty(exports, "brand", { enumerable: true, get: function () { return util_1.brand; } });
Object.defineProperty(exports, "fail", { enumerable: true, get: function () { return util_1.fail; } });
Object.defineProperty(exports, "TransactionResult", { enumerable: true, get: function () { return util_1.TransactionResult; } });
Object.defineProperty(exports, "oneFromSet", { enumerable: true, get: function () { return util_1.oneFromSet; } });
Object.defineProperty(exports, "disposeSymbol", { enumerable: true, get: function () { return util_1.disposeSymbol; } });
var events_1 = require("./events");
Object.defineProperty(exports, "createEmitter", { enumerable: true, get: function () { return events_1.createEmitter; } });
var domains_1 = require("./domains");
Object.defineProperty(exports, "leaf", { enumerable: true, get: function () { return domains_1.leaf; } });
var feature_libraries_1 = require("./feature-libraries");
Object.defineProperty(exports, "FieldKind", { enumerable: true, get: function () { return feature_libraries_1.FieldKind; } });
Object.defineProperty(exports, "Multiplicity", { enumerable: true, get: function () { return feature_libraries_1.Multiplicity; } });
Object.defineProperty(exports, "isNeverField", { enumerable: true, get: function () { return feature_libraries_1.isNeverField; } });
Object.defineProperty(exports, "getPrimaryField", { enumerable: true, get: function () { return feature_libraries_1.getPrimaryField; } });
Object.defineProperty(exports, "typeNameSymbol", { enumerable: true, get: function () { return feature_libraries_1.typeNameSymbol; } });
Object.defineProperty(exports, "valueSymbol", { enumerable: true, get: function () { return feature_libraries_1.valueSymbol; } });
Object.defineProperty(exports, "isContextuallyTypedNodeDataObject", { enumerable: true, get: function () { return feature_libraries_1.isContextuallyTypedNodeDataObject; } });
Object.defineProperty(exports, "defaultSchemaPolicy", { enumerable: true, get: function () { return feature_libraries_1.defaultSchemaPolicy; } });
Object.defineProperty(exports, "jsonableTreeFromCursor", { enumerable: true, get: function () { return feature_libraries_1.jsonableTreeFromCursor; } });
Object.defineProperty(exports, "compareLocalNodeKeys", { enumerable: true, get: function () { return feature_libraries_1.compareLocalNodeKeys; } });
Object.defineProperty(exports, "prefixPath", { enumerable: true, get: function () { return feature_libraries_1.prefixPath; } });
Object.defineProperty(exports, "prefixFieldPath", { enumerable: true, get: function () { return feature_libraries_1.prefixFieldPath; } });
Object.defineProperty(exports, "singleTextCursor", { enumerable: true, get: function () { return feature_libraries_1.cursorForJsonableTreeNode; } });
Object.defineProperty(exports, "stackTreeNodeCursor", { enumerable: true, get: function () { return feature_libraries_1.stackTreeNodeCursor; } });
Object.defineProperty(exports, "InternalTypedSchemaTypes", { enumerable: true, get: function () { return feature_libraries_1.InternalTypedSchemaTypes; } });
Object.defineProperty(exports, "FieldKinds", { enumerable: true, get: function () { return feature_libraries_1.FieldKinds; } });
Object.defineProperty(exports, "cursorFromContextualData", { enumerable: true, get: function () { return feature_libraries_1.cursorFromContextualData; } });
Object.defineProperty(exports, "TreeFieldSchema", { enumerable: true, get: function () { return feature_libraries_1.TreeFieldSchema; } });
Object.defineProperty(exports, "Any", { enumerable: true, get: function () { return feature_libraries_1.Any; } });
Object.defineProperty(exports, "cursorForTypedTreeData", { enumerable: true, get: function () { return feature_libraries_1.cursorForTypedTreeData; } });
Object.defineProperty(exports, "nodeKeyFieldKey", { enumerable: true, get: function () { return feature_libraries_1.nodeKeyFieldKey; } });
Object.defineProperty(exports, "TreeStatus", { enumerable: true, get: function () { return feature_libraries_1.TreeStatus; } });
Object.defineProperty(exports, "TreeNodeSchemaBase", { enumerable: true, get: function () { return feature_libraries_1.TreeNodeSchemaBase; } });
Object.defineProperty(exports, "FieldNodeSchema", { enumerable: true, get: function () { return feature_libraries_1.FieldNodeSchema; } });
Object.defineProperty(exports, "LeafNodeSchema", { enumerable: true, get: function () { return feature_libraries_1.LeafNodeSchema; } });
Object.defineProperty(exports, "MapNodeSchema", { enumerable: true, get: function () { return feature_libraries_1.MapNodeSchema; } });
Object.defineProperty(exports, "ObjectNodeSchema", { enumerable: true, get: function () { return feature_libraries_1.ObjectNodeSchema; } });
Object.defineProperty(exports, "SchemaBuilderBase", { enumerable: true, get: function () { return feature_libraries_1.SchemaBuilderBase; } });
Object.defineProperty(exports, "schemaIsFieldNode", { enumerable: true, get: function () { return feature_libraries_1.schemaIsFieldNode; } });
Object.defineProperty(exports, "schemaIsLeaf", { enumerable: true, get: function () { return feature_libraries_1.schemaIsLeaf; } });
Object.defineProperty(exports, "schemaIsMap", { enumerable: true, get: function () { return feature_libraries_1.schemaIsMap; } });
Object.defineProperty(exports, "schemaIsObjectNode", { enumerable: true, get: function () { return feature_libraries_1.schemaIsObjectNode; } });
Object.defineProperty(exports, "TreeCompressionStrategy", { enumerable: true, get: function () { return feature_libraries_1.TreeCompressionStrategy; } });
Object.defineProperty(exports, "treeSchemaFromStoredSchema", { enumerable: true, get: function () { return feature_libraries_1.treeSchemaFromStoredSchema; } });
Object.defineProperty(exports, "encodeTreeSchema", { enumerable: true, get: function () { return feature_libraries_1.encodeTreeSchema; } });
Object.defineProperty(exports, "stackTreeFieldCursor", { enumerable: true, get: function () { return feature_libraries_1.stackTreeFieldCursor; } });
var simple_tree_1 = require("./simple-tree");
Object.defineProperty(exports, "TreeListNode", { enumerable: true, get: function () { return simple_tree_1.TreeListNode; } });
Object.defineProperty(exports, "IterableTreeListContent", { enumerable: true, get: function () { return simple_tree_1.IterableTreeListContent; } });
var shared_tree_1 = require("./shared-tree");
Object.defineProperty(exports, "runSynchronous", { enumerable: true, get: function () { return shared_tree_1.runSynchronous; } });
Object.defineProperty(exports, "SharedTreeFactory", { enumerable: true, get: function () { return shared_tree_1.SharedTreeFactory; } });
Object.defineProperty(exports, "ForestType", { enumerable: true, get: function () { return shared_tree_1.ForestType; } });
Object.defineProperty(exports, "buildTreeConfiguration", { enumerable: true, get: function () { return shared_tree_1.buildTreeConfiguration; } });
var class_tree_1 = require("./class-tree");
Object.defineProperty(exports, "TreeConfiguration", { enumerable: true, get: function () { return class_tree_1.TreeConfiguration; } });
Object.defineProperty(exports, "SchemaFactory", { enumerable: true, get: function () { return class_tree_1.SchemaFactory; } });
Object.defineProperty(exports, "Tree", { enumerable: true, get: function () { return class_tree_1.Tree; } });
Object.defineProperty(exports, "NodeBase", { enumerable: true, get: function () { return class_tree_1.NodeBase; } });
// experimental @alpha APIs:
Object.defineProperty(exports, "adaptEnum", { enumerable: true, get: function () { return class_tree_1.adaptEnum; } });
Object.defineProperty(exports, "enumFromStrings", { enumerable: true, get: function () { return class_tree_1.enumFromStrings; } });
Object.defineProperty(exports, "singletonSchema", { enumerable: true, get: function () { return class_tree_1.singletonSchema; } });
Object.defineProperty(exports, "typedObjectValues", { enumerable: true, get: function () { return class_tree_1.typedObjectValues; } });
// test recursive schema for checking that d.ts files handles schema correctly
Object.defineProperty(exports, "test_RecursiveObject", { enumerable: true, get: function () { return class_tree_1.test_RecursiveObject; } });
Object.defineProperty(exports, "test_RecursiveObject_base", { enumerable: true, get: function () { return class_tree_1.test_RecursiveObject_base; } });
var treeFactory_1 = require("./treeFactory");
Object.defineProperty(exports, "SharedTree", { enumerable: true, get: function () { return treeFactory_1.SharedTree; } });
Object.defineProperty(exports, "TreeFactory", { enumerable: true, get: function () { return treeFactory_1.TreeFactory; } });
var codec_1 = require("./codec");
Object.defineProperty(exports, "noopValidator", { enumerable: true, get: function () { return codec_1.noopValidator; } });
var external_utilities_1 = require("./external-utilities");
Object.defineProperty(exports, "typeboxValidator", { enumerable: true, get: function () { return external_utilities_1.typeboxValidator; } });
// Below here are things that are used by the above, but not part of the desired API surface.
const InternalTypes = __importStar(require("./internal"));
exports.InternalTypes = InternalTypes;
// These would be in InternalTypes above but are `@alpha` so they can't be included in the `InternalClassTreeTypes` due to https://github.com/microsoft/rushstack/issues/3639
var util_2 = require("./util");
Object.defineProperty(exports, "BrandedType", { enumerable: true, get: function () { return util_2.BrandedType; } });
var feature_libraries_2 = require("./feature-libraries");
Object.defineProperty(exports, "flexTreeMarker", { enumerable: true, get: function () { return feature_libraries_2.flexTreeMarker; } });
Object.defineProperty(exports, "FlexTreeEntityKind", { enumerable: true, get: function () { return feature_libraries_2.FlexTreeEntityKind; } });
//# sourceMappingURL=index.js.map