@fluidframework/tree 2.4.0-299374 → 2.4.0-299707

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (109) hide show
  1. package/.vscode/settings.json +1 -9
  2. package/api-report/tree.alpha.api.md +21 -78
  3. package/api-report/tree.beta.api.md +21 -46
  4. package/api-report/tree.legacy.alpha.api.md +21 -46
  5. package/api-report/tree.legacy.public.api.md +21 -46
  6. package/api-report/tree.public.api.md +21 -46
  7. package/dist/alpha.d.ts +0 -9
  8. package/dist/beta.d.ts +0 -2
  9. package/dist/index.d.ts +1 -1
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js.map +1 -1
  12. package/dist/internalTypes.d.ts +1 -1
  13. package/dist/internalTypes.d.ts.map +1 -1
  14. package/dist/internalTypes.js.map +1 -1
  15. package/dist/legacy.d.ts +0 -2
  16. package/dist/packageVersion.d.ts +1 -1
  17. package/dist/packageVersion.js +1 -1
  18. package/dist/packageVersion.js.map +1 -1
  19. package/dist/public.d.ts +0 -2
  20. package/dist/shared-tree/treeApi.d.ts +6 -6
  21. package/dist/shared-tree/treeApi.d.ts.map +1 -1
  22. package/dist/shared-tree/treeApi.js.map +1 -1
  23. package/dist/simple-tree/api/index.d.ts +2 -2
  24. package/dist/simple-tree/api/index.d.ts.map +1 -1
  25. package/dist/simple-tree/api/index.js.map +1 -1
  26. package/dist/simple-tree/api/tree.d.ts +3 -12
  27. package/dist/simple-tree/api/tree.d.ts.map +1 -1
  28. package/dist/simple-tree/api/tree.js.map +1 -1
  29. package/dist/simple-tree/api/typesUnsafe.d.ts +9 -48
  30. package/dist/simple-tree/api/typesUnsafe.d.ts.map +1 -1
  31. package/dist/simple-tree/api/typesUnsafe.js.map +1 -1
  32. package/dist/simple-tree/arrayNode.d.ts +3 -14
  33. package/dist/simple-tree/arrayNode.d.ts.map +1 -1
  34. package/dist/simple-tree/arrayNode.js.map +1 -1
  35. package/dist/simple-tree/core/treeNodeSchema.d.ts +5 -6
  36. package/dist/simple-tree/core/treeNodeSchema.d.ts.map +1 -1
  37. package/dist/simple-tree/core/treeNodeSchema.js.map +1 -1
  38. package/dist/simple-tree/core/withType.d.ts +1 -3
  39. package/dist/simple-tree/core/withType.d.ts.map +1 -1
  40. package/dist/simple-tree/core/withType.js.map +1 -1
  41. package/dist/simple-tree/index.d.ts +4 -4
  42. package/dist/simple-tree/index.d.ts.map +1 -1
  43. package/dist/simple-tree/index.js.map +1 -1
  44. package/dist/simple-tree/schemaTypes.d.ts +6 -58
  45. package/dist/simple-tree/schemaTypes.d.ts.map +1 -1
  46. package/dist/simple-tree/schemaTypes.js +1 -6
  47. package/dist/simple-tree/schemaTypes.js.map +1 -1
  48. package/dist/simple-tree/toMapTree.d.ts +2 -4
  49. package/dist/simple-tree/toMapTree.d.ts.map +1 -1
  50. package/dist/simple-tree/toMapTree.js.map +1 -1
  51. package/lib/alpha.d.ts +0 -9
  52. package/lib/beta.d.ts +0 -2
  53. package/lib/index.d.ts +1 -1
  54. package/lib/index.d.ts.map +1 -1
  55. package/lib/index.js.map +1 -1
  56. package/lib/internalTypes.d.ts +1 -1
  57. package/lib/internalTypes.d.ts.map +1 -1
  58. package/lib/internalTypes.js.map +1 -1
  59. package/lib/legacy.d.ts +0 -2
  60. package/lib/packageVersion.d.ts +1 -1
  61. package/lib/packageVersion.js +1 -1
  62. package/lib/packageVersion.js.map +1 -1
  63. package/lib/public.d.ts +0 -2
  64. package/lib/shared-tree/treeApi.d.ts +6 -6
  65. package/lib/shared-tree/treeApi.d.ts.map +1 -1
  66. package/lib/shared-tree/treeApi.js.map +1 -1
  67. package/lib/simple-tree/api/index.d.ts +2 -2
  68. package/lib/simple-tree/api/index.d.ts.map +1 -1
  69. package/lib/simple-tree/api/index.js.map +1 -1
  70. package/lib/simple-tree/api/tree.d.ts +3 -12
  71. package/lib/simple-tree/api/tree.d.ts.map +1 -1
  72. package/lib/simple-tree/api/tree.js.map +1 -1
  73. package/lib/simple-tree/api/typesUnsafe.d.ts +9 -48
  74. package/lib/simple-tree/api/typesUnsafe.d.ts.map +1 -1
  75. package/lib/simple-tree/api/typesUnsafe.js.map +1 -1
  76. package/lib/simple-tree/arrayNode.d.ts +3 -14
  77. package/lib/simple-tree/arrayNode.d.ts.map +1 -1
  78. package/lib/simple-tree/arrayNode.js.map +1 -1
  79. package/lib/simple-tree/core/treeNodeSchema.d.ts +5 -6
  80. package/lib/simple-tree/core/treeNodeSchema.d.ts.map +1 -1
  81. package/lib/simple-tree/core/treeNodeSchema.js.map +1 -1
  82. package/lib/simple-tree/core/withType.d.ts +1 -3
  83. package/lib/simple-tree/core/withType.d.ts.map +1 -1
  84. package/lib/simple-tree/core/withType.js.map +1 -1
  85. package/lib/simple-tree/index.d.ts +4 -4
  86. package/lib/simple-tree/index.d.ts.map +1 -1
  87. package/lib/simple-tree/index.js +1 -1
  88. package/lib/simple-tree/index.js.map +1 -1
  89. package/lib/simple-tree/schemaTypes.d.ts +6 -58
  90. package/lib/simple-tree/schemaTypes.d.ts.map +1 -1
  91. package/lib/simple-tree/schemaTypes.js +0 -5
  92. package/lib/simple-tree/schemaTypes.js.map +1 -1
  93. package/lib/simple-tree/toMapTree.d.ts +2 -4
  94. package/lib/simple-tree/toMapTree.d.ts.map +1 -1
  95. package/lib/simple-tree/toMapTree.js.map +1 -1
  96. package/package.json +23 -39
  97. package/src/index.ts +0 -9
  98. package/src/internalTypes.ts +0 -3
  99. package/src/packageVersion.ts +1 -1
  100. package/src/shared-tree/treeApi.ts +9 -19
  101. package/src/simple-tree/api/index.ts +0 -5
  102. package/src/simple-tree/api/tree.ts +2 -24
  103. package/src/simple-tree/api/typesUnsafe.ts +18 -82
  104. package/src/simple-tree/arrayNode.ts +14 -34
  105. package/src/simple-tree/core/treeNodeSchema.ts +5 -7
  106. package/src/simple-tree/core/withType.ts +1 -10
  107. package/src/simple-tree/index.ts +1 -15
  108. package/src/simple-tree/schemaTypes.ts +5 -68
  109. package/src/simple-tree/toMapTree.ts +1 -4
@@ -15,15 +15,7 @@
15
15
  // This extension appears to invoke mocha programmatically, meaning that the enablement of this option in the common
16
16
  // mocha test config isn't sufficient; it also needs to be enabled here.
17
17
  "mochaExplorer.nodeArgv": ["--conditions", "allow-ff-test-exports"],
18
- "cSpell.words": [
19
- "contravariantly",
20
- "covariantly",
21
- "deprioritized",
22
- "endregion",
23
- "insertable",
24
- "reentrantly",
25
- "unhydrated",
26
- ],
18
+ "cSpell.words": ["deprioritized", "endregion", "insertable", "reentrantly", "unhydrated"],
27
19
 
28
20
  // Enable biome as default formatter, and disable rules that disagree with it
29
21
  "editor.defaultFormatter": "biomejs.biome",
@@ -16,9 +16,6 @@ export function adaptEnum<TScope extends string, const TEnum extends Record<stri
16
16
  // @public
17
17
  export type AllowedTypes = readonly LazyItem<TreeNodeSchema>[];
18
18
 
19
- // @public
20
- type AllowedTypesUnsafe = readonly LazyItem<TreeNodeSchemaUnsafe>[];
21
-
22
19
  // @public
23
20
  type ApplyKind<T, Kind extends FieldKind, DefaultsAreOptional extends boolean> = {
24
21
  [FieldKind.Required]: T;
@@ -61,14 +58,6 @@ type ExtractItemType<Item extends LazyItem> = Item extends () => infer Result ?
61
58
  // @alpha
62
59
  export function extractPersistedSchema(schema: ImplicitFieldSchema): JsonCompatible;
63
60
 
64
- // @alpha
65
- export type FactoryContent = IFluidHandle | string | number | boolean | null | Iterable<readonly [string, InsertableContent]> | readonly InsertableContent[] | FactoryContentObject;
66
-
67
- // @alpha
68
- export type FactoryContentObject = {
69
- readonly [P in string]?: InsertableContent;
70
- };
71
-
72
61
  // @public
73
62
  type FieldHasDefault<T extends ImplicitFieldSchema> = T extends FieldSchema<FieldKind.Optional | FieldKind.Identifier> ? true : false;
74
63
 
@@ -162,15 +151,6 @@ export type ImplicitFieldSchema = FieldSchema | ImplicitAllowedTypes;
162
151
  // @public
163
152
  type _InlineTrick = 0;
164
153
 
165
- // @alpha
166
- export type Insertable<TSchema extends ImplicitAllowedTypes | UnsafeUnknownSchema> = TSchema extends ImplicitAllowedTypes ? InsertableTreeNodeFromImplicitAllowedTypes<TSchema> : InsertableContent;
167
-
168
- // @alpha
169
- export type InsertableContent = Unhydrated<TreeNode> | FactoryContent;
170
-
171
- // @alpha
172
- export type InsertableField<TSchema extends ImplicitFieldSchema | UnsafeUnknownSchema> = TSchema extends ImplicitFieldSchema ? InsertableTreeFieldFromImplicitField<TSchema> : InsertableContent | undefined;
173
-
174
154
  // @public
175
155
  type InsertableObjectFromSchemaRecord<T extends RestrictiveStringRecord<ImplicitFieldSchema>> = FlattenKeys<{
176
156
  readonly [Property in keyof T]?: InsertableTreeFieldFromImplicitField<T[Property] & string>;
@@ -186,7 +166,7 @@ export type InsertableObjectFromSchemaRecordUnsafe<T extends Unenforced<Restrict
186
166
  };
187
167
 
188
168
  // @public
189
- export type InsertableTreeFieldFromImplicitField<TSchema extends ImplicitFieldSchema = FieldSchema> = TSchema extends FieldSchema<infer Kind, infer Types> ? ApplyKind<InsertableTreeNodeFromImplicitAllowedTypes<Types>, Kind, true> : TSchema extends ImplicitAllowedTypes ? InsertableTreeNodeFromImplicitAllowedTypes<TSchema> : never;
169
+ export type InsertableTreeFieldFromImplicitField<TSchema extends ImplicitFieldSchema = FieldSchema> = TSchema extends FieldSchema<infer Kind, infer Types> ? ApplyKind<InsertableTreeNodeFromImplicitAllowedTypes<Types>, Kind, true> : TSchema extends ImplicitAllowedTypes ? InsertableTreeNodeFromImplicitAllowedTypes<TSchema> : unknown;
190
170
 
191
171
  // @public
192
172
  export type InsertableTreeFieldFromImplicitFieldUnsafe<TSchema extends Unenforced<ImplicitFieldSchema>> = TSchema extends FieldSchemaUnsafe<infer Kind, infer Types> ? ApplyKind<InsertableTreeNodeFromImplicitAllowedTypesUnsafe<Types>, Kind, true> : InsertableTreeNodeFromImplicitAllowedTypesUnsafe<TSchema>;
@@ -195,7 +175,7 @@ export type InsertableTreeFieldFromImplicitFieldUnsafe<TSchema extends Unenforce
195
175
  export type InsertableTreeNodeFromImplicitAllowedTypes<TSchema extends ImplicitAllowedTypes = TreeNodeSchema> = TSchema extends TreeNodeSchema ? InsertableTypedNode<TSchema> : TSchema extends AllowedTypes ? InsertableTypedNode<FlexListToUnion<TSchema>> : never;
196
176
 
197
177
  // @public
198
- export type InsertableTreeNodeFromImplicitAllowedTypesUnsafe<TSchema extends Unenforced<ImplicitAllowedTypes>> = TSchema extends AllowedTypesUnsafe ? InsertableTypedNodeUnsafe<FlexListToUnion<TSchema>> : InsertableTypedNodeUnsafe<TSchema>;
178
+ export type InsertableTreeNodeFromImplicitAllowedTypesUnsafe<TSchema extends Unenforced<ImplicitAllowedTypes>> = TSchema extends AllowedTypes ? InsertableTypedNodeUnsafe<FlexListToUnion<TSchema>> : InsertableTypedNodeUnsafe<TSchema>;
199
179
 
200
180
  // @public
201
181
  export type InsertableTypedNode<T extends TreeNodeSchema> = (T extends {
@@ -240,9 +220,6 @@ declare namespace InternalTypes {
240
220
  NodeBuilderDataUnsafe,
241
221
  NodeFromSchemaUnsafe,
242
222
  ReadonlyMapInlined,
243
- TreeNodeSchemaUnsafe,
244
- AllowedTypesUnsafe,
245
- TreeNodeSchemaNonClassUnsafe,
246
223
  FlexList,
247
224
  FlexListToUnion,
248
225
  ExtractItemType,
@@ -370,10 +347,10 @@ export interface MakeNominal {
370
347
  export type MapNodeInsertableData<T extends ImplicitAllowedTypes> = Iterable<readonly [string, InsertableTreeNodeFromImplicitAllowedTypes<T>]> | RestrictiveStringRecord<InsertableTreeNodeFromImplicitAllowedTypes<T>>;
371
348
 
372
349
  // @public
373
- type NodeBuilderData<T extends TreeNodeSchema> = T extends TreeNodeSchema<string, NodeKind, TreeNode | TreeLeafValue, infer TBuild> ? TBuild : never;
350
+ type NodeBuilderData<T extends TreeNodeSchema> = T extends TreeNodeSchema<string, NodeKind, unknown, infer TBuild> ? TBuild : never;
374
351
 
375
352
  // @public
376
- type NodeBuilderDataUnsafe<T extends Unenforced<TreeNodeSchema>> = T extends TreeNodeSchemaUnsafe<string, NodeKind, unknown, infer TBuild> ? TBuild : never;
353
+ type NodeBuilderDataUnsafe<T extends Unenforced<TreeNodeSchema>> = T extends TreeNodeSchema<string, NodeKind, unknown, infer TBuild> ? TBuild : never;
377
354
 
378
355
  // @beta @sealed
379
356
  export interface NodeChangedData<TNode extends TreeNode = TreeNode> {
@@ -384,7 +361,7 @@ export interface NodeChangedData<TNode extends TreeNode = TreeNode> {
384
361
  export type NodeFromSchema<T extends TreeNodeSchema> = T extends TreeNodeSchema<string, NodeKind, infer TNode> ? TNode : never;
385
362
 
386
363
  // @public
387
- type NodeFromSchemaUnsafe<T extends Unenforced<TreeNodeSchema>> = T extends TreeNodeSchemaUnsafe<string, NodeKind, infer TNode> ? TNode : never;
364
+ type NodeFromSchemaUnsafe<T extends Unenforced<TreeNodeSchema>> = T extends TreeNodeSchema<string, NodeKind, infer TNode> ? TNode : never;
388
365
 
389
366
  // @public
390
367
  export interface NodeInDocumentConstraint {
@@ -418,10 +395,6 @@ type ObjectFromSchemaRecordUnsafe<T extends Unenforced<RestrictiveStringRecord<I
418
395
  // @public
419
396
  export type Off = () => void;
420
397
 
421
- // @public @sealed
422
- export interface ReadonlyArrayNode<out T = TreeNode | TreeLeafValue> extends ReadonlyArray<T>, Awaited<TreeNode & WithType<string, NodeKind.Array>> {
423
- }
424
-
425
398
  // @public @sealed
426
399
  interface ReadonlyMapInlined<K, T extends Unenforced<ImplicitAllowedTypes>> {
427
400
  [Symbol.iterator](): IterableIterator<[K, TreeNodeFromImplicitAllowedTypesUnsafe<T>]>;
@@ -473,17 +446,17 @@ export const rollback: unique symbol;
473
446
  // @public @sealed
474
447
  export interface RunTransaction {
475
448
  <TNode extends TreeNode, TResult>(node: TNode, transaction: (node: TNode) => TResult): TResult;
476
- <TView extends TreeView<any>, TResult>(tree: TView, transaction: (root: TView["root"]) => TResult): TResult;
449
+ <TView extends TreeView<ImplicitFieldSchema>, TResult>(tree: TView, transaction: (root: TView["root"]) => TResult): TResult;
477
450
  <TNode extends TreeNode, TResult>(node: TNode, transaction: (node: TNode) => TResult | typeof rollback): TResult | typeof rollback;
478
- <TView extends TreeView<any>, TResult>(tree: TView, transaction: (root: TView["root"]) => TResult | typeof rollback): TResult | typeof rollback;
451
+ <TView extends TreeView<ImplicitFieldSchema>, TResult>(tree: TView, transaction: (root: TView["root"]) => TResult | typeof rollback): TResult | typeof rollback;
479
452
  <TNode extends TreeNode>(node: TNode, transaction: (node: TNode) => void): void;
480
- <TView extends TreeView<any>>(tree: TView, transaction: (root: TView["root"]) => void): void;
453
+ <TView extends TreeView<ImplicitFieldSchema>>(tree: TView, transaction: (root: TView["root"]) => void): void;
481
454
  <TNode extends TreeNode, TResult>(node: TNode, transaction: (node: TNode) => TResult, preconditions?: readonly TransactionConstraint[]): TResult;
482
- <TView extends TreeView<any>, TResult>(tree: TView, transaction: (root: TView["root"]) => TResult, preconditions?: readonly TransactionConstraint[]): TResult;
455
+ <TView extends TreeView<ImplicitFieldSchema>, TResult>(tree: TView, transaction: (root: TView["root"]) => TResult, preconditions?: readonly TransactionConstraint[]): TResult;
483
456
  <TNode extends TreeNode, TResult>(node: TNode, transaction: (node: TNode) => TResult | typeof rollback, preconditions?: readonly TransactionConstraint[]): TResult | typeof rollback;
484
- <TView extends TreeView<any>, TResult>(tree: TView, transaction: (root: TView["root"]) => TResult | typeof rollback, preconditions?: readonly TransactionConstraint[]): TResult | typeof rollback;
457
+ <TView extends TreeView<ImplicitFieldSchema>, TResult>(tree: TView, transaction: (root: TView["root"]) => TResult | typeof rollback, preconditions?: readonly TransactionConstraint[]): TResult | typeof rollback;
485
458
  <TNode extends TreeNode>(node: TNode, transaction: (node: TNode) => void, preconditions?: readonly TransactionConstraint[]): void;
486
- <TView extends TreeView<any>>(tree: TView, transaction: (root: TView["root"]) => void, preconditions?: readonly TransactionConstraint[]): void;
459
+ <TView extends TreeView<ImplicitFieldSchema>>(tree: TView, transaction: (root: TView["root"]) => void, preconditions?: readonly TransactionConstraint[]): void;
487
460
  readonly rollback: typeof rollback;
488
461
  }
489
462
 
@@ -574,7 +547,7 @@ interface TreeApi extends TreeNodeApi {
574
547
  }
575
548
 
576
549
  // @public @sealed
577
- export interface TreeArrayNode<TAllowedTypes extends ImplicitAllowedTypes = ImplicitAllowedTypes> extends TreeArrayNodeBase<TreeNodeFromImplicitAllowedTypes<TAllowedTypes>, InsertableTreeNodeFromImplicitAllowedTypes<TAllowedTypes>> {
550
+ export interface TreeArrayNode<TAllowedTypes extends ImplicitAllowedTypes = ImplicitAllowedTypes> extends TreeArrayNodeBase<TreeNodeFromImplicitAllowedTypes<TAllowedTypes>, InsertableTreeNodeFromImplicitAllowedTypes<TAllowedTypes>, TreeArrayNode> {
578
551
  }
579
552
 
580
553
  // @public
@@ -583,7 +556,7 @@ export const TreeArrayNode: {
583
556
  };
584
557
 
585
558
  // @public @sealed
586
- interface TreeArrayNodeBase<out T, in TNew, in TMoveFrom = ReadonlyArrayNode> extends ReadonlyArrayNode<T> {
559
+ interface TreeArrayNodeBase<out T, in TNew, in TMoveFrom> extends ReadonlyArray<T>, TreeNode {
587
560
  insertAt(index: number, ...value: readonly (TNew | IterableTreeArrayContent<TNew>)[]): void;
588
561
  insertAtEnd(...value: readonly (TNew | IterableTreeArrayContent<TNew>)[]): void;
589
562
  insertAtStart(...value: readonly (TNew | IterableTreeArrayContent<TNew>)[]): void;
@@ -605,7 +578,7 @@ interface TreeArrayNodeBase<out T, in TNew, in TMoveFrom = ReadonlyArrayNode> ex
605
578
  }
606
579
 
607
580
  // @public @sealed
608
- export interface TreeArrayNodeUnsafe<TAllowedTypes extends Unenforced<ImplicitAllowedTypes>> extends TreeArrayNodeBase<TreeNodeFromImplicitAllowedTypesUnsafe<TAllowedTypes>, InsertableTreeNodeFromImplicitAllowedTypesUnsafe<TAllowedTypes>> {
581
+ export interface TreeArrayNodeUnsafe<TAllowedTypes extends Unenforced<ImplicitAllowedTypes>> extends TreeArrayNodeBase<TreeNodeFromImplicitAllowedTypesUnsafe<TAllowedTypes>, InsertableTreeNodeFromImplicitAllowedTypesUnsafe<TAllowedTypes>, TreeArrayNode> {
609
582
  }
610
583
 
611
584
  // @beta @sealed
@@ -644,7 +617,7 @@ export enum TreeCompressionStrategy {
644
617
  }
645
618
 
646
619
  // @public
647
- export type TreeFieldFromImplicitField<TSchema extends ImplicitFieldSchema = FieldSchema> = TSchema extends FieldSchema<infer Kind, infer Types> ? ApplyKind<TreeNodeFromImplicitAllowedTypes<Types>, Kind, false> : TSchema extends ImplicitAllowedTypes ? TreeNodeFromImplicitAllowedTypes<TSchema> : TreeNode | TreeLeafValue | undefined;
620
+ export type TreeFieldFromImplicitField<TSchema extends ImplicitFieldSchema = FieldSchema> = TSchema extends FieldSchema<infer Kind, infer Types> ? ApplyKind<TreeNodeFromImplicitAllowedTypes<Types>, Kind, false> : TSchema extends ImplicitAllowedTypes ? TreeNodeFromImplicitAllowedTypes<TSchema> : unknown;
648
621
 
649
622
  // @public
650
623
  type TreeFieldFromImplicitFieldUnsafe<TSchema extends Unenforced<ImplicitFieldSchema>> = TSchema extends FieldSchemaUnsafe<infer Kind, infer Types> ? ApplyKind<TreeNodeFromImplicitAllowedTypesUnsafe<Types>, Kind, false> : TSchema extends ImplicitAllowedTypes ? TreeNodeFromImplicitAllowedTypesUnsafe<TSchema> : unknown;
@@ -693,19 +666,13 @@ export interface TreeNodeApi {
693
666
  export type TreeNodeFromImplicitAllowedTypes<TSchema extends ImplicitAllowedTypes = TreeNodeSchema> = TSchema extends TreeNodeSchema ? NodeFromSchema<TSchema> : TSchema extends AllowedTypes ? NodeFromSchema<FlexListToUnion<TSchema>> : unknown;
694
667
 
695
668
  // @public
696
- type TreeNodeFromImplicitAllowedTypesUnsafe<TSchema extends Unenforced<ImplicitAllowedTypes>> = TSchema extends TreeNodeSchemaUnsafe ? NodeFromSchemaUnsafe<TSchema> : TSchema extends AllowedTypesUnsafe ? NodeFromSchemaUnsafe<FlexListToUnion<TSchema>> : unknown;
669
+ type TreeNodeFromImplicitAllowedTypesUnsafe<TSchema extends Unenforced<ImplicitAllowedTypes>> = TSchema extends ImplicitAllowedTypes ? TreeNodeFromImplicitAllowedTypes<TSchema> : TSchema extends TreeNodeSchema ? NodeFromSchema<TSchema> : TSchema extends AllowedTypes ? NodeFromSchema<FlexListToUnion<TSchema>> : unknown;
697
670
 
698
671
  // @public @sealed
699
- export type TreeNodeSchema<Name extends string = string, Kind extends NodeKind = NodeKind, TNode extends TreeNode | TreeLeafValue = TreeNode | TreeLeafValue, TBuild = never, ImplicitlyConstructable extends boolean = boolean, Info = unknown> = TreeNodeSchemaClass<Name, Kind, TNode, TBuild, ImplicitlyConstructable, Info> | TreeNodeSchemaNonClass<Name, Kind, TNode, TBuild, ImplicitlyConstructable, Info>;
672
+ export type TreeNodeSchema<Name extends string = string, Kind extends NodeKind = NodeKind, TNode = unknown, TBuild = never, ImplicitlyConstructable extends boolean = boolean, Info = unknown> = TreeNodeSchemaClass<Name, Kind, TNode, TBuild, ImplicitlyConstructable, Info> | TreeNodeSchemaNonClass<Name, Kind, TNode, TBuild, ImplicitlyConstructable, Info>;
700
673
 
701
674
  // @public @sealed
702
- export interface TreeNodeSchemaClass<out Name extends string = string, out Kind extends NodeKind = NodeKind, out TNode extends TreeNode | TreeLeafValue = TreeNode | TreeLeafValue, in TInsertable = never, out ImplicitlyConstructable extends boolean = boolean, out Info = unknown> extends TreeNodeSchemaCore<Name, Kind, ImplicitlyConstructable, Info> {
703
- // @sealed
704
- new (data: TInsertable | InternalTreeNode): Unhydrated<TNode>;
705
- }
706
-
707
- // @public
708
- export interface TreeNodeSchemaClassUnsafe<out Name extends string, out Kind extends NodeKind, out TNode extends Unenforced<TreeNode | TreeLeafValue>, in TInsertable = never, out ImplicitlyConstructable extends boolean = boolean, out Info = unknown> extends TreeNodeSchemaCore<Name, Kind, ImplicitlyConstructable, Info> {
675
+ export interface TreeNodeSchemaClass<out Name extends string = string, out Kind extends NodeKind = NodeKind, out TNode = unknown, in TInsertable = never, out ImplicitlyConstructable extends boolean = boolean, out Info = unknown> extends TreeNodeSchemaCore<Name, Kind, ImplicitlyConstructable, Info> {
709
676
  // @sealed
710
677
  new (data: TInsertable | InternalTreeNode): Unhydrated<TNode>;
711
678
  }
@@ -721,20 +688,11 @@ export interface TreeNodeSchemaCore<out Name extends string, out Kind extends No
721
688
  }
722
689
 
723
690
  // @public @sealed
724
- export interface TreeNodeSchemaNonClass<out Name extends string = string, out Kind extends NodeKind = NodeKind, out TNode extends TreeNode | TreeLeafValue = TreeNode | TreeLeafValue, in TInsertable = never, out ImplicitlyConstructable extends boolean = boolean, out Info = unknown> extends TreeNodeSchemaCore<Name, Kind, ImplicitlyConstructable, Info> {
691
+ export interface TreeNodeSchemaNonClass<out Name extends string = string, out Kind extends NodeKind = NodeKind, out TNode = unknown, in TInsertable = never, out ImplicitlyConstructable extends boolean = boolean, out Info = unknown> extends TreeNodeSchemaCore<Name, Kind, ImplicitlyConstructable, Info> {
725
692
  // (undocumented)
726
693
  create(data: TInsertable): TNode;
727
694
  }
728
695
 
729
- // @public
730
- interface TreeNodeSchemaNonClassUnsafe<out Name extends string, out Kind extends NodeKind, out TNode extends Unenforced<TreeNode | TreeLeafValue>, in TInsertable = never, out ImplicitlyConstructable extends boolean = boolean, out Info = unknown> extends TreeNodeSchemaCore<Name, Kind, ImplicitlyConstructable, Info> {
731
- // (undocumented)
732
- create(data: TInsertable): TNode;
733
- }
734
-
735
- // @public
736
- type TreeNodeSchemaUnsafe<Name extends string = string, Kind extends NodeKind = NodeKind, TNode extends Unenforced<TreeNode | TreeLeafValue> = unknown, TBuild = never, ImplicitlyConstructable extends boolean = boolean, Info = unknown> = TreeNodeSchemaClassUnsafe<Name, Kind, TNode, TBuild, ImplicitlyConstructable, Info> | TreeNodeSchemaNonClassUnsafe<Name, Kind, TNode, TBuild, ImplicitlyConstructable, Info>;
737
-
738
696
  // @public
739
697
  export type TreeObjectNode<T extends RestrictiveStringRecord<ImplicitFieldSchema>, TypeName extends string = string> = TreeNode & ObjectFromSchemaRecord<T> & WithType<TypeName, NodeKind.Object, T>;
740
698
 
@@ -750,7 +708,7 @@ export enum TreeStatus {
750
708
  }
751
709
 
752
710
  // @public @sealed
753
- export interface TreeView<in out TSchema extends ImplicitFieldSchema> extends IDisposable {
711
+ export interface TreeView<TSchema extends ImplicitFieldSchema> extends IDisposable {
754
712
  readonly compatibility: SchemaCompatibilityStatus;
755
713
  readonly events: Listenable<TreeViewEvents>;
756
714
  initialize(content: InsertableTreeFieldFromImplicitField<TSchema>): void;
@@ -760,15 +718,6 @@ export interface TreeView<in out TSchema extends ImplicitFieldSchema> extends ID
760
718
  upgradeSchema(): void;
761
719
  }
762
720
 
763
- // @alpha
764
- export interface TreeViewAlpha<in out TSchema extends ImplicitFieldSchema | UnsafeUnknownSchema> extends Omit<TreeView<TSchema extends ImplicitFieldSchema ? TSchema : ImplicitFieldSchema>, "root" | "initialize"> {
765
- // (undocumented)
766
- initialize(content: InsertableField<TSchema>): void;
767
- // (undocumented)
768
- get root(): TSchema extends ImplicitFieldSchema ? TreeFieldFromImplicitField<TSchema> : TreeLeafValue | TreeNode;
769
- set root(newRoot: InsertableField<TSchema>);
770
- }
771
-
772
721
  // @public @sealed
773
722
  export class TreeViewConfiguration<TSchema extends ImplicitFieldSchema = ImplicitFieldSchema> implements Required<ITreeViewConfiguration<TSchema>> {
774
723
  constructor(props: ITreeViewConfiguration<TSchema>);
@@ -804,12 +753,6 @@ export type Unenforced<_DesiredExtendsConstraint> = unknown;
804
753
  // @public
805
754
  export type Unhydrated<T> = T;
806
755
 
807
- // @alpha
808
- export const UnsafeUnknownSchema: unique symbol;
809
-
810
- // @alpha
811
- export type UnsafeUnknownSchema = typeof UnsafeUnknownSchema;
812
-
813
756
  // @public
814
757
  export type ValidateRecursiveSchema<T extends TreeNodeSchemaClass<string, NodeKind.Array | NodeKind.Map | NodeKind.Object, TreeNode & WithType<T["identifier"], T["kind"]>, {
815
758
  [NodeKind.Object]: T["info"] extends RestrictiveStringRecord<ImplicitFieldSchema> ? InsertableObjectFromSchemaRecord<T["info"]> : unknown;
@@ -830,7 +773,7 @@ export interface ViewableTree {
830
773
  export interface WithType<out TName extends string = string, out TKind extends NodeKind = NodeKind, out TInfo = unknown> {
831
774
  // @deprecated
832
775
  get [typeNameSymbol](): TName;
833
- get [typeSchemaSymbol](): TreeNodeSchemaClass<TName, TKind, TreeNode | TreeLeafValue, never, boolean, TInfo>;
776
+ get [typeSchemaSymbol](): TreeNodeSchemaClass<TName, TKind, unknown, never, boolean, TInfo>;
834
777
  }
835
778
 
836
779
  // (No @packageDocumentation comment for this package)
@@ -7,9 +7,6 @@
7
7
  // @public
8
8
  export type AllowedTypes = readonly LazyItem<TreeNodeSchema>[];
9
9
 
10
- // @public
11
- type AllowedTypesUnsafe = readonly LazyItem<TreeNodeSchemaUnsafe>[];
12
-
13
10
  // @public
14
11
  type ApplyKind<T, Kind extends FieldKind, DefaultsAreOptional extends boolean> = {
15
12
  [FieldKind.Required]: T;
@@ -116,7 +113,7 @@ export type InsertableObjectFromSchemaRecordUnsafe<T extends Unenforced<Restrict
116
113
  };
117
114
 
118
115
  // @public
119
- export type InsertableTreeFieldFromImplicitField<TSchema extends ImplicitFieldSchema = FieldSchema> = TSchema extends FieldSchema<infer Kind, infer Types> ? ApplyKind<InsertableTreeNodeFromImplicitAllowedTypes<Types>, Kind, true> : TSchema extends ImplicitAllowedTypes ? InsertableTreeNodeFromImplicitAllowedTypes<TSchema> : never;
116
+ export type InsertableTreeFieldFromImplicitField<TSchema extends ImplicitFieldSchema = FieldSchema> = TSchema extends FieldSchema<infer Kind, infer Types> ? ApplyKind<InsertableTreeNodeFromImplicitAllowedTypes<Types>, Kind, true> : TSchema extends ImplicitAllowedTypes ? InsertableTreeNodeFromImplicitAllowedTypes<TSchema> : unknown;
120
117
 
121
118
  // @public
122
119
  export type InsertableTreeFieldFromImplicitFieldUnsafe<TSchema extends Unenforced<ImplicitFieldSchema>> = TSchema extends FieldSchemaUnsafe<infer Kind, infer Types> ? ApplyKind<InsertableTreeNodeFromImplicitAllowedTypesUnsafe<Types>, Kind, true> : InsertableTreeNodeFromImplicitAllowedTypesUnsafe<TSchema>;
@@ -125,7 +122,7 @@ export type InsertableTreeFieldFromImplicitFieldUnsafe<TSchema extends Unenforce
125
122
  export type InsertableTreeNodeFromImplicitAllowedTypes<TSchema extends ImplicitAllowedTypes = TreeNodeSchema> = TSchema extends TreeNodeSchema ? InsertableTypedNode<TSchema> : TSchema extends AllowedTypes ? InsertableTypedNode<FlexListToUnion<TSchema>> : never;
126
123
 
127
124
  // @public
128
- export type InsertableTreeNodeFromImplicitAllowedTypesUnsafe<TSchema extends Unenforced<ImplicitAllowedTypes>> = TSchema extends AllowedTypesUnsafe ? InsertableTypedNodeUnsafe<FlexListToUnion<TSchema>> : InsertableTypedNodeUnsafe<TSchema>;
125
+ export type InsertableTreeNodeFromImplicitAllowedTypesUnsafe<TSchema extends Unenforced<ImplicitAllowedTypes>> = TSchema extends AllowedTypes ? InsertableTypedNodeUnsafe<FlexListToUnion<TSchema>> : InsertableTypedNodeUnsafe<TSchema>;
129
126
 
130
127
  // @public
131
128
  export type InsertableTypedNode<T extends TreeNodeSchema> = (T extends {
@@ -170,9 +167,6 @@ declare namespace InternalTypes {
170
167
  NodeBuilderDataUnsafe,
171
168
  NodeFromSchemaUnsafe,
172
169
  ReadonlyMapInlined,
173
- TreeNodeSchemaUnsafe,
174
- AllowedTypesUnsafe,
175
- TreeNodeSchemaNonClassUnsafe,
176
170
  FlexList,
177
171
  FlexListToUnion,
178
172
  ExtractItemType,
@@ -225,10 +219,10 @@ export interface MakeNominal {
225
219
  export type MapNodeInsertableData<T extends ImplicitAllowedTypes> = Iterable<readonly [string, InsertableTreeNodeFromImplicitAllowedTypes<T>]> | RestrictiveStringRecord<InsertableTreeNodeFromImplicitAllowedTypes<T>>;
226
220
 
227
221
  // @public
228
- type NodeBuilderData<T extends TreeNodeSchema> = T extends TreeNodeSchema<string, NodeKind, TreeNode | TreeLeafValue, infer TBuild> ? TBuild : never;
222
+ type NodeBuilderData<T extends TreeNodeSchema> = T extends TreeNodeSchema<string, NodeKind, unknown, infer TBuild> ? TBuild : never;
229
223
 
230
224
  // @public
231
- type NodeBuilderDataUnsafe<T extends Unenforced<TreeNodeSchema>> = T extends TreeNodeSchemaUnsafe<string, NodeKind, unknown, infer TBuild> ? TBuild : never;
225
+ type NodeBuilderDataUnsafe<T extends Unenforced<TreeNodeSchema>> = T extends TreeNodeSchema<string, NodeKind, unknown, infer TBuild> ? TBuild : never;
232
226
 
233
227
  // @beta @sealed
234
228
  export interface NodeChangedData<TNode extends TreeNode = TreeNode> {
@@ -239,7 +233,7 @@ export interface NodeChangedData<TNode extends TreeNode = TreeNode> {
239
233
  export type NodeFromSchema<T extends TreeNodeSchema> = T extends TreeNodeSchema<string, NodeKind, infer TNode> ? TNode : never;
240
234
 
241
235
  // @public
242
- type NodeFromSchemaUnsafe<T extends Unenforced<TreeNodeSchema>> = T extends TreeNodeSchemaUnsafe<string, NodeKind, infer TNode> ? TNode : never;
236
+ type NodeFromSchemaUnsafe<T extends Unenforced<TreeNodeSchema>> = T extends TreeNodeSchema<string, NodeKind, infer TNode> ? TNode : never;
243
237
 
244
238
  // @public
245
239
  export interface NodeInDocumentConstraint {
@@ -270,10 +264,6 @@ type ObjectFromSchemaRecordUnsafe<T extends Unenforced<RestrictiveStringRecord<I
270
264
  // @public
271
265
  export type Off = () => void;
272
266
 
273
- // @public @sealed
274
- export interface ReadonlyArrayNode<out T = TreeNode | TreeLeafValue> extends ReadonlyArray<T>, Awaited<TreeNode & WithType<string, NodeKind.Array>> {
275
- }
276
-
277
267
  // @public @sealed
278
268
  interface ReadonlyMapInlined<K, T extends Unenforced<ImplicitAllowedTypes>> {
279
269
  [Symbol.iterator](): IterableIterator<[K, TreeNodeFromImplicitAllowedTypesUnsafe<T>]>;
@@ -325,17 +315,17 @@ export const rollback: unique symbol;
325
315
  // @public @sealed
326
316
  export interface RunTransaction {
327
317
  <TNode extends TreeNode, TResult>(node: TNode, transaction: (node: TNode) => TResult): TResult;
328
- <TView extends TreeView<any>, TResult>(tree: TView, transaction: (root: TView["root"]) => TResult): TResult;
318
+ <TView extends TreeView<ImplicitFieldSchema>, TResult>(tree: TView, transaction: (root: TView["root"]) => TResult): TResult;
329
319
  <TNode extends TreeNode, TResult>(node: TNode, transaction: (node: TNode) => TResult | typeof rollback): TResult | typeof rollback;
330
- <TView extends TreeView<any>, TResult>(tree: TView, transaction: (root: TView["root"]) => TResult | typeof rollback): TResult | typeof rollback;
320
+ <TView extends TreeView<ImplicitFieldSchema>, TResult>(tree: TView, transaction: (root: TView["root"]) => TResult | typeof rollback): TResult | typeof rollback;
331
321
  <TNode extends TreeNode>(node: TNode, transaction: (node: TNode) => void): void;
332
- <TView extends TreeView<any>>(tree: TView, transaction: (root: TView["root"]) => void): void;
322
+ <TView extends TreeView<ImplicitFieldSchema>>(tree: TView, transaction: (root: TView["root"]) => void): void;
333
323
  <TNode extends TreeNode, TResult>(node: TNode, transaction: (node: TNode) => TResult, preconditions?: readonly TransactionConstraint[]): TResult;
334
- <TView extends TreeView<any>, TResult>(tree: TView, transaction: (root: TView["root"]) => TResult, preconditions?: readonly TransactionConstraint[]): TResult;
324
+ <TView extends TreeView<ImplicitFieldSchema>, TResult>(tree: TView, transaction: (root: TView["root"]) => TResult, preconditions?: readonly TransactionConstraint[]): TResult;
335
325
  <TNode extends TreeNode, TResult>(node: TNode, transaction: (node: TNode) => TResult | typeof rollback, preconditions?: readonly TransactionConstraint[]): TResult | typeof rollback;
336
- <TView extends TreeView<any>, TResult>(tree: TView, transaction: (root: TView["root"]) => TResult | typeof rollback, preconditions?: readonly TransactionConstraint[]): TResult | typeof rollback;
326
+ <TView extends TreeView<ImplicitFieldSchema>, TResult>(tree: TView, transaction: (root: TView["root"]) => TResult | typeof rollback, preconditions?: readonly TransactionConstraint[]): TResult | typeof rollback;
337
327
  <TNode extends TreeNode>(node: TNode, transaction: (node: TNode) => void, preconditions?: readonly TransactionConstraint[]): void;
338
- <TView extends TreeView<any>>(tree: TView, transaction: (root: TView["root"]) => void, preconditions?: readonly TransactionConstraint[]): void;
328
+ <TView extends TreeView<ImplicitFieldSchema>>(tree: TView, transaction: (root: TView["root"]) => void, preconditions?: readonly TransactionConstraint[]): void;
339
329
  readonly rollback: typeof rollback;
340
330
  }
341
331
 
@@ -395,7 +385,7 @@ interface TreeApi extends TreeNodeApi {
395
385
  }
396
386
 
397
387
  // @public @sealed
398
- export interface TreeArrayNode<TAllowedTypes extends ImplicitAllowedTypes = ImplicitAllowedTypes> extends TreeArrayNodeBase<TreeNodeFromImplicitAllowedTypes<TAllowedTypes>, InsertableTreeNodeFromImplicitAllowedTypes<TAllowedTypes>> {
388
+ export interface TreeArrayNode<TAllowedTypes extends ImplicitAllowedTypes = ImplicitAllowedTypes> extends TreeArrayNodeBase<TreeNodeFromImplicitAllowedTypes<TAllowedTypes>, InsertableTreeNodeFromImplicitAllowedTypes<TAllowedTypes>, TreeArrayNode> {
399
389
  }
400
390
 
401
391
  // @public
@@ -404,7 +394,7 @@ export const TreeArrayNode: {
404
394
  };
405
395
 
406
396
  // @public @sealed
407
- interface TreeArrayNodeBase<out T, in TNew, in TMoveFrom = ReadonlyArrayNode> extends ReadonlyArrayNode<T> {
397
+ interface TreeArrayNodeBase<out T, in TNew, in TMoveFrom> extends ReadonlyArray<T>, TreeNode {
408
398
  insertAt(index: number, ...value: readonly (TNew | IterableTreeArrayContent<TNew>)[]): void;
409
399
  insertAtEnd(...value: readonly (TNew | IterableTreeArrayContent<TNew>)[]): void;
410
400
  insertAtStart(...value: readonly (TNew | IterableTreeArrayContent<TNew>)[]): void;
@@ -426,7 +416,7 @@ interface TreeArrayNodeBase<out T, in TNew, in TMoveFrom = ReadonlyArrayNode> ex
426
416
  }
427
417
 
428
418
  // @public @sealed
429
- export interface TreeArrayNodeUnsafe<TAllowedTypes extends Unenforced<ImplicitAllowedTypes>> extends TreeArrayNodeBase<TreeNodeFromImplicitAllowedTypesUnsafe<TAllowedTypes>, InsertableTreeNodeFromImplicitAllowedTypesUnsafe<TAllowedTypes>> {
419
+ export interface TreeArrayNodeUnsafe<TAllowedTypes extends Unenforced<ImplicitAllowedTypes>> extends TreeArrayNodeBase<TreeNodeFromImplicitAllowedTypesUnsafe<TAllowedTypes>, InsertableTreeNodeFromImplicitAllowedTypesUnsafe<TAllowedTypes>, TreeArrayNode> {
430
420
  }
431
421
 
432
422
  // @beta @sealed
@@ -446,7 +436,7 @@ export interface TreeChangeEventsBeta<TNode extends TreeNode = TreeNode> extends
446
436
  }
447
437
 
448
438
  // @public
449
- export type TreeFieldFromImplicitField<TSchema extends ImplicitFieldSchema = FieldSchema> = TSchema extends FieldSchema<infer Kind, infer Types> ? ApplyKind<TreeNodeFromImplicitAllowedTypes<Types>, Kind, false> : TSchema extends ImplicitAllowedTypes ? TreeNodeFromImplicitAllowedTypes<TSchema> : TreeNode | TreeLeafValue | undefined;
439
+ export type TreeFieldFromImplicitField<TSchema extends ImplicitFieldSchema = FieldSchema> = TSchema extends FieldSchema<infer Kind, infer Types> ? ApplyKind<TreeNodeFromImplicitAllowedTypes<Types>, Kind, false> : TSchema extends ImplicitAllowedTypes ? TreeNodeFromImplicitAllowedTypes<TSchema> : unknown;
450
440
 
451
441
  // @public
452
442
  type TreeFieldFromImplicitFieldUnsafe<TSchema extends Unenforced<ImplicitFieldSchema>> = TSchema extends FieldSchemaUnsafe<infer Kind, infer Types> ? ApplyKind<TreeNodeFromImplicitAllowedTypesUnsafe<Types>, Kind, false> : TSchema extends ImplicitAllowedTypes ? TreeNodeFromImplicitAllowedTypesUnsafe<TSchema> : unknown;
@@ -495,19 +485,13 @@ export interface TreeNodeApi {
495
485
  export type TreeNodeFromImplicitAllowedTypes<TSchema extends ImplicitAllowedTypes = TreeNodeSchema> = TSchema extends TreeNodeSchema ? NodeFromSchema<TSchema> : TSchema extends AllowedTypes ? NodeFromSchema<FlexListToUnion<TSchema>> : unknown;
496
486
 
497
487
  // @public
498
- type TreeNodeFromImplicitAllowedTypesUnsafe<TSchema extends Unenforced<ImplicitAllowedTypes>> = TSchema extends TreeNodeSchemaUnsafe ? NodeFromSchemaUnsafe<TSchema> : TSchema extends AllowedTypesUnsafe ? NodeFromSchemaUnsafe<FlexListToUnion<TSchema>> : unknown;
488
+ type TreeNodeFromImplicitAllowedTypesUnsafe<TSchema extends Unenforced<ImplicitAllowedTypes>> = TSchema extends ImplicitAllowedTypes ? TreeNodeFromImplicitAllowedTypes<TSchema> : TSchema extends TreeNodeSchema ? NodeFromSchema<TSchema> : TSchema extends AllowedTypes ? NodeFromSchema<FlexListToUnion<TSchema>> : unknown;
499
489
 
500
490
  // @public @sealed
501
- export type TreeNodeSchema<Name extends string = string, Kind extends NodeKind = NodeKind, TNode extends TreeNode | TreeLeafValue = TreeNode | TreeLeafValue, TBuild = never, ImplicitlyConstructable extends boolean = boolean, Info = unknown> = TreeNodeSchemaClass<Name, Kind, TNode, TBuild, ImplicitlyConstructable, Info> | TreeNodeSchemaNonClass<Name, Kind, TNode, TBuild, ImplicitlyConstructable, Info>;
491
+ export type TreeNodeSchema<Name extends string = string, Kind extends NodeKind = NodeKind, TNode = unknown, TBuild = never, ImplicitlyConstructable extends boolean = boolean, Info = unknown> = TreeNodeSchemaClass<Name, Kind, TNode, TBuild, ImplicitlyConstructable, Info> | TreeNodeSchemaNonClass<Name, Kind, TNode, TBuild, ImplicitlyConstructable, Info>;
502
492
 
503
493
  // @public @sealed
504
- export interface TreeNodeSchemaClass<out Name extends string = string, out Kind extends NodeKind = NodeKind, out TNode extends TreeNode | TreeLeafValue = TreeNode | TreeLeafValue, in TInsertable = never, out ImplicitlyConstructable extends boolean = boolean, out Info = unknown> extends TreeNodeSchemaCore<Name, Kind, ImplicitlyConstructable, Info> {
505
- // @sealed
506
- new (data: TInsertable | InternalTreeNode): Unhydrated<TNode>;
507
- }
508
-
509
- // @public
510
- export interface TreeNodeSchemaClassUnsafe<out Name extends string, out Kind extends NodeKind, out TNode extends Unenforced<TreeNode | TreeLeafValue>, in TInsertable = never, out ImplicitlyConstructable extends boolean = boolean, out Info = unknown> extends TreeNodeSchemaCore<Name, Kind, ImplicitlyConstructable, Info> {
494
+ export interface TreeNodeSchemaClass<out Name extends string = string, out Kind extends NodeKind = NodeKind, out TNode = unknown, in TInsertable = never, out ImplicitlyConstructable extends boolean = boolean, out Info = unknown> extends TreeNodeSchemaCore<Name, Kind, ImplicitlyConstructable, Info> {
511
495
  // @sealed
512
496
  new (data: TInsertable | InternalTreeNode): Unhydrated<TNode>;
513
497
  }
@@ -523,20 +507,11 @@ export interface TreeNodeSchemaCore<out Name extends string, out Kind extends No
523
507
  }
524
508
 
525
509
  // @public @sealed
526
- export interface TreeNodeSchemaNonClass<out Name extends string = string, out Kind extends NodeKind = NodeKind, out TNode extends TreeNode | TreeLeafValue = TreeNode | TreeLeafValue, in TInsertable = never, out ImplicitlyConstructable extends boolean = boolean, out Info = unknown> extends TreeNodeSchemaCore<Name, Kind, ImplicitlyConstructable, Info> {
527
- // (undocumented)
528
- create(data: TInsertable): TNode;
529
- }
530
-
531
- // @public
532
- interface TreeNodeSchemaNonClassUnsafe<out Name extends string, out Kind extends NodeKind, out TNode extends Unenforced<TreeNode | TreeLeafValue>, in TInsertable = never, out ImplicitlyConstructable extends boolean = boolean, out Info = unknown> extends TreeNodeSchemaCore<Name, Kind, ImplicitlyConstructable, Info> {
510
+ export interface TreeNodeSchemaNonClass<out Name extends string = string, out Kind extends NodeKind = NodeKind, out TNode = unknown, in TInsertable = never, out ImplicitlyConstructable extends boolean = boolean, out Info = unknown> extends TreeNodeSchemaCore<Name, Kind, ImplicitlyConstructable, Info> {
533
511
  // (undocumented)
534
512
  create(data: TInsertable): TNode;
535
513
  }
536
514
 
537
- // @public
538
- type TreeNodeSchemaUnsafe<Name extends string = string, Kind extends NodeKind = NodeKind, TNode extends Unenforced<TreeNode | TreeLeafValue> = unknown, TBuild = never, ImplicitlyConstructable extends boolean = boolean, Info = unknown> = TreeNodeSchemaClassUnsafe<Name, Kind, TNode, TBuild, ImplicitlyConstructable, Info> | TreeNodeSchemaNonClassUnsafe<Name, Kind, TNode, TBuild, ImplicitlyConstructable, Info>;
539
-
540
515
  // @public
541
516
  export type TreeObjectNode<T extends RestrictiveStringRecord<ImplicitFieldSchema>, TypeName extends string = string> = TreeNode & ObjectFromSchemaRecord<T> & WithType<TypeName, NodeKind.Object, T>;
542
517
 
@@ -552,7 +527,7 @@ export enum TreeStatus {
552
527
  }
553
528
 
554
529
  // @public @sealed
555
- export interface TreeView<in out TSchema extends ImplicitFieldSchema> extends IDisposable {
530
+ export interface TreeView<TSchema extends ImplicitFieldSchema> extends IDisposable {
556
531
  readonly compatibility: SchemaCompatibilityStatus;
557
532
  readonly events: Listenable<TreeViewEvents>;
558
533
  initialize(content: InsertableTreeFieldFromImplicitField<TSchema>): void;
@@ -611,7 +586,7 @@ export interface ViewableTree {
611
586
  export interface WithType<out TName extends string = string, out TKind extends NodeKind = NodeKind, out TInfo = unknown> {
612
587
  // @deprecated
613
588
  get [typeNameSymbol](): TName;
614
- get [typeSchemaSymbol](): TreeNodeSchemaClass<TName, TKind, TreeNode | TreeLeafValue, never, boolean, TInfo>;
589
+ get [typeSchemaSymbol](): TreeNodeSchemaClass<TName, TKind, unknown, never, boolean, TInfo>;
615
590
  }
616
591
 
617
592
  // (No @packageDocumentation comment for this package)