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
@@ -159,7 +146,7 @@ export interface IConnection {
159
146
  // @public
160
147
  export type ICriticalContainerError = IErrorBase;
161
148
 
162
- // @public @sealed
149
+ // @public @sealed @legacy
163
150
  export interface IDirectory extends Map<string, any>, IEventProvider<IDirectoryEvents>, Partial<IDisposable> {
164
151
  readonly absolutePath: string;
165
152
  countSubDirectory?(): number;
@@ -173,7 +160,7 @@ export interface IDirectory extends Map<string, any>, IEventProvider<IDirectoryE
173
160
  subdirectories(): IterableIterator<[string, IDirectory]>;
174
161
  }
175
162
 
176
- // @public @sealed
163
+ // @public @sealed @legacy
177
164
  export interface IDirectoryEvents extends IEvent {
178
165
  (event: "containedValueChanged", listener: (changed: IValueChanged, local: boolean, target: IEventThisPlaceHolder) => void): any;
179
166
  (event: "subDirectoryCreated", listener: (path: string, local: boolean, target: IEventThisPlaceHolder) => void): any;
@@ -182,7 +169,7 @@ export interface IDirectoryEvents extends IEvent {
182
169
  (event: "undisposed", listener: (target: IEventThisPlaceHolder) => void): any;
183
170
  }
184
171
 
185
- // @public @sealed
172
+ // @public @sealed @legacy
186
173
  export interface IDirectoryValueChanged extends IValueChanged {
187
174
  path: string;
188
175
  }
@@ -434,27 +421,21 @@ export interface IMember {
434
421
  // @public
435
422
  export type ImplicitAllowedTypes = AllowedTypes | TreeNodeSchema;
436
423
 
437
- // @public
438
- export type ImplicitAllowedTypesUnsafe = TreeNodeSchemaUnsafe | readonly LazyItem<Unenforced<TreeNodeSchema>>[];
439
-
440
424
  // @public
441
425
  export type ImplicitFieldSchema = FieldSchema | ImplicitAllowedTypes;
442
426
 
443
- // @public
444
- export type ImplicitFieldSchemaUnsafe = FieldSchemaUnsafe<FieldKind, ImplicitAllowedTypesUnsafe> | ImplicitAllowedTypesUnsafe;
445
-
446
427
  // @public
447
428
  export type InitialObjects<T extends ContainerSchema> = {
448
429
  [K in keyof T["initialObjects"]]: T["initialObjects"][K] extends SharedObjectKind<infer TChannel> ? TChannel : never;
449
430
  };
450
431
 
451
- // @public
432
+ // @public @system
452
433
  type _InlineTrick = 0;
453
434
 
454
- // @public
435
+ // @public @system
455
436
  export type Input<T extends never> = T;
456
437
 
457
- // @public
438
+ // @public @system
458
439
  type InsertableObjectFromSchemaRecord<T extends RestrictiveStringRecord<ImplicitFieldSchema>> = RestrictiveStringRecord<ImplicitFieldSchema> extends T ? {
459
440
  arbitraryKey: "arbitraryValue";
460
441
  } extends T ? Record<string, never> : never : FlattenKeys<{
@@ -463,45 +444,25 @@ type InsertableObjectFromSchemaRecord<T extends RestrictiveStringRecord<Implicit
463
444
  readonly [Property in keyof T as FieldHasDefault<T[Property & string]> extends false ? Property : never]: InsertableTreeFieldFromImplicitField<T[Property & string]>;
464
445
  }>;
465
446
 
466
- // @public
467
- export type InsertableObjectFromSchemaRecordUnsafe<T extends RestrictiveStringRecord<ImplicitFieldSchemaUnsafe>> = {
468
- readonly [Property in keyof T as FieldHasDefaultUnsafe<T[Property & string]> extends false ? Property : never]: InsertableTreeFieldFromImplicitFieldUnsafe<T[Property & string]>;
469
- } & {
470
- readonly [Property in keyof T as FieldHasDefaultUnsafe<T[Property & string]> extends true ? Property : never]?: InsertableTreeFieldFromImplicitFieldUnsafe<T[Property & string]>;
471
- };
472
-
473
447
  // @public
474
448
  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;
475
449
 
476
- // @public
477
- 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;
478
-
479
- // @public
480
- export type InsertableTreeNodeFromAllowedTypes<TList extends AllowedTypes> = TList extends readonly [
450
+ // @public @system
451
+ export type InsertableTreeNodeFromAllowedTypes<TList extends AllowedTypes> = [TList] extends [
452
+ readonly [
481
453
  LazyItem<infer TSchema extends TreeNodeSchema>,
482
454
  ...infer Rest extends AllowedTypes
455
+ ]
483
456
  ] ? InsertableTypedNode<TSchema> | InsertableTreeNodeFromAllowedTypes<Rest> : never;
484
457
 
485
- // @public
486
- export type InsertableTreeNodeFromAllowedTypesUnsafe<TList extends AllowedTypesUnsafe> = TList extends readonly [
487
- LazyItem<infer TSchema extends TreeNodeSchemaUnsafe>,
488
- ...infer Rest extends AllowedTypesUnsafe
489
- ] ? InsertableTypedNodeUnsafe<TSchema> | InsertableTreeNodeFromAllowedTypesUnsafe<Rest> : never;
490
-
491
458
  // @public
492
459
  export type InsertableTreeNodeFromImplicitAllowedTypes<TSchema extends ImplicitAllowedTypes> = [
493
460
  TSchema
494
461
  ] extends [TreeNodeSchema] ? InsertableTypedNode<TSchema> : [TSchema] extends [AllowedTypes] ? InsertableTreeNodeFromAllowedTypes<TSchema> : never;
495
462
 
496
- // @public
497
- export type InsertableTreeNodeFromImplicitAllowedTypesUnsafe<TSchema extends ImplicitAllowedTypesUnsafe> = [TSchema] extends [TreeNodeSchemaUnsafe] ? InsertableTypedNodeUnsafe<TSchema> : [TSchema] extends [AllowedTypesUnsafe] ? InsertableTreeNodeFromAllowedTypesUnsafe<TSchema> : never;
498
-
499
463
  // @public
500
464
  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);
501
465
 
502
- // @public
503
- 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);
504
-
505
466
  export { InteriorSequencePlace }
506
467
 
507
468
  // @public @sealed
@@ -520,24 +481,6 @@ declare namespace InternalTypes {
520
481
  DefaultProvider,
521
482
  typeNameSymbol,
522
483
  InsertableObjectFromSchemaRecord,
523
- ObjectFromSchemaRecord,
524
- FieldHasDefaultUnsafe,
525
- ObjectFromSchemaRecordUnsafe,
526
- TreeObjectNodeUnsafe,
527
- TreeFieldFromImplicitFieldUnsafe,
528
- TreeNodeFromImplicitAllowedTypesUnsafe,
529
- InsertableTreeNodeFromImplicitAllowedTypesUnsafe,
530
- TreeArrayNodeUnsafe,
531
- TreeMapNodeUnsafe,
532
- InsertableObjectFromSchemaRecordUnsafe,
533
- InsertableTreeFieldFromImplicitFieldUnsafe,
534
- InsertableTypedNodeUnsafe,
535
- NodeBuilderDataUnsafe,
536
- NodeFromSchemaUnsafe,
537
- ReadonlyMapInlined,
538
- TreeNodeSchemaUnsafe,
539
- AllowedTypesUnsafe,
540
- TreeNodeSchemaNonClassUnsafe,
541
484
  FlexList,
542
485
  FlexListToUnion,
543
486
  ExtractItemType,
@@ -599,7 +542,7 @@ export interface ITreeViewConfiguration<TSchema extends ImplicitFieldSchema = Im
599
542
  readonly schema: TSchema;
600
543
  }
601
544
 
602
- // @public @sealed
545
+ // @public @sealed @legacy
603
546
  export interface IValueChanged {
604
547
  readonly key: string;
605
548
  readonly previousValue: any;
@@ -608,7 +551,7 @@ export interface IValueChanged {
608
551
  // @public
609
552
  export type LazyItem<Item = unknown> = Item | (() => Item);
610
553
 
611
- // @public @sealed
554
+ // @public @sealed @system
612
555
  export interface LeafSchema<Name extends string, T extends TreeLeafValue> extends TreeNodeSchemaNonClass<`com.fluidframework.leaf.${Name}`, NodeKind.Leaf, T, T, true> {
613
556
  }
614
557
 
@@ -627,7 +570,7 @@ export type Listeners<T extends object> = {
627
570
  export interface MakeNominal {
628
571
  }
629
572
 
630
- // @public
573
+ // @public @system
631
574
  export type MapNodeInsertableData<T extends ImplicitAllowedTypes> = Iterable<readonly [string, InsertableTreeNodeFromImplicitAllowedTypes<T>]> | RestrictiveStringRecord<InsertableTreeNodeFromImplicitAllowedTypes<T>>;
632
575
 
633
576
  // @public
@@ -638,18 +581,12 @@ export type Myself<M extends IMember = IMember> = M & {
638
581
  readonly currentConnection: string;
639
582
  };
640
583
 
641
- // @public
584
+ // @public @system
642
585
  type NodeBuilderData<T extends TreeNodeSchemaCore<string, NodeKind, boolean>> = T extends TreeNodeSchemaCore<string, NodeKind, boolean, unknown, infer TBuild> ? TBuild : never;
643
586
 
644
- // @public
645
- type NodeBuilderDataUnsafe<T extends Unenforced<TreeNodeSchema>> = T extends TreeNodeSchemaUnsafe<string, NodeKind, unknown, infer TBuild> ? TBuild : never;
646
-
647
587
  // @public
648
588
  export type NodeFromSchema<T extends TreeNodeSchema> = T extends TreeNodeSchemaClass<string, NodeKind, infer TNode> ? TNode : T extends TreeNodeSchemaNonClass<string, NodeKind, infer TNode> ? TNode : never;
649
589
 
650
- // @public
651
- type NodeFromSchemaUnsafe<T extends Unenforced<TreeNodeSchema>> = T extends TreeNodeSchemaUnsafe<string, NodeKind, infer TNode> ? TNode : never;
652
-
653
590
  // @public
654
591
  export interface NodeInDocumentConstraint {
655
592
  // (undocumented)
@@ -677,39 +614,18 @@ export interface NodeSchemaOptions<out TCustomMetadata = unknown> {
677
614
  readonly metadata?: NodeSchemaMetadata<TCustomMetadata> | undefined;
678
615
  }
679
616
 
680
- // @public
681
- type ObjectFromSchemaRecord<T extends RestrictiveStringRecord<ImplicitFieldSchema>> = RestrictiveStringRecord<ImplicitFieldSchema> extends T ? {} : {
617
+ // @public @system
618
+ export type ObjectFromSchemaRecord<T extends RestrictiveStringRecord<ImplicitFieldSchema>> = RestrictiveStringRecord<ImplicitFieldSchema> extends T ? {} : {
682
619
  -readonly [Property in keyof T]: Property extends string ? TreeFieldFromImplicitField<T[Property]> : unknown;
683
620
  };
684
621
 
685
- // @public
686
- type ObjectFromSchemaRecordUnsafe<T extends RestrictiveStringRecord<ImplicitFieldSchemaUnsafe>> = {
687
- -readonly [Property in keyof T]: Property extends string ? TreeFieldFromImplicitFieldUnsafe<T[Property]> : unknown;
688
- };
689
-
690
622
  // @public
691
623
  export type Off = () => void;
692
624
 
693
- // @public @sealed
625
+ // @public @sealed @system
694
626
  export interface ReadonlyArrayNode<out T = TreeNode | TreeLeafValue> extends ReadonlyArray<T>, Awaited<TreeNode & WithType<string, NodeKind.Array>> {
695
627
  }
696
628
 
697
- // @public @sealed
698
- interface ReadonlyMapInlined<K, T extends ImplicitAllowedTypesUnsafe> {
699
- [Symbol.iterator](): IterableIterator<[K, TreeNodeFromImplicitAllowedTypesUnsafe<T>]>;
700
- entries(): IterableIterator<[K, TreeNodeFromImplicitAllowedTypesUnsafe<T>]>;
701
- // (undocumented)
702
- forEach(callbackfn: (value: TreeNodeFromImplicitAllowedTypesUnsafe<T>, key: K, map: ReadonlyMap<K, TreeNodeFromImplicitAllowedTypesUnsafe<T>>) => void, thisArg?: any): void;
703
- // (undocumented)
704
- get(key: K): TreeNodeFromImplicitAllowedTypesUnsafe<T> | undefined;
705
- // (undocumented)
706
- has(key: K): boolean;
707
- keys(): IterableIterator<K>;
708
- // (undocumented)
709
- readonly size: number;
710
- values(): IterableIterator<TreeNodeFromImplicitAllowedTypesUnsafe<T>>;
711
- }
712
-
713
629
  // @public
714
630
  export type ReplaceIEventThisPlaceHolder<L extends any[], TThis> = L extends any[] ? {
715
631
  [K in keyof L]: L[K] extends IEventThisPlaceHolder ? TThis : L[K];
@@ -720,7 +636,7 @@ export type RestrictiveReadonlyRecord<K extends symbol | string, T> = {
720
636
  readonly [P in symbol | string]: P extends K ? T : never;
721
637
  };
722
638
 
723
- // @public
639
+ // @public @system
724
640
  export type RestrictiveStringRecord<T> = {
725
641
  readonly [P in string]: T;
726
642
  } & {
@@ -778,8 +694,8 @@ export class SchemaFactory<out TScope extends string | undefined = string | unde
778
694
  scope: TScope);
779
695
  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>;
780
696
  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>;
781
- 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>, {
782
- [Symbol.iterator](): Iterator<InsertableTreeNodeFromImplicitAllowedTypesUnsafe<T>>;
697
+ 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>, {
698
+ [Symbol.iterator](): Iterator<System_Unsafe.InsertableTreeNodeFromImplicitAllowedTypesUnsafe<T>>;
783
699
  }, false, T, undefined>;
784
700
  readonly boolean: LeafSchema<"boolean", boolean>;
785
701
  static readonly boolean: LeafSchema<"boolean", boolean>;
@@ -790,34 +706,34 @@ export class SchemaFactory<out TScope extends string | undefined = string | unde
790
706
  static readonly leaves: readonly [LeafSchema<"string", string>, LeafSchema<"number", number>, LeafSchema<"boolean", boolean>, LeafSchema<"null", null>, LeafSchema<"handle", IFluidHandle<unknown>>];
791
707
  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>;
792
708
  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>;
793
- 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>, {
709
+ 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>, {
794
710
  [Symbol.iterator](): Iterator<[
795
711
  string,
796
- InsertableTreeNodeFromImplicitAllowedTypesUnsafe<T>
712
+ System_Unsafe.InsertableTreeNodeFromImplicitAllowedTypesUnsafe<T>
797
713
  ]>;
798
714
  } | {
799
- readonly [x: string]: InsertableTreeNodeFromImplicitAllowedTypesUnsafe<T>;
715
+ readonly [x: string]: System_Unsafe.InsertableTreeNodeFromImplicitAllowedTypesUnsafe<T>;
800
716
  }, false, T, undefined>;
801
717
  readonly null: LeafSchema<"null", null>;
802
718
  static readonly null: LeafSchema<"null", null>;
803
719
  readonly number: LeafSchema<"number", number>;
804
720
  static readonly number: LeafSchema<"number", number>;
805
721
  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>;
806
- 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>;
722
+ 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>;
807
723
  readonly optional: <const T extends ImplicitAllowedTypes, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider"> | undefined) => FieldSchema<FieldKind.Optional, T, TCustomMetadata>;
808
724
  static readonly optional: <const T extends ImplicitAllowedTypes, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider"> | undefined) => FieldSchema<FieldKind.Optional, T, TCustomMetadata>;
809
- readonly optionalRecursive: <const T extends ImplicitAllowedTypesUnsafe, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider"> | undefined) => FieldSchemaUnsafe<FieldKind.Optional, T, TCustomMetadata>;
810
- static readonly optionalRecursive: <const T extends ImplicitAllowedTypesUnsafe, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider"> | undefined) => FieldSchemaUnsafe<FieldKind.Optional, T, TCustomMetadata>;
725
+ 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>;
726
+ 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>;
811
727
  readonly required: <const T extends ImplicitAllowedTypes, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider"> | undefined) => FieldSchema<FieldKind.Required, T, TCustomMetadata>;
812
728
  static readonly required: <const T extends ImplicitAllowedTypes, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider"> | undefined) => FieldSchema<FieldKind.Required, T, TCustomMetadata>;
813
- readonly requiredRecursive: <const T extends ImplicitAllowedTypesUnsafe, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider"> | undefined) => FieldSchemaUnsafe<FieldKind.Required, T, TCustomMetadata>;
814
- static readonly requiredRecursive: <const T extends ImplicitAllowedTypesUnsafe, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider"> | undefined) => FieldSchemaUnsafe<FieldKind.Required, T, TCustomMetadata>;
729
+ 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>;
730
+ 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>;
815
731
  readonly scope: TScope;
816
732
  readonly string: LeafSchema<"string", string>;
817
733
  static readonly string: LeafSchema<"string", string>;
818
734
  }
819
735
 
820
- // @public @sealed
736
+ // @public @sealed @system
821
737
  export interface SchemaStatics {
822
738
  readonly boolean: LeafSchema<"boolean", boolean>;
823
739
  readonly handle: LeafSchema<"handle", IFluidHandle>;
@@ -831,13 +747,13 @@ export interface SchemaStatics {
831
747
  readonly null: LeafSchema<"null", null>;
832
748
  readonly number: LeafSchema<"number", number>;
833
749
  readonly optional: <const T extends ImplicitAllowedTypes, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider">) => FieldSchema<FieldKind.Optional, T, TCustomMetadata>;
834
- readonly optionalRecursive: <const T extends ImplicitAllowedTypesUnsafe, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider">) => FieldSchemaUnsafe<FieldKind.Optional, T, TCustomMetadata>;
750
+ 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>;
835
751
  readonly required: <const T extends ImplicitAllowedTypes, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider">) => FieldSchema<FieldKind.Required, T, TCustomMetadata>;
836
- readonly requiredRecursive: <const T extends ImplicitAllowedTypesUnsafe, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider">) => FieldSchemaUnsafe<FieldKind.Required, T, TCustomMetadata>;
752
+ 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>;
837
753
  readonly string: LeafSchema<"string", string>;
838
754
  }
839
755
 
840
- // @public
756
+ // @public @system
841
757
  type ScopedSchemaName<TScope extends string | undefined, TName extends number | string> = TScope extends undefined ? `${TName}` : `${TScope}.${TName}`;
842
758
 
843
759
  export { SequencePlace }
@@ -852,12 +768,100 @@ export const SharedTree: SharedObjectKind<ITree>;
852
768
 
853
769
  export { Side }
854
770
 
855
- // @public @sealed
771
+ // @public @sealed @system
856
772
  export interface SimpleNodeSchemaBase<out TNodeKind extends NodeKind, out TCustomMetadata = unknown> {
857
773
  readonly kind: TNodeKind;
858
774
  readonly metadata: NodeSchemaMetadata<TCustomMetadata>;
859
775
  }
860
776
 
777
+ // @public @system
778
+ export namespace System_Unsafe {
779
+ // @system
780
+ export type AllowedTypesUnsafe = readonly LazyItem<TreeNodeSchemaUnsafe>[];
781
+ // @sealed @system
782
+ export type FieldHasDefaultUnsafe<T extends ImplicitFieldSchemaUnsafe> = T extends FieldSchemaUnsafe<FieldKind.Optional | FieldKind.Identifier, ImplicitAllowedTypesUnsafe> ? true : false;
783
+ // @sealed @system
784
+ export interface FieldSchemaUnsafe<out Kind extends FieldKind, out Types extends ImplicitAllowedTypesUnsafe, out TCustomMetadata = unknown> extends FieldSchema<Kind, any, TCustomMetadata> {
785
+ readonly allowedTypes: Types;
786
+ readonly allowedTypeSet: ReadonlySet<TreeNodeSchema>;
787
+ readonly kind: Kind;
788
+ }
789
+ // @system
790
+ export type ImplicitAllowedTypesUnsafe = TreeNodeSchemaUnsafe | readonly LazyItem<Unenforced<TreeNodeSchema>>[];
791
+ // @system
792
+ export type ImplicitFieldSchemaUnsafe = FieldSchemaUnsafe<FieldKind, ImplicitAllowedTypesUnsafe> | ImplicitAllowedTypesUnsafe;
793
+ // @system
794
+ export type InsertableObjectFromSchemaRecordUnsafe<T extends RestrictiveStringRecord<ImplicitFieldSchemaUnsafe>> = {
795
+ readonly [Property in keyof T as FieldHasDefaultUnsafe<T[Property & string]> extends false ? Property : never]: InsertableTreeFieldFromImplicitFieldUnsafe<T[Property & string]>;
796
+ } & {
797
+ readonly [Property in keyof T as FieldHasDefaultUnsafe<T[Property & string]> extends true ? Property : never]?: InsertableTreeFieldFromImplicitFieldUnsafe<T[Property & string]>;
798
+ };
799
+ // @system
800
+ 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;
801
+ // @system
802
+ export type InsertableTreeNodeFromAllowedTypesUnsafe<TList extends AllowedTypesUnsafe> = [
803
+ TList
804
+ ] extends [
805
+ readonly [
806
+ LazyItem<infer TSchema extends TreeNodeSchemaUnsafe>,
807
+ ...infer Rest extends AllowedTypesUnsafe
808
+ ]
809
+ ] ? InsertableTypedNodeUnsafe<TSchema> | InsertableTreeNodeFromAllowedTypesUnsafe<Rest> : never;
810
+ // @system
811
+ export type InsertableTreeNodeFromImplicitAllowedTypesUnsafe<TSchema extends ImplicitAllowedTypesUnsafe> = [TSchema] extends [TreeNodeSchemaUnsafe] ? InsertableTypedNodeUnsafe<TSchema> : [TSchema] extends [AllowedTypesUnsafe] ? InsertableTreeNodeFromAllowedTypesUnsafe<TSchema> : never;
812
+ // @system
813
+ 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);
814
+ // @system
815
+ export type NodeBuilderDataUnsafe<T extends Unenforced<TreeNodeSchema>> = T extends TreeNodeSchemaUnsafe<string, NodeKind, unknown, infer TBuild> ? TBuild : never;
816
+ // @system
817
+ export type NodeFromSchemaUnsafe<T extends Unenforced<TreeNodeSchema>> = T extends TreeNodeSchemaUnsafe<string, NodeKind, infer TNode> ? TNode : never;
818
+ // @system
819
+ export type ObjectFromSchemaRecordUnsafe<T extends RestrictiveStringRecord<ImplicitFieldSchemaUnsafe>> = {
820
+ -readonly [Property in keyof T]: Property extends string ? TreeFieldFromImplicitFieldUnsafe<T[Property]> : unknown;
821
+ };
822
+ // @sealed @system
823
+ export interface ReadonlyMapInlined<K, T extends ImplicitAllowedTypesUnsafe> {
824
+ [Symbol.iterator](): IterableIterator<[K, TreeNodeFromImplicitAllowedTypesUnsafe<T>]>;
825
+ entries(): IterableIterator<[K, TreeNodeFromImplicitAllowedTypesUnsafe<T>]>;
826
+ // (undocumented)
827
+ forEach(callbackfn: (value: TreeNodeFromImplicitAllowedTypesUnsafe<T>, key: K, map: ReadonlyMap<K, TreeNodeFromImplicitAllowedTypesUnsafe<T>>) => void, thisArg?: any): void;
828
+ // (undocumented)
829
+ get(key: K): TreeNodeFromImplicitAllowedTypesUnsafe<T> | undefined;
830
+ // (undocumented)
831
+ has(key: K): boolean;
832
+ keys(): IterableIterator<K>;
833
+ // (undocumented)
834
+ readonly size: number;
835
+ values(): IterableIterator<TreeNodeFromImplicitAllowedTypesUnsafe<T>>;
836
+ }
837
+ // @sealed @system
838
+ export interface TreeArrayNodeUnsafe<TAllowedTypes extends ImplicitAllowedTypesUnsafe> extends TreeArrayNode<TAllowedTypes, TreeNodeFromImplicitAllowedTypesUnsafe<TAllowedTypes>, InsertableTreeNodeFromImplicitAllowedTypesUnsafe<TAllowedTypes>> {
839
+ }
840
+ // @system
841
+ export type TreeFieldFromImplicitFieldUnsafe<TSchema extends ImplicitFieldSchemaUnsafe> = TSchema extends FieldSchemaUnsafe<infer Kind, infer Types> ? ApplyKind<TreeNodeFromImplicitAllowedTypesUnsafe<Types>, Kind> : TSchema extends ImplicitAllowedTypesUnsafe ? TreeNodeFromImplicitAllowedTypesUnsafe<TSchema> : unknown;
842
+ // @sealed @system
843
+ export interface TreeMapNodeUnsafe<T extends ImplicitAllowedTypesUnsafe> extends ReadonlyMapInlined<string, T>, TreeNode {
844
+ delete(key: string): void;
845
+ set(key: string, value: InsertableTreeNodeFromImplicitAllowedTypesUnsafe<T> | undefined): void;
846
+ }
847
+ // @system
848
+ export type TreeNodeFromImplicitAllowedTypesUnsafe<TSchema extends ImplicitAllowedTypesUnsafe> = TSchema extends TreeNodeSchemaUnsafe ? NodeFromSchemaUnsafe<TSchema> : TSchema extends AllowedTypesUnsafe ? NodeFromSchemaUnsafe<FlexListToUnion<TSchema>> : unknown;
849
+ // @system
850
+ 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> {
851
+ // @sealed
852
+ new (data: TInsertable | InternalTreeNode): Unhydrated<TNode>;
853
+ }
854
+ // @system
855
+ 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> {
856
+ // (undocumented)
857
+ create(data: TInsertable): TNode;
858
+ }
859
+ // @system
860
+ 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>;
861
+ // @system
862
+ export type TreeObjectNodeUnsafe<T extends RestrictiveStringRecord<ImplicitFieldSchemaUnsafe>, TypeName extends string = string> = TreeNode & ObjectFromSchemaRecordUnsafe<T> & WithType<TypeName, NodeKind.Object, T>;
863
+ }
864
+
861
865
  // @public
862
866
  export interface Tagged<V, T extends string = string> {
863
867
  // (undocumented)
@@ -878,14 +882,14 @@ export type TransformedEvent<TThis, E, A extends any[]> = (event: E, listener: (
878
882
  // @public
879
883
  export const Tree: TreeApi;
880
884
 
881
- // @public @sealed
885
+ // @public @sealed @system
882
886
  interface TreeApi extends TreeNodeApi {
883
887
  contains(node: TreeNode, other: TreeNode): boolean;
884
888
  readonly runTransaction: RunTransaction;
885
889
  }
886
890
 
887
891
  // @public @sealed
888
- 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> {
892
+ 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> {
889
893
  insertAt(index: number, ...value: readonly (TNew | IterableTreeArrayContent<TNew>)[]): void;
890
894
  insertAtEnd(...value: readonly (TNew | IterableTreeArrayContent<TNew>)[]): void;
891
895
  insertAtStart(...value: readonly (TNew | IterableTreeArrayContent<TNew>)[]): void;
@@ -911,10 +915,6 @@ export const TreeArrayNode: {
911
915
  readonly spread: <T>(content: Iterable<T>) => IterableTreeArrayContent<T>;
912
916
  };
913
917
 
914
- // @public @sealed
915
- export interface TreeArrayNodeUnsafe<TAllowedTypes extends ImplicitAllowedTypesUnsafe> extends TreeArrayNode<TAllowedTypes, TreeNodeFromImplicitAllowedTypesUnsafe<TAllowedTypes>, InsertableTreeNodeFromImplicitAllowedTypesUnsafe<TAllowedTypes>> {
916
- }
917
-
918
918
  // @public @sealed
919
919
  export interface TreeChangeEvents {
920
920
  nodeChanged(unstable?: unknown): void;
@@ -924,9 +924,6 @@ export interface TreeChangeEvents {
924
924
  // @public
925
925
  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;
926
926
 
927
- // @public
928
- type TreeFieldFromImplicitFieldUnsafe<TSchema extends ImplicitFieldSchemaUnsafe> = TSchema extends FieldSchemaUnsafe<infer Kind, infer Types> ? ApplyKind<TreeNodeFromImplicitAllowedTypesUnsafe<Types>, Kind> : TSchema extends ImplicitAllowedTypesUnsafe ? TreeNodeFromImplicitAllowedTypesUnsafe<TSchema> : unknown;
929
-
930
927
  // @public
931
928
  export type TreeLeafValue = number | string | boolean | IFluidHandle | null;
932
929
 
@@ -940,12 +937,6 @@ export interface TreeMapNode<T extends ImplicitAllowedTypes = ImplicitAllowedTyp
940
937
  values(): IterableIterator<TreeNodeFromImplicitAllowedTypes<T>>;
941
938
  }
942
939
 
943
- // @public @sealed
944
- export interface TreeMapNodeUnsafe<T extends ImplicitAllowedTypesUnsafe> extends ReadonlyMapInlined<string, T>, TreeNode {
945
- delete(key: string): void;
946
- set(key: string, value: InsertableTreeNodeFromImplicitAllowedTypesUnsafe<T> | undefined): void;
947
- }
948
-
949
940
  // @public @sealed
950
941
  export abstract class TreeNode implements WithType {
951
942
  static [Symbol.hasInstance](value: unknown): value is TreeNode;
@@ -970,9 +961,6 @@ export interface TreeNodeApi {
970
961
  // @public
971
962
  export type TreeNodeFromImplicitAllowedTypes<TSchema extends ImplicitAllowedTypes = TreeNodeSchema> = TSchema extends TreeNodeSchema ? NodeFromSchema<TSchema> : TSchema extends AllowedTypes ? NodeFromSchema<FlexListToUnion<TSchema>> : unknown;
972
963
 
973
- // @public
974
- type TreeNodeFromImplicitAllowedTypesUnsafe<TSchema extends ImplicitAllowedTypesUnsafe> = TSchema extends TreeNodeSchemaUnsafe ? NodeFromSchemaUnsafe<TSchema> : TSchema extends AllowedTypesUnsafe ? NodeFromSchemaUnsafe<FlexListToUnion<TSchema>> : unknown;
975
-
976
964
  // @public @sealed
977
965
  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>;
978
966
 
@@ -983,44 +971,27 @@ export type TreeNodeSchemaClass<Name extends string = string, Kind extends NodeK
983
971
  new (data: TInsertable | InternalTreeNode | TConstructorExtra): Unhydrated<TNode>;
984
972
  });
985
973
 
986
- // @public
987
- 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> {
988
- // @sealed
989
- new (data: TInsertable | InternalTreeNode): Unhydrated<TNode>;
990
- }
991
-
992
974
  // @public @sealed
993
975
  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> {
976
+ // @system
994
977
  readonly childTypes: ReadonlySet<TreeNodeSchema>;
995
- // @sealed
978
+ // @sealed @system
996
979
  createFromInsertable(data: TInsertable): Unhydrated<TreeNode | TreeLeafValue>;
997
980
  readonly identifier: Name;
998
981
  readonly implicitlyConstructable: ImplicitlyConstructable;
999
982
  readonly info: Info;
1000
983
  }
1001
984
 
1002
- // @public @sealed
985
+ // @public @sealed @system
1003
986
  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 ? {
1004
987
  create(data?: TInsertable | TConstructorExtra): TNode;
1005
988
  } : {
1006
989
  create(data: TInsertable | TConstructorExtra): TNode;
1007
990
  });
1008
991
 
1009
- // @public
1010
- 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> {
1011
- // (undocumented)
1012
- create(data: TInsertable): TNode;
1013
- }
1014
-
1015
- // @public
1016
- 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>;
1017
-
1018
992
  // @public
1019
993
  export type TreeObjectNode<T extends RestrictiveStringRecord<ImplicitFieldSchema>, TypeName extends string = string> = TreeNode & ObjectFromSchemaRecord<T> & WithType<TypeName, NodeKind.Object, T>;
1020
994
 
1021
- // @public
1022
- export type TreeObjectNodeUnsafe<T extends RestrictiveStringRecord<ImplicitFieldSchemaUnsafe>, TypeName extends string = string> = TreeNode & ObjectFromSchemaRecordUnsafe<T> & WithType<TypeName, NodeKind.Object, T>;
1023
-
1024
995
  // @public
1025
996
  export enum TreeStatus {
1026
997
  Deleted = 2,
@@ -1057,10 +1028,10 @@ export interface TreeViewEvents {
1057
1028
  schemaChanged(): void;
1058
1029
  }
1059
1030
 
1060
- // @public @deprecated
1031
+ // @public @deprecated @system
1061
1032
  const typeNameSymbol: unique symbol;
1062
1033
 
1063
- // @public
1034
+ // @public @system
1064
1035
  export const typeSchemaSymbol: unique symbol;
1065
1036
 
1066
1037
  // @public
@@ -1069,7 +1040,7 @@ export type Unenforced<_DesiredExtendsConstraint> = unknown;
1069
1040
  // @public
1070
1041
  export type Unhydrated<T> = T;
1071
1042
 
1072
- // @public
1043
+ // @public @system
1073
1044
  export type UnionToIntersection<T> = (T extends T ? (k: T) => unknown : never) extends (k: infer U) => unknown ? U : never;
1074
1045
 
1075
1046
  // @public
@@ -1083,7 +1054,7 @@ export type ValidateRecursiveSchema<T extends TreeNodeSchemaClass<string, NodeKi
1083
1054
  [NodeKind.Map]: ImplicitAllowedTypes;
1084
1055
  }[T["kind"]]>> = true;
1085
1056
 
1086
- // @public @sealed
1057
+ // @public @sealed @system
1087
1058
  export interface ViewableTree {
1088
1059
  viewWith<TRoot extends ImplicitFieldSchema>(config: TreeViewConfiguration<TRoot>): TreeView<TRoot>;
1089
1060
  }