/*!
 * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
 * Licensed under the MIT License.
 */
export { EmptyKey, type FieldKey, type TreeType, type Value, type TreeValue, AnchorSet, type DetachedField, type UpPath, type Range, type RangeUpPath, type PlaceUpPath, type DetachedRangeUpPath, type DetachedPlaceUpPath, type PlaceIndex, type NodeIndex, type FieldUpPath, type Anchor, type RootField, type ChildCollection, type ChildLocation, type DeltaVisitor, type AnnouncedVisitor, type FieldMapObject, type NodeData, type GenericTreeNode, type JsonableTree, type ProtoNodes, type DeltaRoot, type DeltaProtoNode, type DeltaMark, type DeltaDetachedNodeId, type DeltaFieldMap, type DeltaDetachedNodeChanges, type DeltaDetachedNodeBuild, type DeltaDetachedNodeDestruction, type DeltaDetachedNodeRename, type DeltaFieldChanges, type RevisionTag, rootFieldKey, rootField, type ITreeCursor, CursorLocationType, type ITreeCursorSynchronous, type GenericFieldsNode, type AnchorLocator, TreeNavigationResult, type IEditableForest, type IForestSubscription, type TreeLocation, type FieldLocation, type ForestLocation, type ITreeSubscriptionCursor, ITreeSubscriptionCursorState, type TreeNodeSchemaIdentifier, type TreeFieldStoredSchema, ValueSchema, TreeNodeStoredSchema, type TreeStoredSchemaSubscription, type FieldKindIdentifier, type TreeTypeSet, type TreeStoredSchema, type FieldAnchor, type SchemaEvents, type ChangesetLocalId, type ForestEvents, type PathRootPrefix, type AnchorSlot, type AnchorNode, anchorSlot, type UpPathDefault, type AnchorEvents, type AnchorSetRootEvents, type FieldKindData, AllowedUpdateType, type PathVisitor, type Adapters, type TreeAdapter, type MapTree, type Revertible, CommitKind, RevertibleStatus, type CommitMetadata, forbiddenFieldKindIdentifier, identifierFieldKindIdentifier, type StoredSchemaCollection, type ErasedTreeNodeSchemaDataFormat, ObjectNodeStoredSchema, MapNodeStoredSchema, LeafNodeStoredSchema, Multiplicity, type SchemaPolicy, } from "./core/index.js";
export { type Brand, type Opaque, extractFromOpaque, brand, type ValueFromBranded, type NameFromBranded, type JsonCompatible, type JsonCompatibleObject, type NestedMap, fail, type IdAllocator, TransactionResult, type BrandedKey, type BrandedMapSubset, type RangeQueryResult, type Named, oneFromSet, disposeSymbol, type IDisposable, } from "./util/index.js";
export { type Listeners, type IsListener, type Listenable, type Off, createEmitter, type IEmitter, type NoListenersCallback, type HasListeners, } from "./events/index.js";
export { leaf } from "./domains/index.js";
export { FlexFieldKind, isNeverField, type FullSchemaPolicy, valueSymbol, type ContextuallyTypedNodeDataObject, type ContextuallyTypedNodeData, type MarkedArrayLike, isContextuallyTypedNodeDataObject, defaultSchemaPolicy, jsonableTreeFromCursor, type StableNodeKey, type LocalNodeKey, compareLocalNodeKeys, type IDefaultEditBuilder, type ValueFieldEditBuilder, type OptionalFieldEditBuilder, type SequenceFieldEditBuilder, prefixPath, prefixFieldPath, cursorForJsonableTreeNode, stackTreeNodeCursor, type CursorAdapter, type CursorWithNode, type FlexTreeNodeEvents, type ArrayLikeMut, FieldKinds, type ContextuallyTypedFieldData, cursorFromContextualData, type FlexAllowedTypes, type FlexTreeNodeSchema, type FlexTreeSchema, type SchemaLibrary, type SchemaLibraryData, FlexFieldSchema, Any, type NewFieldContent, type NodeExistsConstraint, cursorForTypedTreeData, type LazyTreeNodeSchema, type FieldGenerator, type TreeDataContext, type SchemaLintConfiguration, TreeStatus, type FlexTreeFieldNode, type FlexibleFieldContent, type FlexibleNodeContent, type FlexTreeLeafNode, type FlexTreeMapNode, type FlexTreeOptionalField, type FlexTreeRequiredField, type FlexTreeSequenceField, type FlexTreeObjectNode, type FlexTreeObjectNodeTyped, type AssignableFieldKinds, type FlexTreeContext, type FlexTreeTypedField, type FlexTreeTypedNode, type FlexTreeTypedNodeUnion, type FlexTreeEntity, type FlexTreeField, type FlexTreeNode, TreeNodeSchemaBase, FlexFieldNodeSchema, LeafNodeSchema, FlexMapNodeSchema, FlexObjectNodeSchema, type CheckTypesOverlap, SchemaBuilderBase, type FlexImplicitFieldSchema, type FlexImplicitAllowedTypes, type Unenforced, schemaIsFieldNode, schemaIsLeaf, schemaIsMap, schemaIsObjectNode, type AllowedTypeSet, type SchemaBuilderOptions, type SchemaCollection, TreeCompressionStrategy, treeSchemaFromStoredSchema, encodeTreeSchema, stackTreeFieldCursor, type FlexTreeUnknownUnboxed, type InsertableFlexNode, type InsertableFlexField, type AllowedTypesToFlexInsertableTree, type ApplyMultiplicity, type NormalizeObjectNodeFields, type NormalizeFieldSchema, type FlexObjectNodeFields, type FlexMapFieldSchema, type LazyItem, type PropertyNameFromFieldKey, type ReservedObjectNodeFieldPropertyNames, type ReservedObjectNodeFieldPropertyNamePrefixes, reservedObjectNodeFieldPropertyNames, reservedObjectNodeFieldPropertyNamePrefixes, type FlexTreeObjectNodeFieldsInner, } from "./feature-libraries/index.js";
export { type ISharedTree, type ITreeCheckout, type ITransaction, runSynchronous, type SharedTreeOptions, type ITreeCheckoutFork, type CheckoutEvents, type SchematizeConfiguration, type TreeContent, type InitializeAndSchematizeConfiguration, type SchemaConfiguration, ForestType, type SharedTreeContentSnapshot, type FlexTreeView, type ITreeViewFork, buildTreeConfiguration, type ISharedTreeEditor, type ISchemaEditor, type RevertibleFactory, type SharedTreeFormatOptions, SharedTreeFormatVersion, Tree, type TransactionConstraint, type NodeInDocumentConstraint, type RunTransaction, rollback, } from "./shared-tree/index.js";
export { TreeArrayNode, type Unhydrated, IterableTreeArrayContent, TreeNode, type ITree, type TreeNodeSchema, TreeViewConfiguration, type ITreeViewConfiguration, type ITreeConfigurationOptions, type TreeView, type TreeViewEvents, SchemaFactory, type ImplicitFieldSchema, type TreeFieldFromImplicitField, type TreeChangeEvents, type NodeFromSchema, type TreeMapNode, type InsertableTreeNodeFromImplicitAllowedTypes, type TreeLeafValue, FieldKind, FieldSchema, type ImplicitAllowedTypes, type InsertableTreeFieldFromImplicitField, type InsertableTypedNode, NodeKind, type TreeObjectNode, type TreeNodeFromImplicitAllowedTypes, type TreeNodeSchemaClass, type SchemaCompatibilityStatus, type FieldProps, type InternalTreeNode, type TreeNodeApi, type TreeNodeSchemaCore, type AllowedTypes, type WithType, type TreeObjectNodeUnsafe, type InsertableTreeNodeFromImplicitAllowedTypesUnsafe, type TreeArrayNodeUnsafe, type TreeMapNodeUnsafe, type InsertableObjectFromSchemaRecordUnsafe, type InsertableTreeFieldFromImplicitFieldUnsafe, type FieldSchemaUnsafe, type ValidateRecursiveSchema, adaptEnum, enumFromStrings, singletonSchema, typedObjectValues, test_RecursiveObject, test_RecursiveObject_base, test_RecursiveObjectPojoMode, } from "./simple-tree/index.js";
export { SharedTree, configuredSharedTree } from "./treeFactory.js";
export type { ICodecOptions, JsonValidator, SchemaValidationFunction } from "./codec/index.js";
export { noopValidator } from "./codec/index.js";
export { typeboxValidator } from "./external-utilities/index.js";
export { type Invariant, type Contravariant, type Covariant, BrandedType, type ExtractFromOpaque, type Assume, type AllowOptional, type RequiredFields, type OptionalFields, type _RecursiveTrick, type AllowOptionalNotFlattened, type isAny, type BrandedKeyContent, type RestrictiveReadonlyRecord, type MakeNominal, } from "./util/index.js";
export { type NormalizeField, type NormalizeAllowedTypes, type FlexTreeTypedFieldInner, type FlexTreeUnboxFieldInner, type FlexTreeObjectNodeFields, type FlexTreeUnboxField, type FlexTreeUnboxNode, type FlexTreeUnboxNodeUnion, type FlexTreeNodeKeyField, type IsArrayOfOne, type FlexibleNodeSubSequence, flexTreeMarker, FlexTreeEntityKind, type NodeKeyManager, type CollectOptions, type TypedFields, type UnbrandedName, type EmptyObject, type Required, type Optional, type Identifier, type Forbidden, type Sequence, } from "./feature-libraries/index.js";
import * as InternalTypes from "./internalTypes.js";
export { 
/**
 * Contains types used by the API, but which serve mechanical purposes and do not represent semantic concepts.
 * They are used internally to implement API aspects, but are not intended for use by external consumers.
 */
InternalTypes, };
//# sourceMappingURL=index.d.ts.map