"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;
    Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
}) : (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.getField = exports.proxyTargetSymbol = exports.valueSymbol = exports.typeNameSymbol = exports.typeSymbol = exports.getPrimaryField = exports.isPrimitive = exports.isEditableField = exports.isEditableTree = exports.isNeverField = exports.Multiplicity = exports.FieldKind = exports.CrossFieldTarget = exports.MemoizedIdRangeAllocator = exports.testRecursiveDomain = exports.leaf = exports.nodeKeySchema = exports.nodeKeyField = exports.jsonSchema = exports.jsonString = exports.jsonObject = exports.jsonNumber = exports.jsonNull = exports.jsonBoolean = exports.jsonArray = exports.singleJsonCursor = exports.cursorToJsonObject = exports.createEmitter = exports.TransactionResult = exports.fail = exports.brandOpaque = exports.brand = exports.extractFromOpaque = exports.forbiddenFieldKindIdentifier = exports.LocalCommitSource = exports.AllowedUpdateType = exports.anchorSlot = exports.ValueSchema = exports.ITreeSubscriptionCursorState = exports.TreeNavigationResult = exports.CursorLocationType = exports.fieldSchema = exports.rootField = exports.rootFieldKey = exports.Delta = exports.AnchorSet = exports.EmptyKey = exports.SimpleDependee = exports.recordDependency = exports.InvalidationToken = void 0;
exports.InternalTypes = exports.typeboxValidator = exports.noopValidator = exports.ForestType = exports.SharedTreeFactory = exports.runSynchronous = exports.InternalEditableTreeTypes = exports.treeStatus = exports.TreeStatus = exports.nodeKeyFieldKey = exports.compileSyntaxTree = exports.comparePipeline = exports.toDownPath = exports.BindingType = exports.indexSymbol = exports.createFlushableBinderOptions = exports.createBinderOptions = exports.createDataBinderInvalidating = exports.createDataBinderDirect = exports.createDataBinderBuffering = exports.NodeExistenceState = exports.cursorForTypedTreeData = exports.Any = exports.FieldSchema = exports.TreeSchema = exports.SchemaBuilder = exports.cursorFromContextualData = exports.FieldKinds = exports.SchemaAware = exports.InternalTypedSchemaTypes = exports.on = exports.parentField = exports.singleStackTreeCursor = exports.singleTextCursor = exports.prefixFieldPath = exports.prefixPath = exports.localNodeKeySymbol = exports.compareLocalNodeKeys = exports.jsonableTreeFromCursor = exports.defaultSchemaPolicy = exports.isContextuallyTypedNodeDataObject = exports.contextSymbol = void 0;
var core_1 = require("./core");
Object.defineProperty(exports, "InvalidationToken", { enumerable: true, get: function () { return core_1.InvalidationToken; } });
Object.defineProperty(exports, "recordDependency", { enumerable: true, get: function () { return core_1.recordDependency; } });
Object.defineProperty(exports, "SimpleDependee", { enumerable: true, get: function () { return core_1.SimpleDependee; } });
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, "Delta", { enumerable: true, get: function () { return core_1.Delta; } });
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, "fieldSchema", { enumerable: true, get: function () { return core_1.fieldSchema; } });
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, "LocalCommitSource", { enumerable: true, get: function () { return core_1.LocalCommitSource; } });
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, "brandOpaque", { enumerable: true, get: function () { return util_1.brandOpaque; } });
Object.defineProperty(exports, "fail", { enumerable: true, get: function () { return util_1.fail; } });
Object.defineProperty(exports, "TransactionResult", { enumerable: true, get: function () { return util_1.TransactionResult; } });
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, "cursorToJsonObject", { enumerable: true, get: function () { return domains_1.cursorToJsonObject; } });
Object.defineProperty(exports, "singleJsonCursor", { enumerable: true, get: function () { return domains_1.singleJsonCursor; } });
Object.defineProperty(exports, "jsonArray", { enumerable: true, get: function () { return domains_1.jsonArray; } });
Object.defineProperty(exports, "jsonBoolean", { enumerable: true, get: function () { return domains_1.jsonBoolean; } });
Object.defineProperty(exports, "jsonNull", { enumerable: true, get: function () { return domains_1.jsonNull; } });
Object.defineProperty(exports, "jsonNumber", { enumerable: true, get: function () { return domains_1.jsonNumber; } });
Object.defineProperty(exports, "jsonObject", { enumerable: true, get: function () { return domains_1.jsonObject; } });
Object.defineProperty(exports, "jsonString", { enumerable: true, get: function () { return domains_1.jsonString; } });
Object.defineProperty(exports, "jsonSchema", { enumerable: true, get: function () { return domains_1.jsonSchema; } });
Object.defineProperty(exports, "nodeKeyField", { enumerable: true, get: function () { return domains_1.nodeKeyField; } });
Object.defineProperty(exports, "nodeKeySchema", { enumerable: true, get: function () { return domains_1.nodeKeySchema; } });
Object.defineProperty(exports, "leaf", { enumerable: true, get: function () { return domains_1.leaf; } });
Object.defineProperty(exports, "testRecursiveDomain", { enumerable: true, get: function () { return domains_1.testRecursiveDomain; } });
var feature_libraries_1 = require("./feature-libraries");
Object.defineProperty(exports, "MemoizedIdRangeAllocator", { enumerable: true, get: function () { return feature_libraries_1.MemoizedIdRangeAllocator; } });
Object.defineProperty(exports, "CrossFieldTarget", { enumerable: true, get: function () { return feature_libraries_1.CrossFieldTarget; } });
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, "isEditableTree", { enumerable: true, get: function () { return feature_libraries_1.isEditableTree; } });
Object.defineProperty(exports, "isEditableField", { enumerable: true, get: function () { return feature_libraries_1.isEditableField; } });
Object.defineProperty(exports, "isPrimitive", { enumerable: true, get: function () { return feature_libraries_1.isPrimitive; } });
Object.defineProperty(exports, "getPrimaryField", { enumerable: true, get: function () { return feature_libraries_1.getPrimaryField; } });
Object.defineProperty(exports, "typeSymbol", { enumerable: true, get: function () { return feature_libraries_1.typeSymbol; } });
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, "proxyTargetSymbol", { enumerable: true, get: function () { return feature_libraries_1.proxyTargetSymbol; } });
Object.defineProperty(exports, "getField", { enumerable: true, get: function () { return feature_libraries_1.getField; } });
Object.defineProperty(exports, "contextSymbol", { enumerable: true, get: function () { return feature_libraries_1.contextSymbol; } });
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, "localNodeKeySymbol", { enumerable: true, get: function () { return feature_libraries_1.localNodeKeySymbol; } });
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.singleTextCursor; } });
Object.defineProperty(exports, "singleStackTreeCursor", { enumerable: true, get: function () { return feature_libraries_1.singleStackTreeCursor; } });
Object.defineProperty(exports, "parentField", { enumerable: true, get: function () { return feature_libraries_1.parentField; } });
Object.defineProperty(exports, "on", { enumerable: true, get: function () { return feature_libraries_1.on; } });
Object.defineProperty(exports, "InternalTypedSchemaTypes", { enumerable: true, get: function () { return feature_libraries_1.InternalTypedSchemaTypes; } });
Object.defineProperty(exports, "SchemaAware", { enumerable: true, get: function () { return feature_libraries_1.SchemaAware; } });
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, "SchemaBuilder", { enumerable: true, get: function () { return feature_libraries_1.SchemaBuilder; } });
Object.defineProperty(exports, "TreeSchema", { enumerable: true, get: function () { return feature_libraries_1.TreeSchema; } });
Object.defineProperty(exports, "FieldSchema", { enumerable: true, get: function () { return feature_libraries_1.FieldSchema; } });
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, "NodeExistenceState", { enumerable: true, get: function () { return feature_libraries_1.NodeExistenceState; } });
Object.defineProperty(exports, "createDataBinderBuffering", { enumerable: true, get: function () { return feature_libraries_1.createDataBinderBuffering; } });
Object.defineProperty(exports, "createDataBinderDirect", { enumerable: true, get: function () { return feature_libraries_1.createDataBinderDirect; } });
Object.defineProperty(exports, "createDataBinderInvalidating", { enumerable: true, get: function () { return feature_libraries_1.createDataBinderInvalidating; } });
Object.defineProperty(exports, "createBinderOptions", { enumerable: true, get: function () { return feature_libraries_1.createBinderOptions; } });
Object.defineProperty(exports, "createFlushableBinderOptions", { enumerable: true, get: function () { return feature_libraries_1.createFlushableBinderOptions; } });
Object.defineProperty(exports, "indexSymbol", { enumerable: true, get: function () { return feature_libraries_1.indexSymbol; } });
Object.defineProperty(exports, "BindingType", { enumerable: true, get: function () { return feature_libraries_1.BindingType; } });
Object.defineProperty(exports, "toDownPath", { enumerable: true, get: function () { return feature_libraries_1.toDownPath; } });
Object.defineProperty(exports, "comparePipeline", { enumerable: true, get: function () { return feature_libraries_1.comparePipeline; } });
Object.defineProperty(exports, "compileSyntaxTree", { enumerable: true, get: function () { return feature_libraries_1.compileSyntaxTree; } });
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, "treeStatus", { enumerable: true, get: function () { return feature_libraries_1.treeStatus; } });
Object.defineProperty(exports, "InternalEditableTreeTypes", { enumerable: true, get: function () { return feature_libraries_1.InternalEditableTreeTypes; } });
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; } });
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;
//# sourceMappingURL=index.js.map