@fluidframework/tree 2.4.0-299374 → 2.4.0

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 (177) hide show
  1. package/.vscode/settings.json +1 -9
  2. package/CHANGELOG.md +192 -0
  3. package/api-report/tree.alpha.api.md +23 -79
  4. package/api-report/tree.beta.api.md +23 -47
  5. package/api-report/tree.legacy.alpha.api.md +21 -46
  6. package/api-report/tree.legacy.public.api.md +21 -46
  7. package/api-report/tree.public.api.md +21 -46
  8. package/dist/alpha.d.ts +0 -9
  9. package/dist/beta.d.ts +0 -2
  10. package/dist/feature-libraries/flex-tree/lazyField.js +1 -1
  11. package/dist/feature-libraries/flex-tree/lazyField.js.map +1 -1
  12. package/dist/feature-libraries/modular-schema/modularChangeFamily.d.ts.map +1 -1
  13. package/dist/feature-libraries/modular-schema/modularChangeFamily.js +3 -3
  14. package/dist/feature-libraries/modular-schema/modularChangeFamily.js.map +1 -1
  15. package/dist/index.d.ts +1 -1
  16. package/dist/index.d.ts.map +1 -1
  17. package/dist/index.js.map +1 -1
  18. package/dist/internalTypes.d.ts +1 -1
  19. package/dist/internalTypes.d.ts.map +1 -1
  20. package/dist/internalTypes.js.map +1 -1
  21. package/dist/legacy.d.ts +0 -2
  22. package/dist/packageVersion.d.ts +1 -1
  23. package/dist/packageVersion.d.ts.map +1 -1
  24. package/dist/packageVersion.js +1 -1
  25. package/dist/packageVersion.js.map +1 -1
  26. package/dist/public.d.ts +0 -2
  27. package/dist/shared-tree/schematizingTreeView.js +1 -1
  28. package/dist/shared-tree/schematizingTreeView.js.map +1 -1
  29. package/dist/shared-tree/sharedTree.js +1 -1
  30. package/dist/shared-tree/sharedTree.js.map +1 -1
  31. package/dist/shared-tree/treeApi.d.ts +6 -6
  32. package/dist/shared-tree/treeApi.d.ts.map +1 -1
  33. package/dist/shared-tree/treeApi.js.map +1 -1
  34. package/dist/shared-tree-core/branch.js +1 -1
  35. package/dist/shared-tree-core/branch.js.map +1 -1
  36. package/dist/simple-tree/api/customTree.js +5 -5
  37. package/dist/simple-tree/api/customTree.js.map +1 -1
  38. package/dist/simple-tree/api/index.d.ts +2 -2
  39. package/dist/simple-tree/api/index.d.ts.map +1 -1
  40. package/dist/simple-tree/api/index.js.map +1 -1
  41. package/dist/simple-tree/api/tree.d.ts +3 -12
  42. package/dist/simple-tree/api/tree.d.ts.map +1 -1
  43. package/dist/simple-tree/api/tree.js.map +1 -1
  44. package/dist/simple-tree/api/treeApiBeta.d.ts +14 -2
  45. package/dist/simple-tree/api/treeApiBeta.d.ts.map +1 -1
  46. package/dist/simple-tree/api/treeApiBeta.js +23 -8
  47. package/dist/simple-tree/api/treeApiBeta.js.map +1 -1
  48. package/dist/simple-tree/api/typesUnsafe.d.ts +9 -48
  49. package/dist/simple-tree/api/typesUnsafe.d.ts.map +1 -1
  50. package/dist/simple-tree/api/typesUnsafe.js.map +1 -1
  51. package/dist/simple-tree/arrayNode.d.ts +3 -14
  52. package/dist/simple-tree/arrayNode.d.ts.map +1 -1
  53. package/dist/simple-tree/arrayNode.js.map +1 -1
  54. package/dist/simple-tree/core/schemaCaching.js +1 -1
  55. package/dist/simple-tree/core/schemaCaching.js.map +1 -1
  56. package/dist/simple-tree/core/treeNodeKernel.d.ts +6 -1
  57. package/dist/simple-tree/core/treeNodeKernel.d.ts.map +1 -1
  58. package/dist/simple-tree/core/treeNodeKernel.js +7 -1
  59. package/dist/simple-tree/core/treeNodeKernel.js.map +1 -1
  60. package/dist/simple-tree/core/treeNodeSchema.d.ts +5 -6
  61. package/dist/simple-tree/core/treeNodeSchema.d.ts.map +1 -1
  62. package/dist/simple-tree/core/treeNodeSchema.js.map +1 -1
  63. package/dist/simple-tree/core/unhydratedFlexTree.js +1 -1
  64. package/dist/simple-tree/core/unhydratedFlexTree.js.map +1 -1
  65. package/dist/simple-tree/core/withType.d.ts +1 -3
  66. package/dist/simple-tree/core/withType.d.ts.map +1 -1
  67. package/dist/simple-tree/core/withType.js.map +1 -1
  68. package/dist/simple-tree/index.d.ts +4 -4
  69. package/dist/simple-tree/index.d.ts.map +1 -1
  70. package/dist/simple-tree/index.js.map +1 -1
  71. package/dist/simple-tree/schemaTypes.d.ts +6 -58
  72. package/dist/simple-tree/schemaTypes.d.ts.map +1 -1
  73. package/dist/simple-tree/schemaTypes.js +1 -6
  74. package/dist/simple-tree/schemaTypes.js.map +1 -1
  75. package/dist/simple-tree/toFlexSchema.js +2 -2
  76. package/dist/simple-tree/toFlexSchema.js.map +1 -1
  77. package/dist/simple-tree/toMapTree.d.ts +2 -4
  78. package/dist/simple-tree/toMapTree.d.ts.map +1 -1
  79. package/dist/simple-tree/toMapTree.js.map +1 -1
  80. package/lib/alpha.d.ts +0 -9
  81. package/lib/beta.d.ts +0 -2
  82. package/lib/feature-libraries/flex-tree/lazyField.js +1 -1
  83. package/lib/feature-libraries/flex-tree/lazyField.js.map +1 -1
  84. package/lib/feature-libraries/modular-schema/modularChangeFamily.d.ts.map +1 -1
  85. package/lib/feature-libraries/modular-schema/modularChangeFamily.js +3 -3
  86. package/lib/feature-libraries/modular-schema/modularChangeFamily.js.map +1 -1
  87. package/lib/index.d.ts +1 -1
  88. package/lib/index.d.ts.map +1 -1
  89. package/lib/index.js.map +1 -1
  90. package/lib/internalTypes.d.ts +1 -1
  91. package/lib/internalTypes.d.ts.map +1 -1
  92. package/lib/internalTypes.js.map +1 -1
  93. package/lib/legacy.d.ts +0 -2
  94. package/lib/packageVersion.d.ts +1 -1
  95. package/lib/packageVersion.d.ts.map +1 -1
  96. package/lib/packageVersion.js +1 -1
  97. package/lib/packageVersion.js.map +1 -1
  98. package/lib/public.d.ts +0 -2
  99. package/lib/shared-tree/schematizingTreeView.js +1 -1
  100. package/lib/shared-tree/schematizingTreeView.js.map +1 -1
  101. package/lib/shared-tree/sharedTree.js +1 -1
  102. package/lib/shared-tree/sharedTree.js.map +1 -1
  103. package/lib/shared-tree/treeApi.d.ts +6 -6
  104. package/lib/shared-tree/treeApi.d.ts.map +1 -1
  105. package/lib/shared-tree/treeApi.js.map +1 -1
  106. package/lib/shared-tree-core/branch.js +1 -1
  107. package/lib/shared-tree-core/branch.js.map +1 -1
  108. package/lib/simple-tree/api/customTree.js +5 -5
  109. package/lib/simple-tree/api/customTree.js.map +1 -1
  110. package/lib/simple-tree/api/index.d.ts +2 -2
  111. package/lib/simple-tree/api/index.d.ts.map +1 -1
  112. package/lib/simple-tree/api/index.js.map +1 -1
  113. package/lib/simple-tree/api/tree.d.ts +3 -12
  114. package/lib/simple-tree/api/tree.d.ts.map +1 -1
  115. package/lib/simple-tree/api/tree.js.map +1 -1
  116. package/lib/simple-tree/api/treeApiBeta.d.ts +14 -2
  117. package/lib/simple-tree/api/treeApiBeta.d.ts.map +1 -1
  118. package/lib/simple-tree/api/treeApiBeta.js +23 -8
  119. package/lib/simple-tree/api/treeApiBeta.js.map +1 -1
  120. package/lib/simple-tree/api/typesUnsafe.d.ts +9 -48
  121. package/lib/simple-tree/api/typesUnsafe.d.ts.map +1 -1
  122. package/lib/simple-tree/api/typesUnsafe.js.map +1 -1
  123. package/lib/simple-tree/arrayNode.d.ts +3 -14
  124. package/lib/simple-tree/arrayNode.d.ts.map +1 -1
  125. package/lib/simple-tree/arrayNode.js.map +1 -1
  126. package/lib/simple-tree/core/schemaCaching.js +1 -1
  127. package/lib/simple-tree/core/schemaCaching.js.map +1 -1
  128. package/lib/simple-tree/core/treeNodeKernel.d.ts +6 -1
  129. package/lib/simple-tree/core/treeNodeKernel.d.ts.map +1 -1
  130. package/lib/simple-tree/core/treeNodeKernel.js +7 -1
  131. package/lib/simple-tree/core/treeNodeKernel.js.map +1 -1
  132. package/lib/simple-tree/core/treeNodeSchema.d.ts +5 -6
  133. package/lib/simple-tree/core/treeNodeSchema.d.ts.map +1 -1
  134. package/lib/simple-tree/core/treeNodeSchema.js.map +1 -1
  135. package/lib/simple-tree/core/unhydratedFlexTree.js +1 -1
  136. package/lib/simple-tree/core/unhydratedFlexTree.js.map +1 -1
  137. package/lib/simple-tree/core/withType.d.ts +1 -3
  138. package/lib/simple-tree/core/withType.d.ts.map +1 -1
  139. package/lib/simple-tree/core/withType.js.map +1 -1
  140. package/lib/simple-tree/index.d.ts +4 -4
  141. package/lib/simple-tree/index.d.ts.map +1 -1
  142. package/lib/simple-tree/index.js +1 -1
  143. package/lib/simple-tree/index.js.map +1 -1
  144. package/lib/simple-tree/schemaTypes.d.ts +6 -58
  145. package/lib/simple-tree/schemaTypes.d.ts.map +1 -1
  146. package/lib/simple-tree/schemaTypes.js +0 -5
  147. package/lib/simple-tree/schemaTypes.js.map +1 -1
  148. package/lib/simple-tree/toFlexSchema.js +2 -2
  149. package/lib/simple-tree/toFlexSchema.js.map +1 -1
  150. package/lib/simple-tree/toMapTree.d.ts +2 -4
  151. package/lib/simple-tree/toMapTree.d.ts.map +1 -1
  152. package/lib/simple-tree/toMapTree.js.map +1 -1
  153. package/package.json +23 -39
  154. package/src/feature-libraries/flex-tree/lazyField.ts +1 -1
  155. package/src/feature-libraries/modular-schema/modularChangeFamily.ts +9 -3
  156. package/src/index.ts +0 -9
  157. package/src/internalTypes.ts +0 -3
  158. package/src/packageVersion.ts +1 -1
  159. package/src/shared-tree/schematizingTreeView.ts +1 -1
  160. package/src/shared-tree/sharedTree.ts +1 -1
  161. package/src/shared-tree/treeApi.ts +9 -19
  162. package/src/shared-tree-core/branch.ts +1 -1
  163. package/src/simple-tree/api/customTree.ts +5 -5
  164. package/src/simple-tree/api/index.ts +0 -5
  165. package/src/simple-tree/api/tree.ts +2 -24
  166. package/src/simple-tree/api/treeApiBeta.ts +65 -3
  167. package/src/simple-tree/api/typesUnsafe.ts +18 -82
  168. package/src/simple-tree/arrayNode.ts +14 -34
  169. package/src/simple-tree/core/schemaCaching.ts +1 -1
  170. package/src/simple-tree/core/treeNodeKernel.ts +10 -2
  171. package/src/simple-tree/core/treeNodeSchema.ts +5 -7
  172. package/src/simple-tree/core/unhydratedFlexTree.ts +1 -1
  173. package/src/simple-tree/core/withType.ts +1 -10
  174. package/src/simple-tree/index.ts +1 -15
  175. package/src/simple-tree/schemaTypes.ts +5 -68
  176. package/src/simple-tree/toFlexSchema.ts +2 -2
  177. package/src/simple-tree/toMapTree.ts +1 -4
@@ -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,12 +416,13 @@ 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
433
423
  export const TreeBeta: {
434
- readonly on: <K extends keyof TreeChangeEventsBeta<TNode>, TNode extends TreeNode>(node: TNode, eventName: K, listener: NoInfer<TreeChangeEventsBeta<TNode>[K]>) => () => void;
424
+ on<K extends keyof TreeChangeEventsBeta<TNode>, TNode extends TreeNode>(node: TNode, eventName: K, listener: NoInfer<TreeChangeEventsBeta<TNode>[K]>): () => void;
425
+ clone<TSchema extends ImplicitFieldSchema>(node: TreeFieldFromImplicitField<TSchema>): TreeFieldFromImplicitField<TSchema>;
435
426
  };
436
427
 
437
428
  // @public @sealed
@@ -446,7 +437,7 @@ export interface TreeChangeEventsBeta<TNode extends TreeNode = TreeNode> extends
446
437
  }
447
438
 
448
439
  // @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;
440
+ 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
441
 
451
442
  // @public
452
443
  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 +486,13 @@ export interface TreeNodeApi {
495
486
  export type TreeNodeFromImplicitAllowedTypes<TSchema extends ImplicitAllowedTypes = TreeNodeSchema> = TSchema extends TreeNodeSchema ? NodeFromSchema<TSchema> : TSchema extends AllowedTypes ? NodeFromSchema<FlexListToUnion<TSchema>> : unknown;
496
487
 
497
488
  // @public
498
- type TreeNodeFromImplicitAllowedTypesUnsafe<TSchema extends Unenforced<ImplicitAllowedTypes>> = TSchema extends TreeNodeSchemaUnsafe ? NodeFromSchemaUnsafe<TSchema> : TSchema extends AllowedTypesUnsafe ? NodeFromSchemaUnsafe<FlexListToUnion<TSchema>> : unknown;
489
+ type TreeNodeFromImplicitAllowedTypesUnsafe<TSchema extends Unenforced<ImplicitAllowedTypes>> = TSchema extends ImplicitAllowedTypes ? TreeNodeFromImplicitAllowedTypes<TSchema> : TSchema extends TreeNodeSchema ? NodeFromSchema<TSchema> : TSchema extends AllowedTypes ? NodeFromSchema<FlexListToUnion<TSchema>> : unknown;
499
490
 
500
491
  // @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>;
492
+ 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
493
 
503
494
  // @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> {
495
+ 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
496
  // @sealed
512
497
  new (data: TInsertable | InternalTreeNode): Unhydrated<TNode>;
513
498
  }
@@ -523,20 +508,11 @@ export interface TreeNodeSchemaCore<out Name extends string, out Kind extends No
523
508
  }
524
509
 
525
510
  // @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> {
511
+ 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
512
  // (undocumented)
534
513
  create(data: TInsertable): TNode;
535
514
  }
536
515
 
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
516
  // @public
541
517
  export type TreeObjectNode<T extends RestrictiveStringRecord<ImplicitFieldSchema>, TypeName extends string = string> = TreeNode & ObjectFromSchemaRecord<T> & WithType<TypeName, NodeKind.Object, T>;
542
518
 
@@ -552,7 +528,7 @@ export enum TreeStatus {
552
528
  }
553
529
 
554
530
  // @public @sealed
555
- export interface TreeView<in out TSchema extends ImplicitFieldSchema> extends IDisposable {
531
+ export interface TreeView<TSchema extends ImplicitFieldSchema> extends IDisposable {
556
532
  readonly compatibility: SchemaCompatibilityStatus;
557
533
  readonly events: Listenable<TreeViewEvents>;
558
534
  initialize(content: InsertableTreeFieldFromImplicitField<TSchema>): void;
@@ -611,7 +587,7 @@ export interface ViewableTree {
611
587
  export interface WithType<out TName extends string = string, out TKind extends NodeKind = NodeKind, out TInfo = unknown> {
612
588
  // @deprecated
613
589
  get [typeNameSymbol](): TName;
614
- get [typeSchemaSymbol](): TreeNodeSchemaClass<TName, TKind, TreeNode | TreeLeafValue, never, boolean, TInfo>;
590
+ get [typeSchemaSymbol](): TreeNodeSchemaClass<TName, TKind, unknown, never, boolean, TInfo>;
615
591
  }
616
592
 
617
593
  // (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,16 +219,16 @@ 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
  // @public
234
228
  export type NodeFromSchema<T extends TreeNodeSchema> = T extends TreeNodeSchema<string, NodeKind, infer TNode> ? TNode : never;
235
229
 
236
230
  // @public
237
- type NodeFromSchemaUnsafe<T extends Unenforced<TreeNodeSchema>> = T extends TreeNodeSchemaUnsafe<string, NodeKind, infer TNode> ? TNode : never;
231
+ type NodeFromSchemaUnsafe<T extends Unenforced<TreeNodeSchema>> = T extends TreeNodeSchema<string, NodeKind, infer TNode> ? TNode : never;
238
232
 
239
233
  // @public
240
234
  export interface NodeInDocumentConstraint {
@@ -265,10 +259,6 @@ type ObjectFromSchemaRecordUnsafe<T extends Unenforced<RestrictiveStringRecord<I
265
259
  // @public
266
260
  export type Off = () => void;
267
261
 
268
- // @public @sealed
269
- export interface ReadonlyArrayNode<out T = TreeNode | TreeLeafValue> extends ReadonlyArray<T>, Awaited<TreeNode & WithType<string, NodeKind.Array>> {
270
- }
271
-
272
262
  // @public @sealed
273
263
  interface ReadonlyMapInlined<K, T extends Unenforced<ImplicitAllowedTypes>> {
274
264
  [Symbol.iterator](): IterableIterator<[K, TreeNodeFromImplicitAllowedTypesUnsafe<T>]>;
@@ -320,17 +310,17 @@ export const rollback: unique symbol;
320
310
  // @public @sealed
321
311
  export interface RunTransaction {
322
312
  <TNode extends TreeNode, TResult>(node: TNode, transaction: (node: TNode) => TResult): TResult;
323
- <TView extends TreeView<any>, TResult>(tree: TView, transaction: (root: TView["root"]) => TResult): TResult;
313
+ <TView extends TreeView<ImplicitFieldSchema>, TResult>(tree: TView, transaction: (root: TView["root"]) => TResult): TResult;
324
314
  <TNode extends TreeNode, TResult>(node: TNode, transaction: (node: TNode) => TResult | typeof rollback): TResult | typeof rollback;
325
- <TView extends TreeView<any>, TResult>(tree: TView, transaction: (root: TView["root"]) => TResult | typeof rollback): TResult | typeof rollback;
315
+ <TView extends TreeView<ImplicitFieldSchema>, TResult>(tree: TView, transaction: (root: TView["root"]) => TResult | typeof rollback): TResult | typeof rollback;
326
316
  <TNode extends TreeNode>(node: TNode, transaction: (node: TNode) => void): void;
327
- <TView extends TreeView<any>>(tree: TView, transaction: (root: TView["root"]) => void): void;
317
+ <TView extends TreeView<ImplicitFieldSchema>>(tree: TView, transaction: (root: TView["root"]) => void): void;
328
318
  <TNode extends TreeNode, TResult>(node: TNode, transaction: (node: TNode) => TResult, preconditions?: readonly TransactionConstraint[]): TResult;
329
- <TView extends TreeView<any>, TResult>(tree: TView, transaction: (root: TView["root"]) => TResult, preconditions?: readonly TransactionConstraint[]): TResult;
319
+ <TView extends TreeView<ImplicitFieldSchema>, TResult>(tree: TView, transaction: (root: TView["root"]) => TResult, preconditions?: readonly TransactionConstraint[]): TResult;
330
320
  <TNode extends TreeNode, TResult>(node: TNode, transaction: (node: TNode) => TResult | typeof rollback, preconditions?: readonly TransactionConstraint[]): TResult | typeof rollback;
331
- <TView extends TreeView<any>, TResult>(tree: TView, transaction: (root: TView["root"]) => TResult | typeof rollback, preconditions?: readonly TransactionConstraint[]): TResult | typeof rollback;
321
+ <TView extends TreeView<ImplicitFieldSchema>, TResult>(tree: TView, transaction: (root: TView["root"]) => TResult | typeof rollback, preconditions?: readonly TransactionConstraint[]): TResult | typeof rollback;
332
322
  <TNode extends TreeNode>(node: TNode, transaction: (node: TNode) => void, preconditions?: readonly TransactionConstraint[]): void;
333
- <TView extends TreeView<any>>(tree: TView, transaction: (root: TView["root"]) => void, preconditions?: readonly TransactionConstraint[]): void;
323
+ <TView extends TreeView<ImplicitFieldSchema>>(tree: TView, transaction: (root: TView["root"]) => void, preconditions?: readonly TransactionConstraint[]): void;
334
324
  readonly rollback: typeof rollback;
335
325
  }
336
326
 
@@ -393,7 +383,7 @@ interface TreeApi extends TreeNodeApi {
393
383
  }
394
384
 
395
385
  // @public @sealed
396
- export interface TreeArrayNode<TAllowedTypes extends ImplicitAllowedTypes = ImplicitAllowedTypes> extends TreeArrayNodeBase<TreeNodeFromImplicitAllowedTypes<TAllowedTypes>, InsertableTreeNodeFromImplicitAllowedTypes<TAllowedTypes>> {
386
+ export interface TreeArrayNode<TAllowedTypes extends ImplicitAllowedTypes = ImplicitAllowedTypes> extends TreeArrayNodeBase<TreeNodeFromImplicitAllowedTypes<TAllowedTypes>, InsertableTreeNodeFromImplicitAllowedTypes<TAllowedTypes>, TreeArrayNode> {
397
387
  }
398
388
 
399
389
  // @public
@@ -402,7 +392,7 @@ export const TreeArrayNode: {
402
392
  };
403
393
 
404
394
  // @public @sealed
405
- interface TreeArrayNodeBase<out T, in TNew, in TMoveFrom = ReadonlyArrayNode> extends ReadonlyArrayNode<T> {
395
+ interface TreeArrayNodeBase<out T, in TNew, in TMoveFrom> extends ReadonlyArray<T>, TreeNode {
406
396
  insertAt(index: number, ...value: readonly (TNew | IterableTreeArrayContent<TNew>)[]): void;
407
397
  insertAtEnd(...value: readonly (TNew | IterableTreeArrayContent<TNew>)[]): void;
408
398
  insertAtStart(...value: readonly (TNew | IterableTreeArrayContent<TNew>)[]): void;
@@ -424,7 +414,7 @@ interface TreeArrayNodeBase<out T, in TNew, in TMoveFrom = ReadonlyArrayNode> ex
424
414
  }
425
415
 
426
416
  // @public @sealed
427
- export interface TreeArrayNodeUnsafe<TAllowedTypes extends Unenforced<ImplicitAllowedTypes>> extends TreeArrayNodeBase<TreeNodeFromImplicitAllowedTypesUnsafe<TAllowedTypes>, InsertableTreeNodeFromImplicitAllowedTypesUnsafe<TAllowedTypes>> {
417
+ export interface TreeArrayNodeUnsafe<TAllowedTypes extends Unenforced<ImplicitAllowedTypes>> extends TreeArrayNodeBase<TreeNodeFromImplicitAllowedTypesUnsafe<TAllowedTypes>, InsertableTreeNodeFromImplicitAllowedTypesUnsafe<TAllowedTypes>, TreeArrayNode> {
428
418
  }
429
419
 
430
420
  // @public @sealed
@@ -434,7 +424,7 @@ export interface TreeChangeEvents {
434
424
  }
435
425
 
436
426
  // @public
437
- 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;
427
+ 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;
438
428
 
439
429
  // @public
440
430
  type TreeFieldFromImplicitFieldUnsafe<TSchema extends Unenforced<ImplicitFieldSchema>> = TSchema extends FieldSchemaUnsafe<infer Kind, infer Types> ? ApplyKind<TreeNodeFromImplicitAllowedTypesUnsafe<Types>, Kind, false> : TSchema extends ImplicitAllowedTypes ? TreeNodeFromImplicitAllowedTypesUnsafe<TSchema> : unknown;
@@ -483,19 +473,13 @@ export interface TreeNodeApi {
483
473
  export type TreeNodeFromImplicitAllowedTypes<TSchema extends ImplicitAllowedTypes = TreeNodeSchema> = TSchema extends TreeNodeSchema ? NodeFromSchema<TSchema> : TSchema extends AllowedTypes ? NodeFromSchema<FlexListToUnion<TSchema>> : unknown;
484
474
 
485
475
  // @public
486
- type TreeNodeFromImplicitAllowedTypesUnsafe<TSchema extends Unenforced<ImplicitAllowedTypes>> = TSchema extends TreeNodeSchemaUnsafe ? NodeFromSchemaUnsafe<TSchema> : TSchema extends AllowedTypesUnsafe ? NodeFromSchemaUnsafe<FlexListToUnion<TSchema>> : unknown;
476
+ type TreeNodeFromImplicitAllowedTypesUnsafe<TSchema extends Unenforced<ImplicitAllowedTypes>> = TSchema extends ImplicitAllowedTypes ? TreeNodeFromImplicitAllowedTypes<TSchema> : TSchema extends TreeNodeSchema ? NodeFromSchema<TSchema> : TSchema extends AllowedTypes ? NodeFromSchema<FlexListToUnion<TSchema>> : unknown;
487
477
 
488
478
  // @public @sealed
489
- 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>;
479
+ 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>;
490
480
 
491
481
  // @public @sealed
492
- 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> {
493
- // @sealed
494
- new (data: TInsertable | InternalTreeNode): Unhydrated<TNode>;
495
- }
496
-
497
- // @public
498
- 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> {
482
+ 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> {
499
483
  // @sealed
500
484
  new (data: TInsertable | InternalTreeNode): Unhydrated<TNode>;
501
485
  }
@@ -511,20 +495,11 @@ export interface TreeNodeSchemaCore<out Name extends string, out Kind extends No
511
495
  }
512
496
 
513
497
  // @public @sealed
514
- 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> {
515
- // (undocumented)
516
- create(data: TInsertable): TNode;
517
- }
518
-
519
- // @public
520
- 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> {
498
+ 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> {
521
499
  // (undocumented)
522
500
  create(data: TInsertable): TNode;
523
501
  }
524
502
 
525
- // @public
526
- 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>;
527
-
528
503
  // @public
529
504
  export type TreeObjectNode<T extends RestrictiveStringRecord<ImplicitFieldSchema>, TypeName extends string = string> = TreeNode & ObjectFromSchemaRecord<T> & WithType<TypeName, NodeKind.Object, T>;
530
505
 
@@ -540,7 +515,7 @@ export enum TreeStatus {
540
515
  }
541
516
 
542
517
  // @public @sealed
543
- export interface TreeView<in out TSchema extends ImplicitFieldSchema> extends IDisposable {
518
+ export interface TreeView<TSchema extends ImplicitFieldSchema> extends IDisposable {
544
519
  readonly compatibility: SchemaCompatibilityStatus;
545
520
  readonly events: Listenable<TreeViewEvents>;
546
521
  initialize(content: InsertableTreeFieldFromImplicitField<TSchema>): void;
@@ -599,7 +574,7 @@ export interface ViewableTree {
599
574
  export interface WithType<out TName extends string = string, out TKind extends NodeKind = NodeKind, out TInfo = unknown> {
600
575
  // @deprecated
601
576
  get [typeNameSymbol](): TName;
602
- get [typeSchemaSymbol](): TreeNodeSchemaClass<TName, TKind, TreeNode | TreeLeafValue, never, boolean, TInfo>;
577
+ get [typeSchemaSymbol](): TreeNodeSchemaClass<TName, TKind, unknown, never, boolean, TInfo>;
603
578
  }
604
579
 
605
580
  // (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,16 +219,16 @@ 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
  // @public
234
228
  export type NodeFromSchema<T extends TreeNodeSchema> = T extends TreeNodeSchema<string, NodeKind, infer TNode> ? TNode : never;
235
229
 
236
230
  // @public
237
- type NodeFromSchemaUnsafe<T extends Unenforced<TreeNodeSchema>> = T extends TreeNodeSchemaUnsafe<string, NodeKind, infer TNode> ? TNode : never;
231
+ type NodeFromSchemaUnsafe<T extends Unenforced<TreeNodeSchema>> = T extends TreeNodeSchema<string, NodeKind, infer TNode> ? TNode : never;
238
232
 
239
233
  // @public
240
234
  export interface NodeInDocumentConstraint {
@@ -265,10 +259,6 @@ type ObjectFromSchemaRecordUnsafe<T extends Unenforced<RestrictiveStringRecord<I
265
259
  // @public
266
260
  export type Off = () => void;
267
261
 
268
- // @public @sealed
269
- export interface ReadonlyArrayNode<out T = TreeNode | TreeLeafValue> extends ReadonlyArray<T>, Awaited<TreeNode & WithType<string, NodeKind.Array>> {
270
- }
271
-
272
262
  // @public @sealed
273
263
  interface ReadonlyMapInlined<K, T extends Unenforced<ImplicitAllowedTypes>> {
274
264
  [Symbol.iterator](): IterableIterator<[K, TreeNodeFromImplicitAllowedTypesUnsafe<T>]>;
@@ -320,17 +310,17 @@ export const rollback: unique symbol;
320
310
  // @public @sealed
321
311
  export interface RunTransaction {
322
312
  <TNode extends TreeNode, TResult>(node: TNode, transaction: (node: TNode) => TResult): TResult;
323
- <TView extends TreeView<any>, TResult>(tree: TView, transaction: (root: TView["root"]) => TResult): TResult;
313
+ <TView extends TreeView<ImplicitFieldSchema>, TResult>(tree: TView, transaction: (root: TView["root"]) => TResult): TResult;
324
314
  <TNode extends TreeNode, TResult>(node: TNode, transaction: (node: TNode) => TResult | typeof rollback): TResult | typeof rollback;
325
- <TView extends TreeView<any>, TResult>(tree: TView, transaction: (root: TView["root"]) => TResult | typeof rollback): TResult | typeof rollback;
315
+ <TView extends TreeView<ImplicitFieldSchema>, TResult>(tree: TView, transaction: (root: TView["root"]) => TResult | typeof rollback): TResult | typeof rollback;
326
316
  <TNode extends TreeNode>(node: TNode, transaction: (node: TNode) => void): void;
327
- <TView extends TreeView<any>>(tree: TView, transaction: (root: TView["root"]) => void): void;
317
+ <TView extends TreeView<ImplicitFieldSchema>>(tree: TView, transaction: (root: TView["root"]) => void): void;
328
318
  <TNode extends TreeNode, TResult>(node: TNode, transaction: (node: TNode) => TResult, preconditions?: readonly TransactionConstraint[]): TResult;
329
- <TView extends TreeView<any>, TResult>(tree: TView, transaction: (root: TView["root"]) => TResult, preconditions?: readonly TransactionConstraint[]): TResult;
319
+ <TView extends TreeView<ImplicitFieldSchema>, TResult>(tree: TView, transaction: (root: TView["root"]) => TResult, preconditions?: readonly TransactionConstraint[]): TResult;
330
320
  <TNode extends TreeNode, TResult>(node: TNode, transaction: (node: TNode) => TResult | typeof rollback, preconditions?: readonly TransactionConstraint[]): TResult | typeof rollback;
331
- <TView extends TreeView<any>, TResult>(tree: TView, transaction: (root: TView["root"]) => TResult | typeof rollback, preconditions?: readonly TransactionConstraint[]): TResult | typeof rollback;
321
+ <TView extends TreeView<ImplicitFieldSchema>, TResult>(tree: TView, transaction: (root: TView["root"]) => TResult | typeof rollback, preconditions?: readonly TransactionConstraint[]): TResult | typeof rollback;
332
322
  <TNode extends TreeNode>(node: TNode, transaction: (node: TNode) => void, preconditions?: readonly TransactionConstraint[]): void;
333
- <TView extends TreeView<any>>(tree: TView, transaction: (root: TView["root"]) => void, preconditions?: readonly TransactionConstraint[]): void;
323
+ <TView extends TreeView<ImplicitFieldSchema>>(tree: TView, transaction: (root: TView["root"]) => void, preconditions?: readonly TransactionConstraint[]): void;
334
324
  readonly rollback: typeof rollback;
335
325
  }
336
326
 
@@ -390,7 +380,7 @@ interface TreeApi extends TreeNodeApi {
390
380
  }
391
381
 
392
382
  // @public @sealed
393
- export interface TreeArrayNode<TAllowedTypes extends ImplicitAllowedTypes = ImplicitAllowedTypes> extends TreeArrayNodeBase<TreeNodeFromImplicitAllowedTypes<TAllowedTypes>, InsertableTreeNodeFromImplicitAllowedTypes<TAllowedTypes>> {
383
+ export interface TreeArrayNode<TAllowedTypes extends ImplicitAllowedTypes = ImplicitAllowedTypes> extends TreeArrayNodeBase<TreeNodeFromImplicitAllowedTypes<TAllowedTypes>, InsertableTreeNodeFromImplicitAllowedTypes<TAllowedTypes>, TreeArrayNode> {
394
384
  }
395
385
 
396
386
  // @public
@@ -399,7 +389,7 @@ export const TreeArrayNode: {
399
389
  };
400
390
 
401
391
  // @public @sealed
402
- interface TreeArrayNodeBase<out T, in TNew, in TMoveFrom = ReadonlyArrayNode> extends ReadonlyArrayNode<T> {
392
+ interface TreeArrayNodeBase<out T, in TNew, in TMoveFrom> extends ReadonlyArray<T>, TreeNode {
403
393
  insertAt(index: number, ...value: readonly (TNew | IterableTreeArrayContent<TNew>)[]): void;
404
394
  insertAtEnd(...value: readonly (TNew | IterableTreeArrayContent<TNew>)[]): void;
405
395
  insertAtStart(...value: readonly (TNew | IterableTreeArrayContent<TNew>)[]): void;
@@ -421,7 +411,7 @@ interface TreeArrayNodeBase<out T, in TNew, in TMoveFrom = ReadonlyArrayNode> ex
421
411
  }
422
412
 
423
413
  // @public @sealed
424
- export interface TreeArrayNodeUnsafe<TAllowedTypes extends Unenforced<ImplicitAllowedTypes>> extends TreeArrayNodeBase<TreeNodeFromImplicitAllowedTypesUnsafe<TAllowedTypes>, InsertableTreeNodeFromImplicitAllowedTypesUnsafe<TAllowedTypes>> {
414
+ export interface TreeArrayNodeUnsafe<TAllowedTypes extends Unenforced<ImplicitAllowedTypes>> extends TreeArrayNodeBase<TreeNodeFromImplicitAllowedTypesUnsafe<TAllowedTypes>, InsertableTreeNodeFromImplicitAllowedTypesUnsafe<TAllowedTypes>, TreeArrayNode> {
425
415
  }
426
416
 
427
417
  // @public @sealed
@@ -431,7 +421,7 @@ export interface TreeChangeEvents {
431
421
  }
432
422
 
433
423
  // @public
434
- 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;
424
+ 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;
435
425
 
436
426
  // @public
437
427
  type TreeFieldFromImplicitFieldUnsafe<TSchema extends Unenforced<ImplicitFieldSchema>> = TSchema extends FieldSchemaUnsafe<infer Kind, infer Types> ? ApplyKind<TreeNodeFromImplicitAllowedTypesUnsafe<Types>, Kind, false> : TSchema extends ImplicitAllowedTypes ? TreeNodeFromImplicitAllowedTypesUnsafe<TSchema> : unknown;
@@ -480,19 +470,13 @@ export interface TreeNodeApi {
480
470
  export type TreeNodeFromImplicitAllowedTypes<TSchema extends ImplicitAllowedTypes = TreeNodeSchema> = TSchema extends TreeNodeSchema ? NodeFromSchema<TSchema> : TSchema extends AllowedTypes ? NodeFromSchema<FlexListToUnion<TSchema>> : unknown;
481
471
 
482
472
  // @public
483
- type TreeNodeFromImplicitAllowedTypesUnsafe<TSchema extends Unenforced<ImplicitAllowedTypes>> = TSchema extends TreeNodeSchemaUnsafe ? NodeFromSchemaUnsafe<TSchema> : TSchema extends AllowedTypesUnsafe ? NodeFromSchemaUnsafe<FlexListToUnion<TSchema>> : unknown;
473
+ type TreeNodeFromImplicitAllowedTypesUnsafe<TSchema extends Unenforced<ImplicitAllowedTypes>> = TSchema extends ImplicitAllowedTypes ? TreeNodeFromImplicitAllowedTypes<TSchema> : TSchema extends TreeNodeSchema ? NodeFromSchema<TSchema> : TSchema extends AllowedTypes ? NodeFromSchema<FlexListToUnion<TSchema>> : unknown;
484
474
 
485
475
  // @public @sealed
486
- 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>;
476
+ 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>;
487
477
 
488
478
  // @public @sealed
489
- 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> {
490
- // @sealed
491
- new (data: TInsertable | InternalTreeNode): Unhydrated<TNode>;
492
- }
493
-
494
- // @public
495
- 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> {
479
+ 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> {
496
480
  // @sealed
497
481
  new (data: TInsertable | InternalTreeNode): Unhydrated<TNode>;
498
482
  }
@@ -508,20 +492,11 @@ export interface TreeNodeSchemaCore<out Name extends string, out Kind extends No
508
492
  }
509
493
 
510
494
  // @public @sealed
511
- 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> {
512
- // (undocumented)
513
- create(data: TInsertable): TNode;
514
- }
515
-
516
- // @public
517
- 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> {
495
+ 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> {
518
496
  // (undocumented)
519
497
  create(data: TInsertable): TNode;
520
498
  }
521
499
 
522
- // @public
523
- 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>;
524
-
525
500
  // @public
526
501
  export type TreeObjectNode<T extends RestrictiveStringRecord<ImplicitFieldSchema>, TypeName extends string = string> = TreeNode & ObjectFromSchemaRecord<T> & WithType<TypeName, NodeKind.Object, T>;
527
502
 
@@ -537,7 +512,7 @@ export enum TreeStatus {
537
512
  }
538
513
 
539
514
  // @public @sealed
540
- export interface TreeView<in out TSchema extends ImplicitFieldSchema> extends IDisposable {
515
+ export interface TreeView<TSchema extends ImplicitFieldSchema> extends IDisposable {
541
516
  readonly compatibility: SchemaCompatibilityStatus;
542
517
  readonly events: Listenable<TreeViewEvents>;
543
518
  initialize(content: InsertableTreeFieldFromImplicitField<TSchema>): void;
@@ -596,7 +571,7 @@ export interface ViewableTree {
596
571
  export interface WithType<out TName extends string = string, out TKind extends NodeKind = NodeKind, out TInfo = unknown> {
597
572
  // @deprecated
598
573
  get [typeNameSymbol](): TName;
599
- get [typeSchemaSymbol](): TreeNodeSchemaClass<TName, TKind, TreeNode | TreeLeafValue, never, boolean, TInfo>;
574
+ get [typeSchemaSymbol](): TreeNodeSchemaClass<TName, TKind, unknown, never, boolean, TInfo>;
600
575
  }
601
576
 
602
577
  // (No @packageDocumentation comment for this package)