"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.CrossFieldTarget = exports.ModularEditBuilder = exports.isNeverField = exports.SequenceField = exports.jsonableTreeFromForest = exports.jsonableTreeFromFieldCursor = exports.jsonableTreeFromCursor = exports.cursorForJsonableTreeField = exports.cursorForJsonableTreeNode = exports.stackTreeFieldCursor = exports.prefixFieldPath = exports.prefixPath = exports.stackTreeNodeCursor = exports.makeSchemaCodec = exports.encodeTreeSchema = exports.SchemaEditor = exports.SchemaSummarizer = exports.buildForest = exports.MemoizedIdRangeAllocator = exports.mapTreeFromCursor = exports.cursorForMapTreeNode = exports.cursorForMapTreeField = exports.ForestSummarizer = exports.isFluidHandle = exports.assertAllowedValue = exports.allowsValue = exports.getPossibleTypes = exports.normalizeNewFieldContent = exports.cursorsForTypedFieldData = exports.cursorForTypedTreeData = exports.cursorForTypedData = exports.cursorsFromContextualData = exports.cursorFromContextualData = exports.getFieldSchema = exports.getFieldKind = exports.isContextuallyTypedNodeDataObject = exports.getPrimaryField = exports.isTreeValue = exports.valueSymbol = exports.typeNameSymbol = exports.compileSyntaxTree = exports.comparePipeline = exports.toDownPath = exports.BindingType = exports.indexSymbol = exports.createFlushableBinderOptions = exports.createBinderOptions = exports.createDataBinderInvalidating = exports.createDataBinderDirect = exports.createDataBinderBuffering = void 0;
exports.DefaultEditBuilder = exports.DefaultChangeFamily = exports.FieldKinds = exports.nodeKeyTreeIdentifier = exports.nodeKeyFieldKey = exports.NodeKeyIndex = exports.createMockNodeKeyManager = exports.createNodeKeyManager = exports.compareLocalNodeKeys = exports.EncodedChunk = exports.schemaCompressedEncode = exports.uncompressedEncode = exports.decode = exports.makeTreeChunker = exports.defaultChunkPolicy = exports.buildChunkedForest = exports.chunkTree = exports.mapMarkList = exports.mapMark = exports.mapFieldsChanges = exports.mapFieldChanges = exports.mapRootChanges = exports.SchemaBuilderInternal = exports.normalizeField = exports.normalizeAllowedTypes = exports.SchemaBuilderBase = exports.isLazy = exports.TreeNodeSchemaBase = exports.markEager = exports.validateObjectNodeFieldName = exports.fieldApiPrefixes = exports.bannedFieldNames = exports.schemaIsObjectNode = exports.schemaIsMap = exports.schemaIsLeaf = exports.schemaIsFieldNode = exports.ObjectNodeSchema = exports.MapNodeSchema = exports.LeafNodeSchema = exports.FieldNodeSchema = exports.ViewSchema = exports.InternalTypedSchemaTypes = exports.Any = exports.TreeFieldSchema = exports.Multiplicity = exports.FieldKindWithEditor = exports.NodeExistenceState = exports.genericFieldKind = exports.allowsRepoSuperset = exports.FieldKind = void 0;
exports.makeMitigatedChangeFamily = exports.DetachedFieldIndexSummarizer = exports.TreeCompressionStrategy = exports.treeSchemaFromStoredSchema = exports.FlexTreeEntityKind = exports.flexTreeMarker = exports.isFlexTreeNode = exports.onNextChange = exports.Context = exports.TreeStatus = exports.boxedIterator = exports.getTreeContext = exports.Skip = exports.relevantRemovedRoots = exports.intoDelta = exports.defaultSchemaPolicy = void 0;
var editableTreeBinder_1 = require("./editableTreeBinder");
Object.defineProperty(exports, "createDataBinderBuffering", { enumerable: true, get: function () { return editableTreeBinder_1.createDataBinderBuffering; } });
Object.defineProperty(exports, "createDataBinderDirect", { enumerable: true, get: function () { return editableTreeBinder_1.createDataBinderDirect; } });
Object.defineProperty(exports, "createDataBinderInvalidating", { enumerable: true, get: function () { return editableTreeBinder_1.createDataBinderInvalidating; } });
Object.defineProperty(exports, "createBinderOptions", { enumerable: true, get: function () { return editableTreeBinder_1.createBinderOptions; } });
Object.defineProperty(exports, "createFlushableBinderOptions", { enumerable: true, get: function () { return editableTreeBinder_1.createFlushableBinderOptions; } });
Object.defineProperty(exports, "indexSymbol", { enumerable: true, get: function () { return editableTreeBinder_1.indexSymbol; } });
Object.defineProperty(exports, "BindingType", { enumerable: true, get: function () { return editableTreeBinder_1.BindingType; } });
Object.defineProperty(exports, "toDownPath", { enumerable: true, get: function () { return editableTreeBinder_1.toDownPath; } });
Object.defineProperty(exports, "comparePipeline", { enumerable: true, get: function () { return editableTreeBinder_1.comparePipeline; } });
Object.defineProperty(exports, "compileSyntaxTree", { enumerable: true, get: function () { return editableTreeBinder_1.compileSyntaxTree; } });
var contextuallyTyped_1 = require("./contextuallyTyped");
Object.defineProperty(exports, "typeNameSymbol", { enumerable: true, get: function () { return contextuallyTyped_1.typeNameSymbol; } });
Object.defineProperty(exports, "valueSymbol", { enumerable: true, get: function () { return contextuallyTyped_1.valueSymbol; } });
Object.defineProperty(exports, "isTreeValue", { enumerable: true, get: function () { return contextuallyTyped_1.isTreeValue; } });
Object.defineProperty(exports, "getPrimaryField", { enumerable: true, get: function () { return contextuallyTyped_1.getPrimaryField; } });
Object.defineProperty(exports, "isContextuallyTypedNodeDataObject", { enumerable: true, get: function () { return contextuallyTyped_1.isContextuallyTypedNodeDataObject; } });
Object.defineProperty(exports, "getFieldKind", { enumerable: true, get: function () { return contextuallyTyped_1.getFieldKind; } });
Object.defineProperty(exports, "getFieldSchema", { enumerable: true, get: function () { return contextuallyTyped_1.getFieldSchema; } });
Object.defineProperty(exports, "cursorFromContextualData", { enumerable: true, get: function () { return contextuallyTyped_1.cursorFromContextualData; } });
Object.defineProperty(exports, "cursorsFromContextualData", { enumerable: true, get: function () { return contextuallyTyped_1.cursorsFromContextualData; } });
Object.defineProperty(exports, "cursorForTypedData", { enumerable: true, get: function () { return contextuallyTyped_1.cursorForTypedData; } });
Object.defineProperty(exports, "cursorForTypedTreeData", { enumerable: true, get: function () { return contextuallyTyped_1.cursorForTypedTreeData; } });
Object.defineProperty(exports, "cursorsForTypedFieldData", { enumerable: true, get: function () { return contextuallyTyped_1.cursorsForTypedFieldData; } });
Object.defineProperty(exports, "normalizeNewFieldContent", { enumerable: true, get: function () { return contextuallyTyped_1.normalizeNewFieldContent; } });
Object.defineProperty(exports, "getPossibleTypes", { enumerable: true, get: function () { return contextuallyTyped_1.getPossibleTypes; } });
var valueUtilities_1 = require("./valueUtilities");
Object.defineProperty(exports, "allowsValue", { enumerable: true, get: function () { return valueUtilities_1.allowsValue; } });
Object.defineProperty(exports, "assertAllowedValue", { enumerable: true, get: function () { return valueUtilities_1.assertAllowedValue; } });
Object.defineProperty(exports, "isFluidHandle", { enumerable: true, get: function () { return valueUtilities_1.isFluidHandle; } });
var forestSummarizer_1 = require("./forestSummarizer");
Object.defineProperty(exports, "ForestSummarizer", { enumerable: true, get: function () { return forestSummarizer_1.ForestSummarizer; } });
var mapTreeCursor_1 = require("./mapTreeCursor");
Object.defineProperty(exports, "cursorForMapTreeField", { enumerable: true, get: function () { return mapTreeCursor_1.cursorForMapTreeField; } });
Object.defineProperty(exports, "cursorForMapTreeNode", { enumerable: true, get: function () { return mapTreeCursor_1.cursorForMapTreeNode; } });
Object.defineProperty(exports, "mapTreeFromCursor", { enumerable: true, get: function () { return mapTreeCursor_1.mapTreeFromCursor; } });
var memoizedIdRangeAllocator_1 = require("./memoizedIdRangeAllocator");
Object.defineProperty(exports, "MemoizedIdRangeAllocator", { enumerable: true, get: function () { return memoizedIdRangeAllocator_1.MemoizedIdRangeAllocator; } });
var object_forest_1 = require("./object-forest");
Object.defineProperty(exports, "buildForest", { enumerable: true, get: function () { return object_forest_1.buildForest; } });
var schemaSummarizer_1 = require("./schemaSummarizer");
Object.defineProperty(exports, "SchemaSummarizer", { enumerable: true, get: function () { return schemaSummarizer_1.SchemaSummarizer; } });
Object.defineProperty(exports, "SchemaEditor", { enumerable: true, get: function () { return schemaSummarizer_1.SchemaEditor; } });
Object.defineProperty(exports, "encodeTreeSchema", { enumerable: true, get: function () { return schemaSummarizer_1.encodeTreeSchema; } });
// This is exported because its useful for doing comparisons of schema in tests.
var schemaIndexFormat_1 = require("./schemaIndexFormat");
Object.defineProperty(exports, "makeSchemaCodec", { enumerable: true, get: function () { return schemaIndexFormat_1.makeSchemaCodec; } });
var treeCursorUtils_1 = require("./treeCursorUtils");
Object.defineProperty(exports, "stackTreeNodeCursor", { enumerable: true, get: function () { return treeCursorUtils_1.stackTreeNodeCursor; } });
Object.defineProperty(exports, "prefixPath", { enumerable: true, get: function () { return treeCursorUtils_1.prefixPath; } });
Object.defineProperty(exports, "prefixFieldPath", { enumerable: true, get: function () { return treeCursorUtils_1.prefixFieldPath; } });
Object.defineProperty(exports, "stackTreeFieldCursor", { enumerable: true, get: function () { return treeCursorUtils_1.stackTreeFieldCursor; } });
var treeTextCursor_1 = require("./treeTextCursor");
Object.defineProperty(exports, "cursorForJsonableTreeNode", { enumerable: true, get: function () { return treeTextCursor_1.cursorForJsonableTreeNode; } });
Object.defineProperty(exports, "cursorForJsonableTreeField", { enumerable: true, get: function () { return treeTextCursor_1.cursorForJsonableTreeField; } });
Object.defineProperty(exports, "jsonableTreeFromCursor", { enumerable: true, get: function () { return treeTextCursor_1.jsonableTreeFromCursor; } });
Object.defineProperty(exports, "jsonableTreeFromFieldCursor", { enumerable: true, get: function () { return treeTextCursor_1.jsonableTreeFromFieldCursor; } });
Object.defineProperty(exports, "jsonableTreeFromForest", { enumerable: true, get: function () { return treeTextCursor_1.jsonableTreeFromForest; } });
// Split this up into separate import and export for compatibility with API-Extractor.
const SequenceField = __importStar(require("./sequence-field"));
exports.SequenceField = SequenceField;
var modular_schema_1 = require("./modular-schema");
Object.defineProperty(exports, "isNeverField", { enumerable: true, get: function () { return modular_schema_1.isNeverField; } });
Object.defineProperty(exports, "ModularEditBuilder", { enumerable: true, get: function () { return modular_schema_1.ModularEditBuilder; } });
Object.defineProperty(exports, "CrossFieldTarget", { enumerable: true, get: function () { return modular_schema_1.CrossFieldTarget; } });
Object.defineProperty(exports, "FieldKind", { enumerable: true, get: function () { return modular_schema_1.FieldKind; } });
Object.defineProperty(exports, "allowsRepoSuperset", { enumerable: true, get: function () { return modular_schema_1.allowsRepoSuperset; } });
Object.defineProperty(exports, "genericFieldKind", { enumerable: true, get: function () { return modular_schema_1.genericFieldKind; } });
Object.defineProperty(exports, "NodeExistenceState", { enumerable: true, get: function () { return modular_schema_1.NodeExistenceState; } });
Object.defineProperty(exports, "FieldKindWithEditor", { enumerable: true, get: function () { return modular_schema_1.FieldKindWithEditor; } });
var multiplicity_1 = require("./multiplicity");
Object.defineProperty(exports, "Multiplicity", { enumerable: true, get: function () { return multiplicity_1.Multiplicity; } });
var typed_schema_1 = require("./typed-schema");
Object.defineProperty(exports, "TreeFieldSchema", { enumerable: true, get: function () { return typed_schema_1.TreeFieldSchema; } });
Object.defineProperty(exports, "Any", { enumerable: true, get: function () { return typed_schema_1.Any; } });
Object.defineProperty(exports, "InternalTypedSchemaTypes", { enumerable: true, get: function () { return typed_schema_1.InternalTypedSchemaTypes; } });
Object.defineProperty(exports, "ViewSchema", { enumerable: true, get: function () { return typed_schema_1.ViewSchema; } });
Object.defineProperty(exports, "FieldNodeSchema", { enumerable: true, get: function () { return typed_schema_1.FieldNodeSchema; } });
Object.defineProperty(exports, "LeafNodeSchema", { enumerable: true, get: function () { return typed_schema_1.LeafNodeSchema; } });
Object.defineProperty(exports, "MapNodeSchema", { enumerable: true, get: function () { return typed_schema_1.MapNodeSchema; } });
Object.defineProperty(exports, "ObjectNodeSchema", { enumerable: true, get: function () { return typed_schema_1.ObjectNodeSchema; } });
Object.defineProperty(exports, "schemaIsFieldNode", { enumerable: true, get: function () { return typed_schema_1.schemaIsFieldNode; } });
Object.defineProperty(exports, "schemaIsLeaf", { enumerable: true, get: function () { return typed_schema_1.schemaIsLeaf; } });
Object.defineProperty(exports, "schemaIsMap", { enumerable: true, get: function () { return typed_schema_1.schemaIsMap; } });
Object.defineProperty(exports, "schemaIsObjectNode", { enumerable: true, get: function () { return typed_schema_1.schemaIsObjectNode; } });
Object.defineProperty(exports, "bannedFieldNames", { enumerable: true, get: function () { return typed_schema_1.bannedFieldNames; } });
Object.defineProperty(exports, "fieldApiPrefixes", { enumerable: true, get: function () { return typed_schema_1.fieldApiPrefixes; } });
Object.defineProperty(exports, "validateObjectNodeFieldName", { enumerable: true, get: function () { return typed_schema_1.validateObjectNodeFieldName; } });
Object.defineProperty(exports, "markEager", { enumerable: true, get: function () { return typed_schema_1.markEager; } });
Object.defineProperty(exports, "TreeNodeSchemaBase", { enumerable: true, get: function () { return typed_schema_1.TreeNodeSchemaBase; } });
Object.defineProperty(exports, "isLazy", { enumerable: true, get: function () { return typed_schema_1.isLazy; } });
var schemaBuilderBase_1 = require("./schemaBuilderBase");
Object.defineProperty(exports, "SchemaBuilderBase", { enumerable: true, get: function () { return schemaBuilderBase_1.SchemaBuilderBase; } });
Object.defineProperty(exports, "normalizeAllowedTypes", { enumerable: true, get: function () { return schemaBuilderBase_1.normalizeAllowedTypes; } });
Object.defineProperty(exports, "normalizeField", { enumerable: true, get: function () { return schemaBuilderBase_1.normalizeField; } });
var schemaBuilder_1 = require("./schemaBuilder");
Object.defineProperty(exports, "SchemaBuilderInternal", { enumerable: true, get: function () { return schemaBuilder_1.SchemaBuilderInternal; } });
var deltaUtils_1 = require("./deltaUtils");
Object.defineProperty(exports, "mapRootChanges", { enumerable: true, get: function () { return deltaUtils_1.mapRootChanges; } });
Object.defineProperty(exports, "mapFieldChanges", { enumerable: true, get: function () { return deltaUtils_1.mapFieldChanges; } });
Object.defineProperty(exports, "mapFieldsChanges", { enumerable: true, get: function () { return deltaUtils_1.mapFieldsChanges; } });
Object.defineProperty(exports, "mapMark", { enumerable: true, get: function () { return deltaUtils_1.mapMark; } });
Object.defineProperty(exports, "mapMarkList", { enumerable: true, get: function () { return deltaUtils_1.mapMarkList; } });
var chunked_forest_1 = require("./chunked-forest");
Object.defineProperty(exports, "chunkTree", { enumerable: true, get: function () { return chunked_forest_1.chunkTree; } });
Object.defineProperty(exports, "buildChunkedForest", { enumerable: true, get: function () { return chunked_forest_1.buildChunkedForest; } });
Object.defineProperty(exports, "defaultChunkPolicy", { enumerable: true, get: function () { return chunked_forest_1.defaultChunkPolicy; } });
Object.defineProperty(exports, "makeTreeChunker", { enumerable: true, get: function () { return chunked_forest_1.makeTreeChunker; } });
Object.defineProperty(exports, "decode", { enumerable: true, get: function () { return chunked_forest_1.decode; } });
Object.defineProperty(exports, "uncompressedEncode", { enumerable: true, get: function () { return chunked_forest_1.uncompressedEncode; } });
Object.defineProperty(exports, "schemaCompressedEncode", { enumerable: true, get: function () { return chunked_forest_1.schemaCompressedEncode; } });
Object.defineProperty(exports, "EncodedChunk", { enumerable: true, get: function () { return chunked_forest_1.EncodedChunk; } });
var node_key_1 = require("./node-key");
Object.defineProperty(exports, "compareLocalNodeKeys", { enumerable: true, get: function () { return node_key_1.compareLocalNodeKeys; } });
Object.defineProperty(exports, "createNodeKeyManager", { enumerable: true, get: function () { return node_key_1.createNodeKeyManager; } });
Object.defineProperty(exports, "createMockNodeKeyManager", { enumerable: true, get: function () { return node_key_1.createMockNodeKeyManager; } });
Object.defineProperty(exports, "NodeKeyIndex", { enumerable: true, get: function () { return node_key_1.NodeKeyIndex; } });
Object.defineProperty(exports, "nodeKeyFieldKey", { enumerable: true, get: function () { return node_key_1.nodeKeyFieldKey; } });
Object.defineProperty(exports, "nodeKeyTreeIdentifier", { enumerable: true, get: function () { return node_key_1.nodeKeyTreeIdentifier; } });
var default_schema_1 = require("./default-schema");
Object.defineProperty(exports, "FieldKinds", { enumerable: true, get: function () { return default_schema_1.FieldKinds; } });
Object.defineProperty(exports, "DefaultChangeFamily", { enumerable: true, get: function () { return default_schema_1.DefaultChangeFamily; } });
Object.defineProperty(exports, "DefaultEditBuilder", { enumerable: true, get: function () { return default_schema_1.DefaultEditBuilder; } });
Object.defineProperty(exports, "defaultSchemaPolicy", { enumerable: true, get: function () { return default_schema_1.defaultSchemaPolicy; } });
Object.defineProperty(exports, "intoDelta", { enumerable: true, get: function () { return default_schema_1.intoDelta; } });
Object.defineProperty(exports, "relevantRemovedRoots", { enumerable: true, get: function () { return default_schema_1.relevantRemovedRoots; } });
var flex_tree_1 = require("./flex-tree");
Object.defineProperty(exports, "Skip", { enumerable: true, get: function () { return flex_tree_1.Skip; } });
Object.defineProperty(exports, "getTreeContext", { enumerable: true, get: function () { return flex_tree_1.getTreeContext; } });
Object.defineProperty(exports, "boxedIterator", { enumerable: true, get: function () { return flex_tree_1.boxedIterator; } });
Object.defineProperty(exports, "TreeStatus", { enumerable: true, get: function () { return flex_tree_1.TreeStatus; } });
Object.defineProperty(exports, "Context", { enumerable: true, get: function () { return flex_tree_1.Context; } });
Object.defineProperty(exports, "onNextChange", { enumerable: true, get: function () { return flex_tree_1.onNextChange; } });
Object.defineProperty(exports, "isFlexTreeNode", { enumerable: true, get: function () { return flex_tree_1.isFlexTreeNode; } });
Object.defineProperty(exports, "flexTreeMarker", { enumerable: true, get: function () { return flex_tree_1.flexTreeMarker; } });
Object.defineProperty(exports, "FlexTreeEntityKind", { enumerable: true, get: function () { return flex_tree_1.FlexTreeEntityKind; } });
var storedToViewSchema_1 = require("./storedToViewSchema");
Object.defineProperty(exports, "treeSchemaFromStoredSchema", { enumerable: true, get: function () { return storedToViewSchema_1.treeSchemaFromStoredSchema; } });
var treeCompressionUtils_1 = require("./treeCompressionUtils");
Object.defineProperty(exports, "TreeCompressionStrategy", { enumerable: true, get: function () { return treeCompressionUtils_1.TreeCompressionStrategy; } });
var detachedFieldIndexSummarizer_1 = require("./detachedFieldIndexSummarizer");
Object.defineProperty(exports, "DetachedFieldIndexSummarizer", { enumerable: true, get: function () { return detachedFieldIndexSummarizer_1.DetachedFieldIndexSummarizer; } });
var mitigatedChangeFamily_1 = require("./mitigatedChangeFamily");
Object.defineProperty(exports, "makeMitigatedChangeFamily", { enumerable: true, get: function () { return mitigatedChangeFamily_1.makeMitigatedChangeFamily; } });
//# sourceMappingURL=index.js.map