import { FluidObject } from '@fluidframework/core-interfaces';
import { IChannel } from '@fluidframework/datastore-definitions';
import { IChannelAttributes } from '@fluidframework/datastore-definitions';
import { IChannelFactory } from '@fluidframework/datastore-definitions';
import { IChannelServices } from '@fluidframework/datastore-definitions';
import { IExperimentalIncrementalSummaryContext } from '@fluidframework/runtime-definitions';
import { IFluidDataStoreRuntime } from '@fluidframework/datastore-definitions';
import { IFluidHandle } from '@fluidframework/core-interfaces';
import { IFluidLoadable } from '@fluidframework/core-interfaces';
import { IGarbageCollectionData } from '@fluidframework/runtime-definitions';
import { ISharedObject } from '@fluidframework/shared-object-base';
import { ISummaryTreeWithStats } from '@fluidframework/runtime-definitions';
import { ITelemetryContext } from '@fluidframework/runtime-definitions';
import { SessionSpaceCompressedId } from '@fluidframework/runtime-definitions';
import { StableId } from '@fluidframework/runtime-definitions';
import type { Static } from '@sinclair/typebox';
import type { TSchema } from '@sinclair/typebox';

/* Excluded from this release type: adaptEnum */

/* Excluded from this release type: Adapters */

/* Excluded from this release type: AllowedTypes */

/* Excluded from this release type: AllowedTypes_2 */

/* Excluded from this release type: AllowedTypeSet */

/* Excluded from this release type: AllowedTypesToFlexInsertableTree */

/* Excluded from this release type: AllowedUpdateType */

/* Excluded from this release type: AllowOptional */

/* Excluded from this release type: AllowOptionalNotFlattened */

/* Excluded from this release type: Anchor */

/* Excluded from this release type: AnchorEvents */

/* Excluded from this release type: AnchorLocator */

/* Excluded from this release type: AnchorNode */

/* Excluded from this release type: AnchorSet */

/* Excluded from this release type: AnchorSetRootEvents */

/* Excluded from this release type: AnchorSlot */

/* Excluded from this release type: anchorSlot */

/* Excluded from this release type: AnnouncedVisitor */

/* Excluded from this release type: Any */

/* Excluded from this release type: ApplyKind */

/* Excluded from this release type: ApplyMultiplicity */

/* Excluded from this release type: arrayLikeMarkerSymbol */

/* Excluded from this release type: ArrayLikeMut */

/* Excluded from this release type: ArrayToUnion */

/* Excluded from this release type: AssignableFieldKinds */

/* Excluded from this release type: Assume */

/**
 * Allows boxed iteration of a tree/field
 */
declare const boxedIterator: unique symbol;

/* Excluded from this release type: Brand */

/* Excluded from this release type: brand */

/* Excluded from this release type: BrandedKey */

/* Excluded from this release type: BrandedKeyContent */

/* Excluded from this release type: BrandedMapSubset */

/* Excluded from this release type: BrandedType */

/* Excluded from this release type: buildTreeConfiguration */

/* Excluded from this release type: ChangesetLocalId */

/* Excluded from this release type: CheckoutEvents */

/* Excluded from this release type: CheckTypesOverlap */

/* Excluded from this release type: ChildCollection */

/* Excluded from this release type: ChildLocation */

/* Excluded from this release type: CollectOptions */

/* Excluded from this release type: compareLocalNodeKeys */

/* Excluded from this release type: ContextuallyTypedFieldData */

/* Excluded from this release type: ContextuallyTypedNodeData */

/* Excluded from this release type: ContextuallyTypedNodeDataObject */

/* Excluded from this release type: Contravariant */

/* Excluded from this release type: Covariant */

/**
 * Non-exported symbol used to make IterableTreeListContent constructable only from within this file.
 */
declare const create: unique symbol;

/* Excluded from this release type: createEmitter */

/* Excluded from this release type: CursorAdapter */

/* Excluded from this release type: cursorForTypedTreeData */

/* Excluded from this release type: cursorFromContextualData */

/* Excluded from this release type: CursorLocationType */

/**
 * A symbol for marking an object as an {@link ITreeCursor}.
 *
 * Useful when APIs want to take in tree data in multiple formats, including cursors.
 */
declare const CursorMarker: unique symbol;

/* Excluded from this release type: CursorWithNode */

/* Excluded from this release type: defaultSchemaPolicy */

/* Excluded from this release type: DeltaDetachedNodeBuild */

/* Excluded from this release type: DeltaDetachedNodeChanges */

/* Excluded from this release type: DeltaDetachedNodeDestruction */

/* Excluded from this release type: DeltaDetachedNodeId */

/* Excluded from this release type: DeltaDetachedNodeRename */

/* Excluded from this release type: DeltaFieldChanges */

/* Excluded from this release type: DeltaFieldMap */

/* Excluded from this release type: DeltaMark */

/* Excluded from this release type: DeltaProtoNode */

/* Excluded from this release type: DeltaRoot */

/* Excluded from this release type: DeltaVisitor */

/* Excluded from this release type: DetachedField */

/* Excluded from this release type: DetachedPlaceUpPath */

/* Excluded from this release type: DetachedRangeUpPath */

/* Excluded from this release type: DiscardResult */

/* Excluded from this release type: disposeSymbol */

/* Excluded from this release type: EditableTreeEvents */

/* Excluded from this release type: EmptyKey */

/* Excluded from this release type: EmptyObject */

/* Excluded from this release type: encodeTreeSchema */

/* Excluded from this release type: enumFromStrings */

/* Excluded from this release type: Events */

/* Excluded from this release type: ExtractFromOpaque */

/* Excluded from this release type: extractFromOpaque */

/* Excluded from this release type: ExtractItemType */

/* Excluded from this release type: fail */

/* Excluded from this release type: FieldAnchor */

/* Excluded from this release type: FieldGenerator */

/* Excluded from this release type: FieldKey */

/* Excluded from this release type: FieldKind */

/* Excluded from this release type: FieldKind_2 */

/* Excluded from this release type: FieldKindIdentifier */

/* Excluded from this release type: FieldKinds */

/* Excluded from this release type: FieldKindSpecifier */

/* Excluded from this release type: FieldLocation */

/* Excluded from this release type: FieldMapObject */

/* Excluded from this release type: FieldNodeSchema */

/* Excluded from this release type: Fields */

/* Excluded from this release type: FieldSchema */

/* Excluded from this release type: FieldUpPath */

/* Excluded from this release type: FlattenKeys */

/* Excluded from this release type: FlexibleFieldContent */

/* Excluded from this release type: FlexibleNodeContent */

/* Excluded from this release type: FlexibleNodeSubSequence */

/* Excluded from this release type: FlexImplicitFieldSchema */

/* Excluded from this release type: FlexList */

/* Excluded from this release type: FlexListToUnion */

/* Excluded from this release type: FlexTreeEntity */

/* Excluded from this release type: FlexTreeEntityKind */

/* Excluded from this release type: FlexTreeField */

/* Excluded from this release type: FlexTreeFieldNode */

/* Excluded from this release type: FlexTreeLeafNode */

/* Excluded from this release type: FlexTreeMapNode */

/* Excluded from this release type: flexTreeMarker */

/* Excluded from this release type: FlexTreeNode */

/* Excluded from this release type: FlexTreeNodeKeyField */

/* Excluded from this release type: FlexTreeNodeSchema */

/* Excluded from this release type: FlexTreeObjectNode */

/* Excluded from this release type: FlexTreeObjectNodeFields */

/* Excluded from this release type: FlexTreeObjectNodeTyped */

/* Excluded from this release type: FlexTreeOptionalField */

/* Excluded from this release type: FlexTreeRequiredField */

/* Excluded from this release type: FlexTreeSequenceField */

/* Excluded from this release type: FlexTreeTypedField */

/* Excluded from this release type: FlexTreeTypedFieldInner */

/* Excluded from this release type: FlexTreeTypedNode */

/* Excluded from this release type: FlexTreeTypedNodeUnion */

/* Excluded from this release type: FlexTreeUnboxField */

/* Excluded from this release type: FlexTreeUnboxFieldInner */

/* Excluded from this release type: FlexTreeUnboxNode */

/* Excluded from this release type: FlexTreeUnboxNodeUnion */

/* Excluded from this release type: FlexTreeUnknownUnboxed */

/* Excluded from this release type: FlexTreeView */

/* Excluded from this release type: Forbidden */

/* Excluded from this release type: forbiddenFieldKindIdentifier */

/* Excluded from this release type: ForestEvents */

/* Excluded from this release type: ForestLocation */

/* Excluded from this release type: ForestType */

/* Excluded from this release type: FullSchemaPolicy */

/* Excluded from this release type: GenericFieldsNode */

/* Excluded from this release type: GenericTreeNode */

/* Excluded from this release type: getPrimaryField */

/* Excluded from this release type: HasListeners */

/* Excluded from this release type: IChannel */

/* Excluded from this release type: IChannelAttributes */

/* Excluded from this release type: IChannelFactory */

/* Excluded from this release type: IChannelServices */

/* Excluded from this release type: ICodecOptions */

/* Excluded from this release type: IdAllocator */

/* Excluded from this release type: IDefaultEditBuilder */

/* Excluded from this release type: IDisposable */

/* Excluded from this release type: IEditableForest */

/* Excluded from this release type: IEmitter */

/* Excluded from this release type: IExperimentalIncrementalSummaryContext */

/* Excluded from this release type: IFluidDataStoreRuntime */

/* Excluded from this release type: IFluidHandle */

/* Excluded from this release type: IForestSubscription */

/* Excluded from this release type: IGarbageCollectionData */

/* Excluded from this release type: ImplicitAllowedTypes */

/* Excluded from this release type: ImplicitAllowedTypes_2 */

/* Excluded from this release type: ImplicitFieldSchema */

/* Excluded from this release type: InitializeAndSchematizeConfiguration */

/* Excluded from this release type: _InlineTrick */

/* Excluded from this release type: InsertableFlexField */

/* Excluded from this release type: InsertableFlexNode */

/* Excluded from this release type: InsertableObjectFromSchemaRecord */

/* Excluded from this release type: InsertableTreeFieldFromImplicitField */

/* Excluded from this release type: InsertableTreeNodeFromImplicitAllowedTypes */

/* Excluded from this release type: InsertableTypedNode */

declare namespace InternalClassTreeTypes {
    export {
        ObjectFromSchemaRecord,
        InsertableObjectFromSchemaRecord,
        TreeNodeFromImplicitAllowedTypes,
        ImplicitAllowedTypes_2 as ImplicitAllowedTypes,
        FieldKind_2 as FieldKind,
        InsertableTreeFieldFromImplicitField,
        AllowedTypes_2 as AllowedTypes,
        FieldSchema,
        ApplyKind,
        InsertableTypedNode,
        NodeBuilderData
    }
}

declare namespace InternalTypedSchemaTypes {
    export {
        ArrayToUnion,
        FlexList,
        LazyItem,
        ExtractItemType,
        FlexListToUnion
    }
}
export { InternalTypedSchemaTypes }

declare namespace InternalTypes {
    export {
        MakeNominal,
        RestrictiveReadonlyRecord,
        NodeKind,
        TreeNodeSchemaClass,
        TreeNodeSchemaNonClass,
        TreeNodeSchemaCore,
        InternalClassTreeTypes,
        TreeListNodeBase
    }
}
export { InternalTypes }

/* Excluded from this release type: Invariant */

/* Excluded from this release type: isAny */

/* Excluded from this release type: IsArrayOfOne */

/* Excluded from this release type: isContextuallyTypedNodeDataObject */

/* Excluded from this release type: IsEvent */

/* Excluded from this release type: ISharedObject */

/* Excluded from this release type: ISharedTree */

/* Excluded from this release type: isNeverField */

/* Excluded from this release type: ISubscribable */

/* Excluded from this release type: ISummaryTreeWithStats */

/* Excluded from this release type: ITelemetryContext */

/* Excluded from this release type: IterableTreeListContent */

/* Excluded from this release type: ITransaction */

/* Excluded from this release type: ITree */

/* Excluded from this release type: ITreeCheckout */

/* Excluded from this release type: ITreeCheckoutFork */

/* Excluded from this release type: ITreeCursor */

/* Excluded from this release type: ITreeCursorSynchronous */

/* Excluded from this release type: ITreeSubscriptionCursor */

/* Excluded from this release type: ITreeSubscriptionCursorState */

/* Excluded from this release type: ITreeViewFork */

/* Excluded from this release type: JsonableTree */

/* Excluded from this release type: jsonableTreeFromCursor */

/* Excluded from this release type: JsonCompatible */

/* Excluded from this release type: JsonCompatibleObject */

/* Excluded from this release type: JsonCompatibleReadOnly */

/* Excluded from this release type: JsonValidator */

/* Excluded from this release type: LazyItem */

/* Excluded from this release type: LazyTreeNodeSchema */

/* Excluded from this release type: leaf */

/* Excluded from this release type: LeafNodeSchema */

/* Excluded from this release type: LocalNodeKey */

/* Excluded from this release type: MakeNominal */

/* Excluded from this release type: MapFieldSchema */

/* Excluded from this release type: MapNodeSchema */

/* Excluded from this release type: MapTree */

/* Excluded from this release type: MarkedArrayLike */

/* Excluded from this release type: Multiplicity */

/* Excluded from this release type: Named */

/* Excluded from this release type: NameFromBranded */

/* Excluded from this release type: NestedMap */

/* Excluded from this release type: NewFieldContent */

/* Excluded from this release type: NodeBase */

/* Excluded from this release type: NodeBuilderData */

/* Excluded from this release type: NodeData */

/* Excluded from this release type: NodeExistsConstraint */

/* Excluded from this release type: NodeFromSchema */

/* Excluded from this release type: NodeIndex */

/* Excluded from this release type: nodeKeyFieldKey */

/* Excluded from this release type: NodeKeyFieldKind */

/* Excluded from this release type: NodeKeys */

/* Excluded from this release type: NodeKind */

/* Excluded from this release type: NoListenersCallback */

/* Excluded from this release type: noopValidator */

/* Excluded from this release type: NormalizeAllowedTypes */

/* Excluded from this release type: NormalizeField */

/* Excluded from this release type: NormalizeFieldSchema */

/* Excluded from this release type: NormalizeObjectNodeFields */

/* Excluded from this release type: ObjectFromSchemaRecord */

/* Excluded from this release type: ObjectNodeSchema */

/* Excluded from this release type: oneFromSet */

/**
 * {@inheritdoc TreeNode.[onNextChange]}
 */
declare const onNextChange: unique symbol;

/* Excluded from this release type: Opaque */

/* Excluded from this release type: Optional */

/* Excluded from this release type: OptionalFieldEditBuilder */

/* Excluded from this release type: OptionalFields */

/* Excluded from this release type: PathRootPrefix */

/* Excluded from this release type: PathVisitor */

/* Excluded from this release type: PlaceIndex */

/* Excluded from this release type: PlaceUpPath */

/* Excluded from this release type: prefixFieldPath */

/* Excluded from this release type: prefixPath */

/* Excluded from this release type: ProtoNodes */

/* Excluded from this release type: Range_2 */

/* Excluded from this release type: RangeQueryResult */

/* Excluded from this release type: RangeUpPath */

/* Excluded from this release type: _RecursiveTrick */

/* Excluded from this release type: Required_2 */

/* Excluded from this release type: RequiredFields */

/* Excluded from this release type: RestrictiveReadonlyRecord */

/* Excluded from this release type: Revertible */

/* Excluded from this release type: RevertibleKind */

/* Excluded from this release type: RevertResult */

/* Excluded from this release type: RootField */

/* Excluded from this release type: rootField */

/* Excluded from this release type: rootFieldKey */

/* Excluded from this release type: runSynchronous */

/* Excluded from this release type: SchemaBuilderBase */

/* Excluded from this release type: SchemaBuilderOptions */

/* Excluded from this release type: SchemaCollection */

/* Excluded from this release type: SchemaConfiguration */

/* Excluded from this release type: SchemaEvents */

/* Excluded from this release type: SchemaFactory */

/* Excluded from this release type: schemaIsFieldNode */

/* Excluded from this release type: schemaIsLeaf */

/* Excluded from this release type: schemaIsMap */

/* Excluded from this release type: schemaIsObjectNode */

/* Excluded from this release type: SchemaLibrary */

/* Excluded from this release type: SchemaLibraryData */

/* Excluded from this release type: SchemaLintConfiguration */

/* Excluded from this release type: SchematizeConfiguration */

/* Excluded from this release type: SchemaValidationFunction */

/* Excluded from this release type: Sequence */

/* Excluded from this release type: SequenceFieldEditBuilder */

/* Excluded from this release type: SessionSpaceCompressedId */

/* Excluded from this release type: SharedTree */

/* Excluded from this release type: SharedTreeContentSnapshot */

/* Excluded from this release type: SharedTreeFactory */

/* Excluded from this release type: SharedTreeOptions */

/* Excluded from this release type: singleTextCursor */

/* Excluded from this release type: singletonSchema */

/* Excluded from this release type: StableId */

/* Excluded from this release type: StableNodeKey */

/* Excluded from this release type: stackTreeFieldCursor */

/* Excluded from this release type: stackTreeNodeCursor */

/* Excluded from this release type: StoredSchemaCollection */

/* Excluded from this release type: StoredSchemaRepository */

/* Excluded from this release type: test_RecursiveObject */

/* Excluded from this release type: test_RecursiveObject_base */

/* Excluded from this release type: TransactionResult */

/* Excluded from this release type: Tree */

/* Excluded from this release type: TreeAdapter */

/* Excluded from this release type: TreeApi */

/* Excluded from this release type: TreeCompressionStrategy */

/* Excluded from this release type: TreeConfiguration */

/* Excluded from this release type: TreeContent */

/* Excluded from this release type: TreeContext */

/* Excluded from this release type: TreeDataContext */

/* Excluded from this release type: TreeEvent */

/* Excluded from this release type: TreeFactory */

/* Excluded from this release type: TreeFieldFromImplicitField */

/* Excluded from this release type: TreeFieldSchema */

/* Excluded from this release type: TreeFieldStoredSchema */

/* Excluded from this release type: TreeListNode */

/* Excluded from this release type: TreeListNodeBase */

/* Excluded from this release type: TreeLocation */

/* Excluded from this release type: TreeMapNode */

/* Excluded from this release type: TreeMapNodeBase */

/* Excluded from this release type: TreeNavigationResult */

/* Excluded from this release type: TreeNodeEvents */

/* Excluded from this release type: TreeNodeFromImplicitAllowedTypes */

/* Excluded from this release type: TreeNodeSchema */

/* Excluded from this release type: TreeNodeSchemaBase */

/* Excluded from this release type: TreeNodeSchemaClass */

/* Excluded from this release type: TreeNodeSchemaCore */

/* Excluded from this release type: TreeNodeSchemaIdentifier */

/* Excluded from this release type: TreeNodeSchemaNonClass */

/* Excluded from this release type: TreeNodeStoredSchema */

/* Excluded from this release type: TreeOptions */

/* Excluded from this release type: TreeSchema */

/* Excluded from this release type: treeSchemaFromStoredSchema */

/* Excluded from this release type: TreeStatus */

/* Excluded from this release type: TreeStoredSchema */

/* Excluded from this release type: TreeType */

/* Excluded from this release type: TreeTypeSet */

/* Excluded from this release type: TreeValue */

/* Excluded from this release type: TreeView */

/* Excluded from this release type: typeboxValidator */

/* Excluded from this release type: TypedFields */

/* Excluded from this release type: typedObjectValues */

/* Excluded from this release type: typeNameSymbol */

/* Excluded from this release type: UnbrandedName */

/* Excluded from this release type: Unenforced */

/* Excluded from this release type: Unhydrated */

/* Excluded from this release type: UpPath */

/* Excluded from this release type: UpPathDefault */

/* Excluded from this release type: Value */

/* Excluded from this release type: ValueFieldEditBuilder */

/* Excluded from this release type: ValueFromBranded */

/* Excluded from this release type: ValueSchema */

/* Excluded from this release type: valueSymbol */

export { }
