fluid-framework 2.33.0-333010 → 2.33.1

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.
@@ -4,20 +4,17 @@
4
4
 
5
5
  ```ts
6
6
 
7
- // @public
7
+ // @public @system
8
8
  export type AllowedTypes = readonly LazyItem<TreeNodeSchema>[];
9
9
 
10
- // @public
11
- type AllowedTypesUnsafe = readonly LazyItem<TreeNodeSchemaUnsafe>[];
12
-
13
- // @public
10
+ // @public @system
14
11
  type ApplyKind<T, Kind extends FieldKind> = {
15
12
  [FieldKind.Required]: T;
16
13
  [FieldKind.Optional]: T | undefined;
17
14
  [FieldKind.Identifier]: T;
18
15
  }[Kind];
19
16
 
20
- // @public
17
+ // @public @system
21
18
  type ApplyKindInput<T, Kind extends FieldKind, DefaultsAreOptional extends boolean> = [
22
19
  Kind
23
20
  ] extends [FieldKind.Required] ? T : [Kind] extends [FieldKind.Optional] ? T | undefined : [Kind] extends [FieldKind.Identifier] ? DefaultsAreOptional extends true ? T | undefined : T : never;
@@ -70,7 +67,7 @@ export interface ContainerSchema {
70
67
  readonly initialObjects: Record<string, SharedObjectKind>;
71
68
  }
72
69
 
73
- // @public @sealed
70
+ // @public @sealed @system
74
71
  interface DefaultProvider extends ErasedType<"@fluidframework/tree.FieldProvider"> {
75
72
  }
76
73
 
@@ -80,15 +77,12 @@ export abstract class ErasedType<out Name = unknown> {
80
77
  protected abstract brand(dummy: never): Name;
81
78
  }
82
79
 
83
- // @public
80
+ // @public @system
84
81
  type ExtractItemType<Item extends LazyItem> = Item extends () => infer Result ? Result : Item;
85
82
 
86
- // @public
83
+ // @public @system
87
84
  type FieldHasDefault<T extends ImplicitFieldSchema> = T extends FieldSchema<FieldKind.Optional | FieldKind.Identifier> ? true : false;
88
85
 
89
- // @public @sealed
90
- type FieldHasDefaultUnsafe<T extends ImplicitFieldSchemaUnsafe> = T extends FieldSchemaUnsafe<FieldKind.Optional | FieldKind.Identifier, ImplicitAllowedTypesUnsafe> ? true : false;
91
-
92
86
  // @public
93
87
  export enum FieldKind {
94
88
  Identifier = 2,
@@ -124,22 +118,15 @@ export interface FieldSchemaMetadata<TCustomMetadata = unknown> {
124
118
  readonly description?: string | undefined;
125
119
  }
126
120
 
127
- // @public @sealed
128
- export interface FieldSchemaUnsafe<out Kind extends FieldKind, out Types extends ImplicitAllowedTypesUnsafe, out TCustomMetadata = unknown> extends FieldSchema<Kind, any, TCustomMetadata> {
129
- readonly allowedTypes: Types;
130
- readonly allowedTypeSet: ReadonlySet<TreeNodeSchema>;
131
- readonly kind: Kind;
132
- }
133
-
134
- // @public
121
+ // @public @system
135
122
  type FlattenKeys<T> = [{
136
123
  [Property in keyof T]: T[Property];
137
124
  }][_InlineTrick];
138
125
 
139
- // @public
126
+ // @public @system
140
127
  type FlexList<Item = unknown> = readonly LazyItem<Item>[];
141
128
 
142
- // @public
129
+ // @public @system
143
130
  type FlexListToUnion<TList extends FlexList> = ExtractItemType<TList[number]>;
144
131
 
145
132
  // @public
@@ -406,27 +393,21 @@ export interface IMember {
406
393
  // @public
407
394
  export type ImplicitAllowedTypes = AllowedTypes | TreeNodeSchema;
408
395
 
409
- // @public
410
- export type ImplicitAllowedTypesUnsafe = TreeNodeSchemaUnsafe | readonly LazyItem<Unenforced<TreeNodeSchema>>[];
411
-
412
396
  // @public
413
397
  export type ImplicitFieldSchema = FieldSchema | ImplicitAllowedTypes;
414
398
 
415
- // @public
416
- export type ImplicitFieldSchemaUnsafe = FieldSchemaUnsafe<FieldKind, ImplicitAllowedTypesUnsafe> | ImplicitAllowedTypesUnsafe;
417
-
418
399
  // @public
419
400
  export type InitialObjects<T extends ContainerSchema> = {
420
401
  [K in keyof T["initialObjects"]]: T["initialObjects"][K] extends SharedObjectKind<infer TChannel> ? TChannel : never;
421
402
  };
422
403
 
423
- // @public
404
+ // @public @system
424
405
  type _InlineTrick = 0;
425
406
 
426
- // @public
407
+ // @public @system
427
408
  export type Input<T extends never> = T;
428
409
 
429
- // @public
410
+ // @public @system
430
411
  type InsertableObjectFromSchemaRecord<T extends RestrictiveStringRecord<ImplicitFieldSchema>> = RestrictiveStringRecord<ImplicitFieldSchema> extends T ? {
431
412
  arbitraryKey: "arbitraryValue";
432
413
  } extends T ? Record<string, never> : never : FlattenKeys<{
@@ -435,45 +416,25 @@ type InsertableObjectFromSchemaRecord<T extends RestrictiveStringRecord<Implicit
435
416
  readonly [Property in keyof T as FieldHasDefault<T[Property & string]> extends false ? Property : never]: InsertableTreeFieldFromImplicitField<T[Property & string]>;
436
417
  }>;
437
418
 
438
- // @public
439
- export type InsertableObjectFromSchemaRecordUnsafe<T extends RestrictiveStringRecord<ImplicitFieldSchemaUnsafe>> = {
440
- readonly [Property in keyof T as FieldHasDefaultUnsafe<T[Property & string]> extends false ? Property : never]: InsertableTreeFieldFromImplicitFieldUnsafe<T[Property & string]>;
441
- } & {
442
- readonly [Property in keyof T as FieldHasDefaultUnsafe<T[Property & string]> extends true ? Property : never]?: InsertableTreeFieldFromImplicitFieldUnsafe<T[Property & string]>;
443
- };
444
-
445
419
  // @public
446
420
  export type InsertableTreeFieldFromImplicitField<TSchemaInput extends ImplicitFieldSchema, TSchema = UnionToIntersection<TSchemaInput>> = [TSchema] extends [FieldSchema<infer Kind, infer Types>] ? ApplyKindInput<InsertableTreeNodeFromImplicitAllowedTypes<Types>, Kind, true> : [TSchema] extends [ImplicitAllowedTypes] ? InsertableTreeNodeFromImplicitAllowedTypes<TSchema> : never;
447
421
 
448
- // @public
449
- export type InsertableTreeFieldFromImplicitFieldUnsafe<TSchemaInput extends ImplicitFieldSchemaUnsafe, TSchema = UnionToIntersection<TSchemaInput>> = [TSchema] extends [FieldSchemaUnsafe<infer Kind, infer Types>] ? ApplyKindInput<InsertableTreeNodeFromImplicitAllowedTypesUnsafe<Types>, Kind, true> : [TSchema] extends [ImplicitAllowedTypes] ? InsertableTreeNodeFromImplicitAllowedTypesUnsafe<TSchema> : never;
450
-
451
- // @public
452
- export type InsertableTreeNodeFromAllowedTypes<TList extends AllowedTypes> = TList extends readonly [
422
+ // @public @system
423
+ export type InsertableTreeNodeFromAllowedTypes<TList extends AllowedTypes> = [TList] extends [
424
+ readonly [
453
425
  LazyItem<infer TSchema extends TreeNodeSchema>,
454
426
  ...infer Rest extends AllowedTypes
427
+ ]
455
428
  ] ? InsertableTypedNode<TSchema> | InsertableTreeNodeFromAllowedTypes<Rest> : never;
456
429
 
457
- // @public
458
- export type InsertableTreeNodeFromAllowedTypesUnsafe<TList extends AllowedTypesUnsafe> = TList extends readonly [
459
- LazyItem<infer TSchema extends TreeNodeSchemaUnsafe>,
460
- ...infer Rest extends AllowedTypesUnsafe
461
- ] ? InsertableTypedNodeUnsafe<TSchema> | InsertableTreeNodeFromAllowedTypesUnsafe<Rest> : never;
462
-
463
430
  // @public
464
431
  export type InsertableTreeNodeFromImplicitAllowedTypes<TSchema extends ImplicitAllowedTypes> = [
465
432
  TSchema
466
433
  ] extends [TreeNodeSchema] ? InsertableTypedNode<TSchema> : [TSchema] extends [AllowedTypes] ? InsertableTreeNodeFromAllowedTypes<TSchema> : never;
467
434
 
468
- // @public
469
- export type InsertableTreeNodeFromImplicitAllowedTypesUnsafe<TSchema extends ImplicitAllowedTypesUnsafe> = [TSchema] extends [TreeNodeSchemaUnsafe] ? InsertableTypedNodeUnsafe<TSchema> : [TSchema] extends [AllowedTypesUnsafe] ? InsertableTreeNodeFromAllowedTypesUnsafe<TSchema> : never;
470
-
471
435
  // @public
472
436
  export type InsertableTypedNode<TSchema extends TreeNodeSchema, T = UnionToIntersection<TSchema>> = (T extends TreeNodeSchema<string, NodeKind, TreeNode | TreeLeafValue, never, true> ? NodeBuilderData<T> : never) | (T extends TreeNodeSchema ? Unhydrated<TreeNode extends NodeFromSchema<T> ? never : NodeFromSchema<T>> : never);
473
437
 
474
- // @public
475
- type InsertableTypedNodeUnsafe<TSchema extends TreeNodeSchemaUnsafe, T = UnionToIntersection<TSchema>> = (T extends TreeNodeSchemaUnsafe<string, NodeKind, TreeNode | TreeLeafValue, never, true> ? NodeBuilderDataUnsafe<T> : never) | (T extends TreeNodeSchemaUnsafe ? NodeFromSchemaUnsafe<T> : never);
476
-
477
438
  // @public @sealed
478
439
  export interface InternalTreeNode extends ErasedType<"@fluidframework/tree.InternalTreeNode"> {
479
440
  }
@@ -490,24 +451,6 @@ declare namespace InternalTypes {
490
451
  DefaultProvider,
491
452
  typeNameSymbol,
492
453
  InsertableObjectFromSchemaRecord,
493
- ObjectFromSchemaRecord,
494
- FieldHasDefaultUnsafe,
495
- ObjectFromSchemaRecordUnsafe,
496
- TreeObjectNodeUnsafe,
497
- TreeFieldFromImplicitFieldUnsafe,
498
- TreeNodeFromImplicitAllowedTypesUnsafe,
499
- InsertableTreeNodeFromImplicitAllowedTypesUnsafe,
500
- TreeArrayNodeUnsafe,
501
- TreeMapNodeUnsafe,
502
- InsertableObjectFromSchemaRecordUnsafe,
503
- InsertableTreeFieldFromImplicitFieldUnsafe,
504
- InsertableTypedNodeUnsafe,
505
- NodeBuilderDataUnsafe,
506
- NodeFromSchemaUnsafe,
507
- ReadonlyMapInlined,
508
- TreeNodeSchemaUnsafe,
509
- AllowedTypesUnsafe,
510
- TreeNodeSchemaNonClassUnsafe,
511
454
  FlexList,
512
455
  FlexListToUnion,
513
456
  ExtractItemType,
@@ -572,7 +515,7 @@ export interface ITreeViewConfiguration<TSchema extends ImplicitFieldSchema = Im
572
515
  // @public
573
516
  export type LazyItem<Item = unknown> = Item | (() => Item);
574
517
 
575
- // @public @sealed
518
+ // @public @sealed @system
576
519
  export interface LeafSchema<Name extends string, T extends TreeLeafValue> extends TreeNodeSchemaNonClass<`com.fluidframework.leaf.${Name}`, NodeKind.Leaf, T, T, true> {
577
520
  }
578
521
 
@@ -591,7 +534,7 @@ export type Listeners<T extends object> = {
591
534
  export interface MakeNominal {
592
535
  }
593
536
 
594
- // @public
537
+ // @public @system
595
538
  export type MapNodeInsertableData<T extends ImplicitAllowedTypes> = Iterable<readonly [string, InsertableTreeNodeFromImplicitAllowedTypes<T>]> | RestrictiveStringRecord<InsertableTreeNodeFromImplicitAllowedTypes<T>>;
596
539
 
597
540
  // @public
@@ -602,12 +545,9 @@ export type Myself<M extends IMember = IMember> = M & {
602
545
  readonly currentConnection: string;
603
546
  };
604
547
 
605
- // @public
548
+ // @public @system
606
549
  type NodeBuilderData<T extends TreeNodeSchemaCore<string, NodeKind, boolean>> = T extends TreeNodeSchemaCore<string, NodeKind, boolean, unknown, infer TBuild> ? TBuild : never;
607
550
 
608
- // @public
609
- type NodeBuilderDataUnsafe<T extends Unenforced<TreeNodeSchema>> = T extends TreeNodeSchemaUnsafe<string, NodeKind, unknown, infer TBuild> ? TBuild : never;
610
-
611
551
  // @beta @sealed
612
552
  export interface NodeChangedData<TNode extends TreeNode = TreeNode> {
613
553
  readonly changedProperties?: ReadonlySet<TNode extends WithType<string, NodeKind.Object, infer TInfo> ? string & keyof TInfo : string>;
@@ -616,9 +556,6 @@ export interface NodeChangedData<TNode extends TreeNode = TreeNode> {
616
556
  // @public
617
557
  export type NodeFromSchema<T extends TreeNodeSchema> = T extends TreeNodeSchemaClass<string, NodeKind, infer TNode> ? TNode : T extends TreeNodeSchemaNonClass<string, NodeKind, infer TNode> ? TNode : never;
618
558
 
619
- // @public
620
- type NodeFromSchemaUnsafe<T extends Unenforced<TreeNodeSchema>> = T extends TreeNodeSchemaUnsafe<string, NodeKind, infer TNode> ? TNode : never;
621
-
622
559
  // @public
623
560
  export interface NodeInDocumentConstraint {
624
561
  // (undocumented)
@@ -646,39 +583,18 @@ export interface NodeSchemaOptions<out TCustomMetadata = unknown> {
646
583
  readonly metadata?: NodeSchemaMetadata<TCustomMetadata> | undefined;
647
584
  }
648
585
 
649
- // @public
650
- type ObjectFromSchemaRecord<T extends RestrictiveStringRecord<ImplicitFieldSchema>> = RestrictiveStringRecord<ImplicitFieldSchema> extends T ? {} : {
586
+ // @public @system
587
+ export type ObjectFromSchemaRecord<T extends RestrictiveStringRecord<ImplicitFieldSchema>> = RestrictiveStringRecord<ImplicitFieldSchema> extends T ? {} : {
651
588
  -readonly [Property in keyof T]: Property extends string ? TreeFieldFromImplicitField<T[Property]> : unknown;
652
589
  };
653
590
 
654
- // @public
655
- type ObjectFromSchemaRecordUnsafe<T extends RestrictiveStringRecord<ImplicitFieldSchemaUnsafe>> = {
656
- -readonly [Property in keyof T]: Property extends string ? TreeFieldFromImplicitFieldUnsafe<T[Property]> : unknown;
657
- };
658
-
659
591
  // @public
660
592
  export type Off = () => void;
661
593
 
662
- // @public @sealed
594
+ // @public @sealed @system
663
595
  export interface ReadonlyArrayNode<out T = TreeNode | TreeLeafValue> extends ReadonlyArray<T>, Awaited<TreeNode & WithType<string, NodeKind.Array>> {
664
596
  }
665
597
 
666
- // @public @sealed
667
- interface ReadonlyMapInlined<K, T extends ImplicitAllowedTypesUnsafe> {
668
- [Symbol.iterator](): IterableIterator<[K, TreeNodeFromImplicitAllowedTypesUnsafe<T>]>;
669
- entries(): IterableIterator<[K, TreeNodeFromImplicitAllowedTypesUnsafe<T>]>;
670
- // (undocumented)
671
- forEach(callbackfn: (value: TreeNodeFromImplicitAllowedTypesUnsafe<T>, key: K, map: ReadonlyMap<K, TreeNodeFromImplicitAllowedTypesUnsafe<T>>) => void, thisArg?: any): void;
672
- // (undocumented)
673
- get(key: K): TreeNodeFromImplicitAllowedTypesUnsafe<T> | undefined;
674
- // (undocumented)
675
- has(key: K): boolean;
676
- keys(): IterableIterator<K>;
677
- // (undocumented)
678
- readonly size: number;
679
- values(): IterableIterator<TreeNodeFromImplicitAllowedTypesUnsafe<T>>;
680
- }
681
-
682
598
  // @public
683
599
  export type ReplaceIEventThisPlaceHolder<L extends any[], TThis> = L extends any[] ? {
684
600
  [K in keyof L]: L[K] extends IEventThisPlaceHolder ? TThis : L[K];
@@ -689,7 +605,7 @@ export type RestrictiveReadonlyRecord<K extends symbol | string, T> = {
689
605
  readonly [P in symbol | string]: P extends K ? T : never;
690
606
  };
691
607
 
692
- // @public
608
+ // @public @system
693
609
  export type RestrictiveStringRecord<T> = {
694
610
  readonly [P in string]: T;
695
611
  } & {
@@ -747,8 +663,8 @@ export class SchemaFactory<out TScope extends string | undefined = string | unde
747
663
  scope: TScope);
748
664
  array<const T extends TreeNodeSchema | readonly TreeNodeSchema[]>(allowedTypes: T): TreeNodeSchemaNonClass<ScopedSchemaName<TScope, `Array<${string}>`>, NodeKind.Array, TreeArrayNode<T> & WithType<ScopedSchemaName<TScope, `Array<${string}>`>, NodeKind.Array>, Iterable<InsertableTreeNodeFromImplicitAllowedTypes<T>>, true, T, undefined>;
749
665
  array<const Name extends TName, const T extends ImplicitAllowedTypes>(name: Name, allowedTypes: T): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Array, TreeArrayNode<T> & WithType<ScopedSchemaName<TScope, Name>, NodeKind.Array>, Iterable<InsertableTreeNodeFromImplicitAllowedTypes<T>>, true, T, undefined>;
750
- arrayRecursive<const Name extends TName, const T extends ImplicitAllowedTypesUnsafe>(name: Name, allowedTypes: T): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Array, TreeArrayNodeUnsafe<T> & WithType<ScopedSchemaName<TScope, Name>, NodeKind.Array, unknown>, {
751
- [Symbol.iterator](): Iterator<InsertableTreeNodeFromImplicitAllowedTypesUnsafe<T>>;
666
+ arrayRecursive<const Name extends TName, const T extends System_Unsafe.ImplicitAllowedTypesUnsafe>(name: Name, allowedTypes: T): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Array, System_Unsafe.TreeArrayNodeUnsafe<T> & WithType<ScopedSchemaName<TScope, Name>, NodeKind.Array, unknown>, {
667
+ [Symbol.iterator](): Iterator<System_Unsafe.InsertableTreeNodeFromImplicitAllowedTypesUnsafe<T>>;
752
668
  }, false, T, undefined>;
753
669
  readonly boolean: LeafSchema<"boolean", boolean>;
754
670
  static readonly boolean: LeafSchema<"boolean", boolean>;
@@ -759,34 +675,34 @@ export class SchemaFactory<out TScope extends string | undefined = string | unde
759
675
  static readonly leaves: readonly [LeafSchema<"string", string>, LeafSchema<"number", number>, LeafSchema<"boolean", boolean>, LeafSchema<"null", null>, LeafSchema<"handle", IFluidHandle<unknown>>];
760
676
  map<const T extends TreeNodeSchema | readonly TreeNodeSchema[]>(allowedTypes: T): TreeNodeSchemaNonClass<ScopedSchemaName<TScope, `Map<${string}>`>, NodeKind.Map, TreeMapNode<T> & WithType<ScopedSchemaName<TScope, `Map<${string}>`>, NodeKind.Map>, MapNodeInsertableData<T>, true, T, undefined>;
761
677
  map<Name extends TName, const T extends ImplicitAllowedTypes>(name: Name, allowedTypes: T): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Map, TreeMapNode<T> & WithType<ScopedSchemaName<TScope, Name>, NodeKind.Map>, MapNodeInsertableData<T>, true, T, undefined>;
762
- mapRecursive<Name extends TName, const T extends ImplicitAllowedTypesUnsafe>(name: Name, allowedTypes: T): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Map, TreeMapNodeUnsafe<T> & WithType<ScopedSchemaName<TScope, Name>, NodeKind.Map, unknown>, {
678
+ mapRecursive<Name extends TName, const T extends System_Unsafe.ImplicitAllowedTypesUnsafe>(name: Name, allowedTypes: T): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Map, System_Unsafe.TreeMapNodeUnsafe<T> & WithType<ScopedSchemaName<TScope, Name>, NodeKind.Map, unknown>, {
763
679
  [Symbol.iterator](): Iterator<[
764
680
  string,
765
- InsertableTreeNodeFromImplicitAllowedTypesUnsafe<T>
681
+ System_Unsafe.InsertableTreeNodeFromImplicitAllowedTypesUnsafe<T>
766
682
  ]>;
767
683
  } | {
768
- readonly [x: string]: InsertableTreeNodeFromImplicitAllowedTypesUnsafe<T>;
684
+ readonly [x: string]: System_Unsafe.InsertableTreeNodeFromImplicitAllowedTypesUnsafe<T>;
769
685
  }, false, T, undefined>;
770
686
  readonly null: LeafSchema<"null", null>;
771
687
  static readonly null: LeafSchema<"null", null>;
772
688
  readonly number: LeafSchema<"number", number>;
773
689
  static readonly number: LeafSchema<"number", number>;
774
690
  object<const Name extends TName, const T extends RestrictiveStringRecord<ImplicitFieldSchema>>(name: Name, fields: T): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Object, TreeObjectNode<T, ScopedSchemaName<TScope, Name>>, object & InsertableObjectFromSchemaRecord<T>, true, T>;
775
- objectRecursive<const Name extends TName, const T extends RestrictiveStringRecord<ImplicitFieldSchemaUnsafe>>(name: Name, t: T): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Object, TreeObjectNodeUnsafe<T, ScopedSchemaName<TScope, Name>>, object & InsertableObjectFromSchemaRecordUnsafe<T>, false, T>;
691
+ objectRecursive<const Name extends TName, const T extends RestrictiveStringRecord<System_Unsafe.ImplicitFieldSchemaUnsafe>>(name: Name, t: T): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Object, System_Unsafe.TreeObjectNodeUnsafe<T, ScopedSchemaName<TScope, Name>>, object & System_Unsafe.InsertableObjectFromSchemaRecordUnsafe<T>, false, T>;
776
692
  readonly optional: <const T extends ImplicitAllowedTypes, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider"> | undefined) => FieldSchema<FieldKind.Optional, T, TCustomMetadata>;
777
693
  static readonly optional: <const T extends ImplicitAllowedTypes, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider"> | undefined) => FieldSchema<FieldKind.Optional, T, TCustomMetadata>;
778
- readonly optionalRecursive: <const T extends ImplicitAllowedTypesUnsafe, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider"> | undefined) => FieldSchemaUnsafe<FieldKind.Optional, T, TCustomMetadata>;
779
- static readonly optionalRecursive: <const T extends ImplicitAllowedTypesUnsafe, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider"> | undefined) => FieldSchemaUnsafe<FieldKind.Optional, T, TCustomMetadata>;
694
+ readonly optionalRecursive: <const T extends System_Unsafe.ImplicitAllowedTypesUnsafe, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider"> | undefined) => System_Unsafe.FieldSchemaUnsafe<FieldKind.Optional, T, TCustomMetadata>;
695
+ static readonly optionalRecursive: <const T extends System_Unsafe.ImplicitAllowedTypesUnsafe, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider"> | undefined) => System_Unsafe.FieldSchemaUnsafe<FieldKind.Optional, T, TCustomMetadata>;
780
696
  readonly required: <const T extends ImplicitAllowedTypes, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider"> | undefined) => FieldSchema<FieldKind.Required, T, TCustomMetadata>;
781
697
  static readonly required: <const T extends ImplicitAllowedTypes, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider"> | undefined) => FieldSchema<FieldKind.Required, T, TCustomMetadata>;
782
- readonly requiredRecursive: <const T extends ImplicitAllowedTypesUnsafe, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider"> | undefined) => FieldSchemaUnsafe<FieldKind.Required, T, TCustomMetadata>;
783
- static readonly requiredRecursive: <const T extends ImplicitAllowedTypesUnsafe, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider"> | undefined) => FieldSchemaUnsafe<FieldKind.Required, T, TCustomMetadata>;
698
+ readonly requiredRecursive: <const T extends System_Unsafe.ImplicitAllowedTypesUnsafe, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider"> | undefined) => System_Unsafe.FieldSchemaUnsafe<FieldKind.Required, T, TCustomMetadata>;
699
+ static readonly requiredRecursive: <const T extends System_Unsafe.ImplicitAllowedTypesUnsafe, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider"> | undefined) => System_Unsafe.FieldSchemaUnsafe<FieldKind.Required, T, TCustomMetadata>;
784
700
  readonly scope: TScope;
785
701
  readonly string: LeafSchema<"string", string>;
786
702
  static readonly string: LeafSchema<"string", string>;
787
703
  }
788
704
 
789
- // @public @sealed
705
+ // @public @sealed @system
790
706
  export interface SchemaStatics {
791
707
  readonly boolean: LeafSchema<"boolean", boolean>;
792
708
  readonly handle: LeafSchema<"handle", IFluidHandle>;
@@ -800,13 +716,13 @@ export interface SchemaStatics {
800
716
  readonly null: LeafSchema<"null", null>;
801
717
  readonly number: LeafSchema<"number", number>;
802
718
  readonly optional: <const T extends ImplicitAllowedTypes, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider">) => FieldSchema<FieldKind.Optional, T, TCustomMetadata>;
803
- readonly optionalRecursive: <const T extends ImplicitAllowedTypesUnsafe, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider">) => FieldSchemaUnsafe<FieldKind.Optional, T, TCustomMetadata>;
719
+ readonly optionalRecursive: <const T extends System_Unsafe.ImplicitAllowedTypesUnsafe, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider">) => System_Unsafe.FieldSchemaUnsafe<FieldKind.Optional, T, TCustomMetadata>;
804
720
  readonly required: <const T extends ImplicitAllowedTypes, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider">) => FieldSchema<FieldKind.Required, T, TCustomMetadata>;
805
- readonly requiredRecursive: <const T extends ImplicitAllowedTypesUnsafe, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider">) => FieldSchemaUnsafe<FieldKind.Required, T, TCustomMetadata>;
721
+ readonly requiredRecursive: <const T extends System_Unsafe.ImplicitAllowedTypesUnsafe, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider">) => System_Unsafe.FieldSchemaUnsafe<FieldKind.Required, T, TCustomMetadata>;
806
722
  readonly string: LeafSchema<"string", string>;
807
723
  }
808
724
 
809
- // @public
725
+ // @public @system
810
726
  type ScopedSchemaName<TScope extends string | undefined, TName extends number | string> = TScope extends undefined ? `${TName}` : `${TScope}.${TName}`;
811
727
 
812
728
  // @public @sealed
@@ -817,12 +733,100 @@ export interface SharedObjectKind<out TSharedObject = unknown> extends ErasedTyp
817
733
  // @public
818
734
  export const SharedTree: SharedObjectKind<ITree>;
819
735
 
820
- // @public @sealed
736
+ // @public @sealed @system
821
737
  export interface SimpleNodeSchemaBase<out TNodeKind extends NodeKind, out TCustomMetadata = unknown> {
822
738
  readonly kind: TNodeKind;
823
739
  readonly metadata: NodeSchemaMetadata<TCustomMetadata>;
824
740
  }
825
741
 
742
+ // @public @system
743
+ export namespace System_Unsafe {
744
+ // @system
745
+ export type AllowedTypesUnsafe = readonly LazyItem<TreeNodeSchemaUnsafe>[];
746
+ // @sealed @system
747
+ export type FieldHasDefaultUnsafe<T extends ImplicitFieldSchemaUnsafe> = T extends FieldSchemaUnsafe<FieldKind.Optional | FieldKind.Identifier, ImplicitAllowedTypesUnsafe> ? true : false;
748
+ // @sealed @system
749
+ export interface FieldSchemaUnsafe<out Kind extends FieldKind, out Types extends ImplicitAllowedTypesUnsafe, out TCustomMetadata = unknown> extends FieldSchema<Kind, any, TCustomMetadata> {
750
+ readonly allowedTypes: Types;
751
+ readonly allowedTypeSet: ReadonlySet<TreeNodeSchema>;
752
+ readonly kind: Kind;
753
+ }
754
+ // @system
755
+ export type ImplicitAllowedTypesUnsafe = TreeNodeSchemaUnsafe | readonly LazyItem<Unenforced<TreeNodeSchema>>[];
756
+ // @system
757
+ export type ImplicitFieldSchemaUnsafe = FieldSchemaUnsafe<FieldKind, ImplicitAllowedTypesUnsafe> | ImplicitAllowedTypesUnsafe;
758
+ // @system
759
+ export type InsertableObjectFromSchemaRecordUnsafe<T extends RestrictiveStringRecord<ImplicitFieldSchemaUnsafe>> = {
760
+ readonly [Property in keyof T as FieldHasDefaultUnsafe<T[Property & string]> extends false ? Property : never]: InsertableTreeFieldFromImplicitFieldUnsafe<T[Property & string]>;
761
+ } & {
762
+ readonly [Property in keyof T as FieldHasDefaultUnsafe<T[Property & string]> extends true ? Property : never]?: InsertableTreeFieldFromImplicitFieldUnsafe<T[Property & string]>;
763
+ };
764
+ // @system
765
+ export type InsertableTreeFieldFromImplicitFieldUnsafe<TSchemaInput extends ImplicitFieldSchemaUnsafe, TSchema = UnionToIntersection<TSchemaInput>> = [TSchema] extends [FieldSchemaUnsafe<infer Kind, infer Types>] ? ApplyKindInput<InsertableTreeNodeFromImplicitAllowedTypesUnsafe<Types>, Kind, true> : [TSchema] extends [ImplicitAllowedTypes] ? InsertableTreeNodeFromImplicitAllowedTypesUnsafe<TSchema> : never;
766
+ // @system
767
+ export type InsertableTreeNodeFromAllowedTypesUnsafe<TList extends AllowedTypesUnsafe> = [
768
+ TList
769
+ ] extends [
770
+ readonly [
771
+ LazyItem<infer TSchema extends TreeNodeSchemaUnsafe>,
772
+ ...infer Rest extends AllowedTypesUnsafe
773
+ ]
774
+ ] ? InsertableTypedNodeUnsafe<TSchema> | InsertableTreeNodeFromAllowedTypesUnsafe<Rest> : never;
775
+ // @system
776
+ export type InsertableTreeNodeFromImplicitAllowedTypesUnsafe<TSchema extends ImplicitAllowedTypesUnsafe> = [TSchema] extends [TreeNodeSchemaUnsafe] ? InsertableTypedNodeUnsafe<TSchema> : [TSchema] extends [AllowedTypesUnsafe] ? InsertableTreeNodeFromAllowedTypesUnsafe<TSchema> : never;
777
+ // @system
778
+ export type InsertableTypedNodeUnsafe<TSchema extends TreeNodeSchemaUnsafe, T = UnionToIntersection<TSchema>> = (T extends TreeNodeSchemaUnsafe<string, NodeKind, TreeNode | TreeLeafValue, never, true> ? NodeBuilderDataUnsafe<T> : never) | (T extends TreeNodeSchemaUnsafe ? NodeFromSchemaUnsafe<T> : never);
779
+ // @system
780
+ export type NodeBuilderDataUnsafe<T extends Unenforced<TreeNodeSchema>> = T extends TreeNodeSchemaUnsafe<string, NodeKind, unknown, infer TBuild> ? TBuild : never;
781
+ // @system
782
+ export type NodeFromSchemaUnsafe<T extends Unenforced<TreeNodeSchema>> = T extends TreeNodeSchemaUnsafe<string, NodeKind, infer TNode> ? TNode : never;
783
+ // @system
784
+ export type ObjectFromSchemaRecordUnsafe<T extends RestrictiveStringRecord<ImplicitFieldSchemaUnsafe>> = {
785
+ -readonly [Property in keyof T]: Property extends string ? TreeFieldFromImplicitFieldUnsafe<T[Property]> : unknown;
786
+ };
787
+ // @sealed @system
788
+ export interface ReadonlyMapInlined<K, T extends ImplicitAllowedTypesUnsafe> {
789
+ [Symbol.iterator](): IterableIterator<[K, TreeNodeFromImplicitAllowedTypesUnsafe<T>]>;
790
+ entries(): IterableIterator<[K, TreeNodeFromImplicitAllowedTypesUnsafe<T>]>;
791
+ // (undocumented)
792
+ forEach(callbackfn: (value: TreeNodeFromImplicitAllowedTypesUnsafe<T>, key: K, map: ReadonlyMap<K, TreeNodeFromImplicitAllowedTypesUnsafe<T>>) => void, thisArg?: any): void;
793
+ // (undocumented)
794
+ get(key: K): TreeNodeFromImplicitAllowedTypesUnsafe<T> | undefined;
795
+ // (undocumented)
796
+ has(key: K): boolean;
797
+ keys(): IterableIterator<K>;
798
+ // (undocumented)
799
+ readonly size: number;
800
+ values(): IterableIterator<TreeNodeFromImplicitAllowedTypesUnsafe<T>>;
801
+ }
802
+ // @sealed @system
803
+ export interface TreeArrayNodeUnsafe<TAllowedTypes extends ImplicitAllowedTypesUnsafe> extends TreeArrayNode<TAllowedTypes, TreeNodeFromImplicitAllowedTypesUnsafe<TAllowedTypes>, InsertableTreeNodeFromImplicitAllowedTypesUnsafe<TAllowedTypes>> {
804
+ }
805
+ // @system
806
+ export type TreeFieldFromImplicitFieldUnsafe<TSchema extends ImplicitFieldSchemaUnsafe> = TSchema extends FieldSchemaUnsafe<infer Kind, infer Types> ? ApplyKind<TreeNodeFromImplicitAllowedTypesUnsafe<Types>, Kind> : TSchema extends ImplicitAllowedTypesUnsafe ? TreeNodeFromImplicitAllowedTypesUnsafe<TSchema> : unknown;
807
+ // @sealed @system
808
+ export interface TreeMapNodeUnsafe<T extends ImplicitAllowedTypesUnsafe> extends ReadonlyMapInlined<string, T>, TreeNode {
809
+ delete(key: string): void;
810
+ set(key: string, value: InsertableTreeNodeFromImplicitAllowedTypesUnsafe<T> | undefined): void;
811
+ }
812
+ // @system
813
+ export type TreeNodeFromImplicitAllowedTypesUnsafe<TSchema extends ImplicitAllowedTypesUnsafe> = TSchema extends TreeNodeSchemaUnsafe ? NodeFromSchemaUnsafe<TSchema> : TSchema extends AllowedTypesUnsafe ? NodeFromSchemaUnsafe<FlexListToUnion<TSchema>> : unknown;
814
+ // @system
815
+ export interface TreeNodeSchemaClassUnsafe<out Name extends string, out Kind extends NodeKind, out TNode extends Unenforced<TreeNode>, in TInsertable, out ImplicitlyConstructable extends boolean, out Info, out TCustomMetadata = unknown> extends TreeNodeSchemaCore<Name, Kind, ImplicitlyConstructable, Info, never, TCustomMetadata> {
816
+ // @sealed
817
+ new (data: TInsertable | InternalTreeNode): Unhydrated<TNode>;
818
+ }
819
+ // @system
820
+ export interface TreeNodeSchemaNonClassUnsafe<out Name extends string, out Kind extends NodeKind, out TNode extends Unenforced<TreeNode | TreeLeafValue>, in TInsertable, out ImplicitlyConstructable extends boolean, out Info = unknown> extends TreeNodeSchemaCore<Name, Kind, ImplicitlyConstructable, Info> {
821
+ // (undocumented)
822
+ create(data: TInsertable): TNode;
823
+ }
824
+ // @system
825
+ export 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>;
826
+ // @system
827
+ export type TreeObjectNodeUnsafe<T extends RestrictiveStringRecord<ImplicitFieldSchemaUnsafe>, TypeName extends string = string> = TreeNode & ObjectFromSchemaRecordUnsafe<T> & WithType<TypeName, NodeKind.Object, T>;
828
+ }
829
+
826
830
  // @public
827
831
  export interface Tagged<V, T extends string = string> {
828
832
  // (undocumented)
@@ -843,14 +847,14 @@ export type TransformedEvent<TThis, E, A extends any[]> = (event: E, listener: (
843
847
  // @public
844
848
  export const Tree: TreeApi;
845
849
 
846
- // @public @sealed
850
+ // @public @sealed @system
847
851
  interface TreeApi extends TreeNodeApi {
848
852
  contains(node: TreeNode, other: TreeNode): boolean;
849
853
  readonly runTransaction: RunTransaction;
850
854
  }
851
855
 
852
856
  // @public @sealed
853
- export interface TreeArrayNode<TAllowedTypes extends ImplicitAllowedTypesUnsafe = ImplicitAllowedTypes, out T = [TAllowedTypes] extends [ImplicitAllowedTypes] ? TreeNodeFromImplicitAllowedTypes<TAllowedTypes> : TreeNodeFromImplicitAllowedTypes<ImplicitAllowedTypes>, in TNew = [TAllowedTypes] extends [ImplicitAllowedTypes] ? InsertableTreeNodeFromImplicitAllowedTypes<TAllowedTypes> : InsertableTreeNodeFromImplicitAllowedTypes<ImplicitAllowedTypes>, in TMoveFrom = ReadonlyArrayNode> extends ReadonlyArrayNode<T> {
857
+ export interface TreeArrayNode<TAllowedTypes extends System_Unsafe.ImplicitAllowedTypesUnsafe = ImplicitAllowedTypes, out T = [TAllowedTypes] extends [ImplicitAllowedTypes] ? TreeNodeFromImplicitAllowedTypes<TAllowedTypes> : TreeNodeFromImplicitAllowedTypes<ImplicitAllowedTypes>, in TNew = [TAllowedTypes] extends [ImplicitAllowedTypes] ? InsertableTreeNodeFromImplicitAllowedTypes<TAllowedTypes> : InsertableTreeNodeFromImplicitAllowedTypes<ImplicitAllowedTypes>, in TMoveFrom = ReadonlyArrayNode> extends ReadonlyArrayNode<T> {
854
858
  insertAt(index: number, ...value: readonly (TNew | IterableTreeArrayContent<TNew>)[]): void;
855
859
  insertAtEnd(...value: readonly (TNew | IterableTreeArrayContent<TNew>)[]): void;
856
860
  insertAtStart(...value: readonly (TNew | IterableTreeArrayContent<TNew>)[]): void;
@@ -876,10 +880,6 @@ export const TreeArrayNode: {
876
880
  readonly spread: <T>(content: Iterable<T>) => IterableTreeArrayContent<T>;
877
881
  };
878
882
 
879
- // @public @sealed
880
- export interface TreeArrayNodeUnsafe<TAllowedTypes extends ImplicitAllowedTypesUnsafe> extends TreeArrayNode<TAllowedTypes, TreeNodeFromImplicitAllowedTypesUnsafe<TAllowedTypes>, InsertableTreeNodeFromImplicitAllowedTypesUnsafe<TAllowedTypes>> {
881
- }
882
-
883
883
  // @beta @sealed
884
884
  export const TreeBeta: {
885
885
  on<K extends keyof TreeChangeEventsBeta<TNode>, TNode extends TreeNode>(node: TNode, eventName: K, listener: NoInfer<TreeChangeEventsBeta<TNode>[K]>): () => void;
@@ -900,9 +900,6 @@ export interface TreeChangeEventsBeta<TNode extends TreeNode = TreeNode> extends
900
900
  // @public
901
901
  export type TreeFieldFromImplicitField<TSchema extends ImplicitFieldSchema = FieldSchema> = TSchema extends FieldSchema<infer Kind, infer Types> ? ApplyKind<TreeNodeFromImplicitAllowedTypes<Types>, Kind> : TSchema extends ImplicitAllowedTypes ? TreeNodeFromImplicitAllowedTypes<TSchema> : TreeNode | TreeLeafValue | undefined;
902
902
 
903
- // @public
904
- type TreeFieldFromImplicitFieldUnsafe<TSchema extends ImplicitFieldSchemaUnsafe> = TSchema extends FieldSchemaUnsafe<infer Kind, infer Types> ? ApplyKind<TreeNodeFromImplicitAllowedTypesUnsafe<Types>, Kind> : TSchema extends ImplicitAllowedTypesUnsafe ? TreeNodeFromImplicitAllowedTypesUnsafe<TSchema> : unknown;
905
-
906
903
  // @public
907
904
  export type TreeLeafValue = number | string | boolean | IFluidHandle | null;
908
905
 
@@ -916,12 +913,6 @@ export interface TreeMapNode<T extends ImplicitAllowedTypes = ImplicitAllowedTyp
916
913
  values(): IterableIterator<TreeNodeFromImplicitAllowedTypes<T>>;
917
914
  }
918
915
 
919
- // @public @sealed
920
- export interface TreeMapNodeUnsafe<T extends ImplicitAllowedTypesUnsafe> extends ReadonlyMapInlined<string, T>, TreeNode {
921
- delete(key: string): void;
922
- set(key: string, value: InsertableTreeNodeFromImplicitAllowedTypesUnsafe<T> | undefined): void;
923
- }
924
-
925
916
  // @public @sealed
926
917
  export abstract class TreeNode implements WithType {
927
918
  static [Symbol.hasInstance](value: unknown): value is TreeNode;
@@ -946,9 +937,6 @@ export interface TreeNodeApi {
946
937
  // @public
947
938
  export type TreeNodeFromImplicitAllowedTypes<TSchema extends ImplicitAllowedTypes = TreeNodeSchema> = TSchema extends TreeNodeSchema ? NodeFromSchema<TSchema> : TSchema extends AllowedTypes ? NodeFromSchema<FlexListToUnion<TSchema>> : unknown;
948
939
 
949
- // @public
950
- type TreeNodeFromImplicitAllowedTypesUnsafe<TSchema extends ImplicitAllowedTypesUnsafe> = TSchema extends TreeNodeSchemaUnsafe ? NodeFromSchemaUnsafe<TSchema> : TSchema extends AllowedTypesUnsafe ? NodeFromSchemaUnsafe<FlexListToUnion<TSchema>> : unknown;
951
-
952
940
  // @public @sealed
953
941
  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, TCustomMetadata = unknown> = (TNode extends TreeNode ? TreeNodeSchemaClass<Name, Kind, TNode, TBuild, ImplicitlyConstructable, Info, never, TCustomMetadata> : never) | TreeNodeSchemaNonClass<Name, Kind, TNode, TBuild, ImplicitlyConstructable, Info, never, TCustomMetadata>;
954
942
 
@@ -959,44 +947,27 @@ export type TreeNodeSchemaClass<Name extends string = string, Kind extends NodeK
959
947
  new (data: TInsertable | InternalTreeNode | TConstructorExtra): Unhydrated<TNode>;
960
948
  });
961
949
 
962
- // @public
963
- export interface TreeNodeSchemaClassUnsafe<out Name extends string, out Kind extends NodeKind, out TNode extends Unenforced<TreeNode>, in TInsertable, out ImplicitlyConstructable extends boolean, out Info, out TCustomMetadata = unknown> extends TreeNodeSchemaCore<Name, Kind, ImplicitlyConstructable, Info, never, TCustomMetadata> {
964
- // @sealed
965
- new (data: TInsertable | InternalTreeNode): Unhydrated<TNode>;
966
- }
967
-
968
950
  // @public @sealed
969
951
  export interface TreeNodeSchemaCore<out Name extends string, out Kind extends NodeKind, out ImplicitlyConstructable extends boolean, out Info = unknown, out TInsertable = never, out TCustomMetadata = unknown> extends SimpleNodeSchemaBase<Kind, TCustomMetadata> {
952
+ // @system
970
953
  readonly childTypes: ReadonlySet<TreeNodeSchema>;
971
- // @sealed
954
+ // @sealed @system
972
955
  createFromInsertable(data: TInsertable): Unhydrated<TreeNode | TreeLeafValue>;
973
956
  readonly identifier: Name;
974
957
  readonly implicitlyConstructable: ImplicitlyConstructable;
975
958
  readonly info: Info;
976
959
  }
977
960
 
978
- // @public @sealed
961
+ // @public @sealed @system
979
962
  export type TreeNodeSchemaNonClass<Name extends string = string, Kind extends NodeKind = NodeKind, TNode extends TreeNode | TreeLeafValue = TreeNode | TreeLeafValue, TInsertable = never, ImplicitlyConstructable extends boolean = boolean, Info = unknown, TConstructorExtra = never, TCustomMetadata = unknown> = TreeNodeSchemaCore<Name, Kind, ImplicitlyConstructable, Info, TInsertable, TCustomMetadata> & (undefined extends TConstructorExtra ? {
980
963
  create(data?: TInsertable | TConstructorExtra): TNode;
981
964
  } : {
982
965
  create(data: TInsertable | TConstructorExtra): TNode;
983
966
  });
984
967
 
985
- // @public
986
- interface TreeNodeSchemaNonClassUnsafe<out Name extends string, out Kind extends NodeKind, out TNode extends Unenforced<TreeNode | TreeLeafValue>, in TInsertable, out ImplicitlyConstructable extends boolean, out Info = unknown> extends TreeNodeSchemaCore<Name, Kind, ImplicitlyConstructable, Info> {
987
- // (undocumented)
988
- create(data: TInsertable): TNode;
989
- }
990
-
991
- // @public
992
- 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>;
993
-
994
968
  // @public
995
969
  export type TreeObjectNode<T extends RestrictiveStringRecord<ImplicitFieldSchema>, TypeName extends string = string> = TreeNode & ObjectFromSchemaRecord<T> & WithType<TypeName, NodeKind.Object, T>;
996
970
 
997
- // @public
998
- export type TreeObjectNodeUnsafe<T extends RestrictiveStringRecord<ImplicitFieldSchemaUnsafe>, TypeName extends string = string> = TreeNode & ObjectFromSchemaRecordUnsafe<T> & WithType<TypeName, NodeKind.Object, T>;
999
-
1000
971
  // @public
1001
972
  export enum TreeStatus {
1002
973
  Deleted = 2,
@@ -1033,10 +1004,10 @@ export interface TreeViewEvents {
1033
1004
  schemaChanged(): void;
1034
1005
  }
1035
1006
 
1036
- // @public @deprecated
1007
+ // @public @deprecated @system
1037
1008
  const typeNameSymbol: unique symbol;
1038
1009
 
1039
- // @public
1010
+ // @public @system
1040
1011
  export const typeSchemaSymbol: unique symbol;
1041
1012
 
1042
1013
  // @public
@@ -1045,7 +1016,7 @@ export type Unenforced<_DesiredExtendsConstraint> = unknown;
1045
1016
  // @public
1046
1017
  export type Unhydrated<T> = T;
1047
1018
 
1048
- // @public
1019
+ // @public @system
1049
1020
  export type UnionToIntersection<T> = (T extends T ? (k: T) => unknown : never) extends (k: infer U) => unknown ? U : never;
1050
1021
 
1051
1022
  // @public
@@ -1059,7 +1030,7 @@ export type ValidateRecursiveSchema<T extends TreeNodeSchemaClass<string, NodeKi
1059
1030
  [NodeKind.Map]: ImplicitAllowedTypes;
1060
1031
  }[T["kind"]]>> = true;
1061
1032
 
1062
- // @public @sealed
1033
+ // @public @sealed @system
1063
1034
  export interface ViewableTree {
1064
1035
  viewWith<TRoot extends ImplicitFieldSchema>(config: TreeViewConfiguration<TRoot>): TreeView<TRoot>;
1065
1036
  }