fluid-framework 2.118.1 → 3.0.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.
@@ -5,9 +5,7 @@
5
5
  ```ts
6
6
 
7
7
  // @beta
8
- export function adaptEnum<TScope extends string, const TEnum extends Record<string, string | number>>(factory: SchemaFactory<TScope>, members: TEnum): (<TValue extends TEnum[keyof TEnum]>(value: TValue) => TValue extends unknown ? TreeNode & {
9
- readonly value: TValue;
10
- } : never) & { readonly [Property in keyof TEnum]: TreeNodeSchemaClass<ScopedSchemaName<TScope, TEnum[Property]>, NodeKind.Object, TreeNode & {
8
+ export function adaptEnum<TScope extends string, const TEnum extends Record<string, string | number>>(factory: SchemaFactory<TScope>, members: TEnum): (<TValue extends TEnum[keyof TEnum]>(value: TValue) => TValue extends unknown ? NodeFromSchema<ReturnType<typeof singletonSchema<TScope, TValue>>> : never) & { readonly [Property in keyof TEnum]: TreeNodeSchemaClass<ScopedSchemaName<TScope, TEnum[Property]>, NodeKind.Object, TreeNode & {
11
9
  readonly value: TEnum[Property];
12
10
  }, Record<string, never>, true, Record<string, never>, undefined>; } & {
13
11
  readonly schema: UnionToTuple<{ readonly [Property in keyof TEnum]: TreeNodeSchemaClass<ScopedSchemaName<TScope, TEnum[Property]>, NodeKind.Object, TreeNode & {
@@ -106,10 +104,10 @@ export interface ArrayNodeCustomizableSchemaUnsafe<out TName extends string, in
106
104
  }, false, T, undefined, TCustomMetadata>, SimpleArrayNodeSchema<SchemaType.View, TCustomMetadata> {
107
105
  }
108
106
 
109
- // @alpha @sealed
107
+ // @beta @sealed
110
108
  export type ArrayNodeDeltaOp = ArrayNodeRetainOp | ArrayNodeInsertOp | ArrayNodeRemoveOp;
111
109
 
112
- // @alpha @sealed
110
+ // @beta @sealed
113
111
  export interface ArrayNodeInsertOp {
114
112
  // (undocumented)
115
113
  readonly count: number;
@@ -121,7 +119,7 @@ export interface ArrayNodeInsertOp {
121
119
  export interface ArrayNodePojoEmulationSchema<out TName extends string = string, in out T extends ImplicitAllowedTypes = ImplicitAllowedTypes, out ImplicitlyConstructable extends boolean = true, out TCustomMetadata = unknown> extends TreeNodeSchemaNonClass<TName, NodeKind.Array, TreeArrayNode<T> & WithType<TName, NodeKind.Array, T>, Iterable<InsertableTreeNodeFromImplicitAllowedTypes<T>>, ImplicitlyConstructable, T, undefined, TCustomMetadata>, SimpleArrayNodeSchema<SchemaType.View, TCustomMetadata> {
122
120
  }
123
121
 
124
- // @alpha @sealed
122
+ // @beta @sealed
125
123
  export interface ArrayNodeRemoveOp {
126
124
  // (undocumented)
127
125
  readonly count: number;
@@ -129,7 +127,7 @@ export interface ArrayNodeRemoveOp {
129
127
  readonly type: "remove";
130
128
  }
131
129
 
132
- // @alpha @sealed
130
+ // @beta @sealed
133
131
  export interface ArrayNodeRetainOp {
134
132
  // (undocumented)
135
133
  readonly count: number;
@@ -145,10 +143,10 @@ export const ArrayNodeSchema: {
145
143
  readonly [Symbol.hasInstance]: (value: TreeNodeSchema) => value is ArrayNodeSchema;
146
144
  };
147
145
 
148
- // @alpha
146
+ // @beta
149
147
  export type ArrayNodeTreeChangedDeltaOp = ArrayNodeTreeChangedRetainOp | ArrayNodeInsertOp | ArrayNodeRemoveOp;
150
148
 
151
- // @alpha @sealed
149
+ // @beta @sealed
152
150
  export interface ArrayNodeTreeChangedRetainOp extends ArrayNodeRetainOp {
153
151
  readonly subtreeChanged: boolean;
154
152
  }
@@ -159,6 +157,9 @@ export interface ArrayPlaceAnchor {
159
157
  get index(): number;
160
158
  }
161
159
 
160
+ // @alpha
161
+ export function asAlpha(tree: ITree): ITreeAlpha;
162
+
162
163
  // @alpha
163
164
  export function asAlpha<TSchema extends ImplicitFieldSchema>(view: TreeView<TSchema>): TreeViewAlpha<TSchema>;
164
165
 
@@ -174,9 +175,6 @@ export function asAlpha<TAllowedTypes extends ImplicitAllowedTypes>(node: TreeMa
174
175
  // @beta
175
176
  export function asBeta<TSchema extends ImplicitFieldSchema>(view: TreeView<TSchema>): TreeViewBeta<TSchema>;
176
177
 
177
- // @alpha @deprecated
178
- export function asTreeViewAlpha<TSchema extends ImplicitFieldSchema>(view: TreeView<TSchema>): TreeViewAlpha<TSchema>;
179
-
180
178
  // @public
181
179
  export enum AttachState {
182
180
  Attached = "Attached",
@@ -210,6 +208,9 @@ export interface CodecWriteOptionsBeta {
210
208
  readonly minVersionForCollab: OldestSupportedClientVersion;
211
209
  }
212
210
 
211
+ // @alpha
212
+ export function codePointCount(value: string): number;
213
+
213
214
  // @public
214
215
  export enum CommitKind {
215
216
  Default = 0,
@@ -333,6 +334,12 @@ export type CreateIndependentTreeAlphaOptions = ForestOptions & IndependentViewT
333
334
  // @beta
334
335
  export function createIndependentTreeBeta<const TSchema extends ImplicitFieldSchema>(options?: ForestOptions): ViewableTree;
335
336
 
337
+ // @beta
338
+ export function createIndependentTreeView<const TSchema extends ImplicitFieldSchema>(config: TreeViewConfiguration<TSchema>, options?: ForestOptions): TreeViewBeta<TSchema>;
339
+
340
+ // @alpha
341
+ export function createIndependentTreeViewAlpha<const TSchema extends ImplicitFieldSchema>(config: TreeViewConfiguration<TSchema>, options?: IndependentViewOptions): TreeViewAlpha<TSchema>;
342
+
336
343
  // @beta
337
344
  export function createTreeIndex<TFieldSchema extends ImplicitFieldSchema, TKey extends TreeIndexKey, TValue>(view: TreeView<TFieldSchema>, indexer: (schema: TreeNodeSchema) => string | undefined, getValue: (nodes: TreeIndexNodes<TreeNode>) => TValue, isKeyValid: (key: TreeIndexKey) => key is TKey): TreeIndex<TKey, TValue>;
338
345
 
@@ -406,9 +413,7 @@ export type DirtyTreeStatus = "new" | "changed" | "moved";
406
413
  export function encodeSchemaCompatibilitySnapshot(simpleSchema: SimpleTreeSchema): JsonCompatibleReadOnly;
407
414
 
408
415
  // @beta
409
- export function enumFromStrings<TScope extends string, const Members extends readonly string[]>(factory: SchemaFactory<TScope>, members: Members): (<TValue extends Members[number]>(value: TValue) => TValue extends unknown ? TreeNode & {
410
- readonly value: TValue;
411
- } : never) & { [Index in Extract<keyof Members, `${number}`> extends `${infer N extends number}` ? N : never as Members[Index]]: TreeNodeSchemaClass<ScopedSchemaName<TScope, Members[Index]>, NodeKind.Object, TreeNode & {
416
+ export function enumFromStrings<TScope extends string, const Members extends readonly string[]>(factory: SchemaFactory<TScope>, members: Members): (<TValue extends Members[number]>(value: TValue) => TValue extends unknown ? NodeFromSchema<ReturnType<typeof singletonSchema<TScope, TValue>>> : never) & { [Index in Extract<keyof Members, `${number}`> extends `${infer N extends number}` ? N : never as Members[Index]]: TreeNodeSchemaClass<ScopedSchemaName<TScope, Members[Index]>, NodeKind.Object, TreeNode & {
412
417
  readonly value: Members[Index];
413
418
  }, Record<string, never>, true, Record<string, never>, undefined>; } & {
414
419
  readonly schema: UnionToTuple<Members[number] extends unknown ? { [Index in Extract<keyof Members, `${number}`> extends `${infer N extends number}` ? N : never as Members[Index]]: TreeNodeSchemaClass<ScopedSchemaName<TScope, Members[Index]>, NodeKind.Object, TreeNode & {
@@ -475,6 +480,9 @@ export type FactoryContentObject = {
475
480
  readonly [P in string]?: InsertableContent;
476
481
  };
477
482
 
483
+ // @alpha
484
+ export function featureVersion<major extends `${bigint}`, minor extends `${bigint}`>(version: `${major}.${minor}.${bigint}-${string}` | `${major}.${minor}.${bigint}`): `${major}.${minor}.0`;
485
+
478
486
  // @public @system
479
487
  type FieldHasDefault<T extends ImplicitFieldSchema> = [T] extends [
480
488
  FieldSchema<FieldKind.Optional | FieldKind.Identifier>
@@ -699,7 +707,7 @@ export namespace FluidSerializableAsTree {
699
707
  export type _RecursiveArrayWorkaroundJsonArray = FixRecursiveArraySchema<typeof Array>;
700
708
  const // @system
701
709
  _APIExtractorWorkaroundArrayBase: TreeNodeSchemaClass<"com.fluidframework.serializable.array", NodeKind.Array, System_Unsafe.TreeArrayNodeUnsafe<readonly [() => typeof FluidSerializableObject, () => typeof Array, LeafSchema<"string", string>, LeafSchema<"number", number>, LeafSchema<"boolean", boolean>, LeafSchema<"null", null>, LeafSchema<"handle", IFluidHandle<unknown>>]> & WithType<"com.fluidframework.serializable.array", NodeKind.Array, unknown>, {
702
- [Symbol.iterator](): Iterator<string | number | IFluidHandle<unknown> | System_Unsafe.InsertableTypedNodeUnsafe<LeafSchema<"boolean", boolean>, LeafSchema<"boolean", boolean>> | FluidSerializableObject | Array | null, any, undefined>;
710
+ [Symbol.iterator](): Iterator<string | number | IFluidHandle<unknown> | System_Unsafe.InsertableTypedNodeUnsafe<LeafSchema<"boolean", boolean>, LeafSchema<"boolean", boolean>> | FluidSerializableObject | Array | null, any, any>;
703
711
  }, false, readonly [() => typeof FluidSerializableObject, () => typeof Array, LeafSchema<"string", string>, LeafSchema<"number", number>, LeafSchema<"boolean", boolean>, LeafSchema<"null", null>, LeafSchema<"handle", IFluidHandle<unknown>>], undefined>;
704
712
  // (undocumented)
705
713
  export type Tree = TreeNodeFromImplicitAllowedTypes<typeof Tree>;
@@ -1085,7 +1093,7 @@ export const incrementalSummaryHint: unique symbol;
1085
1093
  // @alpha
1086
1094
  export function independentInitializedView<const TSchema extends ImplicitFieldSchema>(config: TreeViewConfiguration<TSchema>, options: ForestOptions & ICodecOptions & IndependentViewTelemetryOptions, content: ViewContent): TreeViewAlpha<TSchema>;
1087
1095
 
1088
- // @alpha
1096
+ // @alpha @deprecated
1089
1097
  export function independentView<const TSchema extends ImplicitFieldSchema>(config: TreeViewConfiguration<TSchema>, options?: IndependentViewOptions): TreeViewAlpha<TSchema>;
1090
1098
 
1091
1099
  // @alpha @input
@@ -1180,7 +1188,7 @@ declare namespace InternalTypes {
1180
1188
  FieldHasDefault,
1181
1189
  ScopedSchemaName,
1182
1190
  DefaultProvider,
1183
- typeNameSymbol,
1191
+ schemaIdentifierBrand,
1184
1192
  InsertableObjectFromSchemaRecord,
1185
1193
  FlexList,
1186
1194
  FlexListToUnion,
@@ -1228,10 +1236,10 @@ export interface ITelemetryBaseEvent extends ITelemetryBaseProperties {
1228
1236
  eventName: string;
1229
1237
  }
1230
1238
 
1231
- // @public
1239
+ // @public @input
1232
1240
  export interface ITelemetryBaseLogger {
1233
1241
  minLogLevel?: LogLevel | undefined;
1234
- send(event: ITelemetryBaseEvent, logLevel?: LogLevel): void;
1242
+ send(event: ITelemetryBaseEvent, logLevel: LogLevel): void;
1235
1243
  }
1236
1244
 
1237
1245
  // @public
@@ -1437,10 +1445,6 @@ export type LogLevel = (typeof LogLevel)[keyof typeof LogLevel];
1437
1445
 
1438
1446
  // @public
1439
1447
  export interface LogLevelConst {
1440
- // @deprecated
1441
- readonly default: 20;
1442
- // @deprecated
1443
- readonly error: 30;
1444
1448
  readonly essential: 30;
1445
1449
  readonly info: 20;
1446
1450
  readonly verbose: 10;
@@ -1506,22 +1510,20 @@ type NodeBuilderData<T extends TreeNodeSchemaCore<string, NodeKind, boolean>> =
1506
1510
  // @beta @sealed
1507
1511
  export interface NodeChangedData<TNode extends TreeNode = TreeNode> {
1508
1512
  readonly changedProperties?: ReadonlySet<TNode extends WithType<string, NodeKind.Object, infer TInfo> ? string & keyof TInfo : string>;
1513
+ readonly delta?: readonly ArrayNodeDeltaOp[] | undefined;
1509
1514
  }
1510
1515
 
1511
- // @alpha
1512
- export type NodeChangedDataAlpha<TNode extends TreeNode = TreeNode> = TNode extends WithType<string, NodeKind.Array> ? NodeChangedDataDelta : TNode extends WithType<string, NodeKind.Map | NodeKind.Object | NodeKind.Record> ? NodeChangedDataProperties<TNode> : NodeChangedDataProperties<TNode> | NodeChangedDataDelta;
1513
-
1514
- // @alpha @sealed
1515
- export interface NodeChangedDataDelta {
1516
+ // @beta @sealed
1517
+ export interface NodeChangedDataDelta extends NodeChangedData {
1516
1518
  readonly delta: readonly ArrayNodeDeltaOp[] | undefined;
1517
1519
  }
1518
1520
 
1519
- // @alpha @sealed
1520
- export interface NodeChangedDataProperties<TNode extends TreeNode = TreeNode> {
1521
+ // @beta @sealed
1522
+ export interface NodeChangedDataProperties<TNode extends TreeNode = TreeNode> extends NodeChangedData<TNode> {
1521
1523
  readonly changedProperties: ReadonlySet<TNode extends WithType<string, NodeKind.Object, infer TInfo> ? string & keyof TInfo : string>;
1522
1524
  }
1523
1525
 
1524
- // @alpha @sealed
1526
+ // @beta @sealed
1525
1527
  export interface NodeChangedDataTreeDelta {
1526
1528
  readonly delta: readonly ArrayNodeTreeChangedDeltaOp[] | undefined;
1527
1529
  }
@@ -1585,7 +1587,7 @@ export interface ObjectNodeSchema<out TName extends string = string, in out T ex
1585
1587
 
1586
1588
  // @alpha (undocumented)
1587
1589
  export const ObjectNodeSchema: {
1588
- readonly [Symbol.hasInstance]: (value: TreeNodeSchema) => value is ObjectNodeSchema<string, RestrictiveStringRecord<ImplicitFieldSchema>, boolean, unknown>;
1590
+ readonly [Symbol.hasInstance]: (value: TreeNodeSchema) => value is ObjectNodeSchema;
1589
1591
  };
1590
1592
 
1591
1593
  // @alpha @sealed
@@ -1612,7 +1614,7 @@ export interface ObservationResults<TResult> {
1612
1614
  export type Off = () => void;
1613
1615
 
1614
1616
  // @alpha @input
1615
- export type OldestSupportedServiceClientVersion = `2.${bigint}.0`;
1617
+ export type OldestSupportedServiceClientVersion = `${2 | 3}.${bigint}.0`;
1616
1618
 
1617
1619
  // @beta
1618
1620
  export function onAssertionFailure(handler: (error: Error) => void): () => void;
@@ -1627,6 +1629,7 @@ export namespace PlainText {
1627
1629
  characterCount(): number;
1628
1630
  characters(): Iterable<string>;
1629
1631
  charactersCopy(): string[];
1632
+ createInsertionAnchor(index: number): ArrayPlaceAnchor;
1630
1633
  fullString(): string;
1631
1634
  insertAt(index: number, additionalCharacters: string): void;
1632
1635
  onCharactersChanged(callback: (ops: readonly TextOp[] | undefined) => void): () => void;
@@ -1663,7 +1666,7 @@ export type PopUnion<Union, AsOverloadedFunction = UnionToIntersection<Union ext
1663
1666
  export type ReadableField<TSchema extends ImplicitFieldSchema | UnsafeUnknownSchema> = TreeFieldFromImplicitField<ReadSchema<TSchema>>;
1664
1667
 
1665
1668
  // @public @sealed @system
1666
- export interface ReadonlyArrayNode<out T = TreeNode | TreeLeafValue> extends ReadonlyArray<T>, Awaited<TreeNode & WithType<string, NodeKind.Array>> {
1669
+ export interface ReadonlyArrayNode<out T = TreeNode | TreeLeafValue> extends FluidReadonlyArray<T>, Awaited<TreeNode & WithType<string, NodeKind.Array>> {
1667
1670
  }
1668
1671
 
1669
1672
  // @alpha @system
@@ -1687,7 +1690,7 @@ export type RecordNodeSchema<TName extends string = string, T extends ImplicitAl
1687
1690
 
1688
1691
  // @alpha (undocumented)
1689
1692
  export const RecordNodeSchema: {
1690
- readonly [Symbol.hasInstance]: (value: TreeNodeSchema) => value is RecordNodeSchema<string, ImplicitAllowedTypes, true, unknown>;
1693
+ readonly [Symbol.hasInstance]: (value: TreeNodeSchema) => value is RecordNodeSchema;
1691
1694
  };
1692
1695
 
1693
1696
  // @alpha @input
@@ -1856,21 +1859,16 @@ export class SchemaFactory<out TScope extends string | undefined = string | unde
1856
1859
  scope: TScope);
1857
1860
  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>;
1858
1861
  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>;
1859
- 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>, {
1862
+ 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>, {
1860
1863
  [Symbol.iterator](): Iterator<System_Unsafe.InsertableTreeNodeFromImplicitAllowedTypesUnsafe<T>>;
1861
1864
  }, false, T, undefined>;
1862
1865
  protected getStructuralType(fullName: string, types: TreeNodeSchema | readonly TreeNodeSchema[], builder: () => TreeNodeSchema): TreeNodeSchema;
1863
1866
  get identifier(): FieldSchema<FieldKind.Identifier, typeof SchemaFactory.string>;
1864
1867
  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>;
1865
1868
  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>;
1866
- 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>, {
1867
- [Symbol.iterator](): Iterator<[
1868
- string,
1869
- System_Unsafe.InsertableTreeNodeFromImplicitAllowedTypesUnsafe<T>
1870
- ]>;
1871
- } | {
1872
- readonly [x: string]: System_Unsafe.InsertableTreeNodeFromImplicitAllowedTypesUnsafe<T>;
1873
- }, false, T, undefined>;
1869
+ 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>, {
1870
+ [Symbol.iterator](): Iterator<[string, System_Unsafe.InsertableTreeNodeFromImplicitAllowedTypesUnsafe<T>]>;
1871
+ } | { readonly [P in string]: System_Unsafe.InsertableTreeNodeFromImplicitAllowedTypesUnsafe<T>; }, false, T, undefined>;
1874
1872
  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>;
1875
1873
  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>;
1876
1874
  readonly scope: TScope;
@@ -1883,7 +1881,7 @@ export const SchemaFactory_base: SchemaStatics & (new () => SchemaStatics);
1883
1881
  export class SchemaFactoryAlpha<out TScope extends string | undefined = string | undefined, TName extends number | string = string> extends SchemaFactoryBeta<TScope, TName> {
1884
1882
  arrayAlpha<const Name extends TName, const T extends ImplicitAllowedTypes, const TCustomMetadata = unknown>(name: Name, allowedTypes: T, options?: NodeSchemaOptionsAlpha<TCustomMetadata>): ArrayNodeCustomizableSchemaAlpha<ScopedSchemaName<TScope, Name>, T, true, TCustomMetadata>;
1885
1883
  arrayRecursive<const Name extends TName, const T extends System_Unsafe.ImplicitAllowedTypesUnsafe, const TCustomMetadata = unknown>(name: Name, allowedTypes: T, options?: NodeSchemaOptionsAlpha<TCustomMetadata>): ArrayNodeCustomizableSchemaUnsafe<ScopedSchemaName<TScope, Name>, T, TCustomMetadata>;
1886
- static readonly identifier: <const TCustomMetadata = unknown>(props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider"> | undefined) => FieldSchemaAlpha<FieldKind.Identifier, StringSchema, TCustomMetadata, FieldPropsAlpha<TCustomMetadata>>;
1884
+ static readonly identifier: <const TCustomMetadata = unknown>(props?: Omit<FieldProps<TCustomMetadata>, "defaultProvider">) => FieldSchemaAlpha<FieldKind.Identifier, StringSchema, TCustomMetadata, FieldPropsAlpha<TCustomMetadata>>;
1887
1885
  static readonly leaves: readonly [StringSchema, LeafSchema<"number", number> & SimpleLeafNodeSchema<SchemaType>, LeafSchema<"boolean", boolean> & SimpleLeafNodeSchema<SchemaType>, LeafSchema<"null", null> & SimpleLeafNodeSchema<SchemaType>, LeafSchema<"handle", IFluidHandle<unknown>> & SimpleLeafNodeSchema<SchemaType>];
1888
1886
  readonly leaves: readonly [StringSchema, LeafSchema<"number", number> & SimpleLeafNodeSchema<SchemaType>, LeafSchema<"boolean", boolean> & SimpleLeafNodeSchema<SchemaType>, LeafSchema<"null", null> & SimpleLeafNodeSchema<SchemaType>, LeafSchema<"handle", IFluidHandle<unknown>> & SimpleLeafNodeSchema<SchemaType>];
1889
1887
  mapAlpha<Name extends TName, const T extends ImplicitAllowedTypes, const TCustomMetadata = unknown>(name: Name, allowedTypes: T, options?: NodeSchemaOptionsAlpha<TCustomMetadata>): MapNodeCustomizableSchema<ScopedSchemaName<TScope, Name>, T, true, TCustomMetadata>;
@@ -1891,33 +1889,31 @@ export class SchemaFactoryAlpha<out TScope extends string | undefined = string |
1891
1889
  objectAlpha<const Name extends TName, const T extends RestrictiveStringRecord<ImplicitFieldSchema>, const TCustomMetadata = unknown>(name: Name, fields: T, options?: ObjectSchemaOptionsAlpha<TCustomMetadata>): ObjectNodeSchemaWorkaround<ScopedSchemaName<TScope, Name>, T, true, TCustomMetadata>;
1892
1890
  objectRecursive<const Name extends TName, const T extends RestrictiveStringRecord<System_Unsafe.ImplicitFieldSchemaUnsafe>, const TCustomMetadata = unknown>(name: Name, t: T, options?: ObjectSchemaOptionsAlpha<TCustomMetadata>): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Object, System_Unsafe.TreeObjectNodeUnsafe<T, ScopedSchemaName<TScope, Name>>, object & System_Unsafe.InsertableObjectFromSchemaRecordUnsafe<T>, false, T, never, TCustomMetadata> & SimpleObjectNodeSchema<SchemaType.View, TCustomMetadata> & Pick<ObjectNodeSchema, "fields">;
1893
1891
  objectRecursiveAlpha<const Name extends TName, const T extends RestrictiveStringRecord<System_Unsafe.ImplicitFieldSchemaUnsafe>, const TCustomMetadata = unknown>(name: Name, t: T, options?: ObjectSchemaOptionsAlpha<TCustomMetadata>): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Object, System_Unsafe.TreeObjectNodeUnsafe<T, ScopedSchemaName<TScope, Name>>, object & InsertableObjectFromSchemaRecordAlphaUnsafe<T>, false, T, never, TCustomMetadata> & SimpleObjectNodeSchema<SchemaType.View, TCustomMetadata> & Pick<ObjectNodeSchema, "fields">;
1894
- static readonly optional: <const T extends ImplicitAllowedTypes, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldPropsAlpha<TCustomMetadata>, "defaultProvider"> | undefined) => FieldSchemaAlpha<FieldKind.Optional, T, TCustomMetadata, FieldPropsAlpha<TCustomMetadata>>;
1895
- readonly optional: <const T extends ImplicitAllowedTypes, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldPropsAlpha<TCustomMetadata>, "defaultProvider"> | undefined) => FieldSchemaAlpha<FieldKind.Optional, T, TCustomMetadata, FieldPropsAlpha<TCustomMetadata>>;
1896
- static readonly optionalRecursive: <const T extends System_Unsafe.ImplicitAllowedTypesUnsafe, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldPropsAlpha<TCustomMetadata>, "defaultProvider"> | undefined) => FieldSchemaAlphaUnsafe<FieldKind.Optional, T, TCustomMetadata, FieldPropsAlpha<TCustomMetadata>>;
1897
- readonly optionalRecursive: <const T extends System_Unsafe.ImplicitAllowedTypesUnsafe, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldPropsAlpha<TCustomMetadata>, "defaultProvider"> | undefined) => FieldSchemaAlphaUnsafe<FieldKind.Optional, T, TCustomMetadata, FieldPropsAlpha<TCustomMetadata>>;
1892
+ static readonly optional: <const T extends ImplicitAllowedTypes, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldPropsAlpha<TCustomMetadata>, "defaultProvider">) => FieldSchemaAlpha<FieldKind.Optional, T, TCustomMetadata, FieldPropsAlpha<TCustomMetadata>>;
1893
+ readonly optional: <const T extends ImplicitAllowedTypes, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldPropsAlpha<TCustomMetadata>, "defaultProvider">) => FieldSchemaAlpha<FieldKind.Optional, T, TCustomMetadata, FieldPropsAlpha<TCustomMetadata>>;
1894
+ static readonly optionalRecursive: <const T extends System_Unsafe.ImplicitAllowedTypesUnsafe, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldPropsAlpha<TCustomMetadata>, "defaultProvider">) => FieldSchemaAlphaUnsafe<FieldKind.Optional, T, TCustomMetadata, FieldPropsAlpha<TCustomMetadata>>;
1895
+ readonly optionalRecursive: <const T extends System_Unsafe.ImplicitAllowedTypesUnsafe, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldPropsAlpha<TCustomMetadata>, "defaultProvider">) => FieldSchemaAlphaUnsafe<FieldKind.Optional, T, TCustomMetadata, FieldPropsAlpha<TCustomMetadata>>;
1898
1896
  recordAlpha<const Name extends TName, const T extends ImplicitAllowedTypes, const TCustomMetadata = unknown>(name: Name, allowedTypes: T, options?: NodeSchemaOptionsAlpha<TCustomMetadata>): RecordNodeCustomizableSchema<ScopedSchemaName<TScope, Name>, T, true, TCustomMetadata>;
1899
- recordRecursive<Name extends TName, const T extends System_Unsafe.ImplicitAllowedTypesUnsafe, const TCustomMetadata = unknown>(name: Name, allowedTypes: T, options?: NodeSchemaOptionsAlpha<TCustomMetadata>): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Record, TreeRecordNodeUnsafe<T> & WithType<ScopedSchemaName<TScope, Name>, NodeKind.Record, unknown>, {
1900
- readonly [x: string]: System_Unsafe.InsertableTreeNodeFromImplicitAllowedTypesUnsafe<T>;
1901
- }, false, T, undefined, TCustomMetadata>;
1902
- static readonly required: <const T extends ImplicitAllowedTypes, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldPropsAlpha<TCustomMetadata>, "defaultProvider"> | undefined) => FieldSchemaAlpha<FieldKind.Required, T, TCustomMetadata, FieldPropsAlpha<TCustomMetadata>>;
1903
- readonly required: <const T extends ImplicitAllowedTypes, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldPropsAlpha<TCustomMetadata>, "defaultProvider"> | undefined) => FieldSchemaAlpha<FieldKind.Required, T, TCustomMetadata, FieldPropsAlpha<TCustomMetadata>>;
1904
- static readonly requiredRecursive: <const T extends System_Unsafe.ImplicitAllowedTypesUnsafe, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldPropsAlpha<TCustomMetadata>, "defaultProvider"> | undefined) => FieldSchemaAlphaUnsafe<FieldKind.Required, T, TCustomMetadata, FieldPropsAlpha<TCustomMetadata>>;
1905
- readonly requiredRecursive: <const T extends System_Unsafe.ImplicitAllowedTypesUnsafe, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldPropsAlpha<TCustomMetadata>, "defaultProvider"> | undefined) => FieldSchemaAlphaUnsafe<FieldKind.Required, T, TCustomMetadata, FieldPropsAlpha<TCustomMetadata>>;
1897
+ recordRecursive<Name extends TName, const T extends System_Unsafe.ImplicitAllowedTypesUnsafe, const TCustomMetadata = unknown>(name: Name, allowedTypes: T, options?: NodeSchemaOptionsAlpha<TCustomMetadata>): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Record, TreeRecordNodeUnsafe<T> & WithType<ScopedSchemaName<TScope, Name>, NodeKind.Record>, { readonly [P in string]: System_Unsafe.InsertableTreeNodeFromImplicitAllowedTypesUnsafe<T>; }, false, T, undefined, TCustomMetadata>;
1898
+ static readonly required: <const T extends ImplicitAllowedTypes, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldPropsAlpha<TCustomMetadata>, "defaultProvider">) => FieldSchemaAlpha<FieldKind.Required, T, TCustomMetadata, FieldPropsAlpha<TCustomMetadata>>;
1899
+ readonly required: <const T extends ImplicitAllowedTypes, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldPropsAlpha<TCustomMetadata>, "defaultProvider">) => FieldSchemaAlpha<FieldKind.Required, T, TCustomMetadata, FieldPropsAlpha<TCustomMetadata>>;
1900
+ static readonly requiredRecursive: <const T extends System_Unsafe.ImplicitAllowedTypesUnsafe, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldPropsAlpha<TCustomMetadata>, "defaultProvider">) => FieldSchemaAlphaUnsafe<FieldKind.Required, T, TCustomMetadata, FieldPropsAlpha<TCustomMetadata>>;
1901
+ readonly requiredRecursive: <const T extends System_Unsafe.ImplicitAllowedTypesUnsafe, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldPropsAlpha<TCustomMetadata>, "defaultProvider">) => FieldSchemaAlphaUnsafe<FieldKind.Required, T, TCustomMetadata, FieldPropsAlpha<TCustomMetadata>>;
1906
1902
  scopedFactoryAlpha<const T extends TName, TNameInner extends number | string = string>(name: T): SchemaFactoryAlpha<ScopedSchemaName<TScope, T>, TNameInner>;
1907
- readonly stagedOptional: <const T extends ImplicitAllowedTypes, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldPropsAlpha<TCustomMetadata>, "stagedOptionalUpgrade" | "defaultProvider"> | undefined) => FieldSchemaAlpha<FieldKind.Optional, T, TCustomMetadata, FieldPropsAlpha<TCustomMetadata>>;
1908
- static readonly stagedOptional: <const T extends ImplicitAllowedTypes, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldPropsAlpha<TCustomMetadata>, "stagedOptionalUpgrade" | "defaultProvider"> | undefined) => FieldSchemaAlpha<FieldKind.Optional, T, TCustomMetadata, FieldPropsAlpha<TCustomMetadata>>;
1909
- readonly stagedOptionalRecursive: <const T extends System_Unsafe.ImplicitAllowedTypesUnsafe, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldPropsAlpha<TCustomMetadata>, "stagedOptionalUpgrade" | "defaultProvider"> | undefined) => FieldSchemaAlphaUnsafe<FieldKind.Optional, T, TCustomMetadata, FieldPropsAlpha<TCustomMetadata>>;
1910
- static readonly stagedOptionalRecursive: <const T extends System_Unsafe.ImplicitAllowedTypesUnsafe, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldPropsAlpha<TCustomMetadata>, "stagedOptionalUpgrade" | "defaultProvider"> | undefined) => FieldSchemaAlphaUnsafe<FieldKind.Optional, T, TCustomMetadata, FieldPropsAlpha<TCustomMetadata>>;
1911
- readonly withDefault: <Kind extends FieldKind, Types extends ImplicitAllowedTypes, TCustomMetadata = unknown>(fieldSchema: FieldSchema<Kind, Types, TCustomMetadata>, defaultValue: NodeProvider<ApplyKindInput<InsertableTreeNodeFromImplicitAllowedTypes<Types>, Kind, true>>) => FieldSchemaAlpha<Kind, Types, TCustomMetadata, FieldPropsAlpha<TCustomMetadata> & {
1903
+ readonly stagedOptional: <const T extends ImplicitAllowedTypes, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldPropsAlpha<TCustomMetadata>, "defaultProvider" | "stagedOptionalUpgrade">) => FieldSchemaAlpha<FieldKind.Optional, T, TCustomMetadata, FieldPropsAlpha<TCustomMetadata>>;
1904
+ static readonly stagedOptional: <const T extends ImplicitAllowedTypes, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldPropsAlpha<TCustomMetadata>, "defaultProvider" | "stagedOptionalUpgrade">) => FieldSchemaAlpha<FieldKind.Optional, T, TCustomMetadata, FieldPropsAlpha<TCustomMetadata>>;
1905
+ readonly stagedOptionalRecursive: <const T extends System_Unsafe.ImplicitAllowedTypesUnsafe, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldPropsAlpha<TCustomMetadata>, "defaultProvider" | "stagedOptionalUpgrade">) => FieldSchemaAlphaUnsafe<FieldKind.Optional, T, TCustomMetadata, FieldPropsAlpha<TCustomMetadata>>;
1906
+ static readonly stagedOptionalRecursive: <const T extends System_Unsafe.ImplicitAllowedTypesUnsafe, const TCustomMetadata = unknown>(t: T, props?: Omit<FieldPropsAlpha<TCustomMetadata>, "defaultProvider" | "stagedOptionalUpgrade">) => FieldSchemaAlphaUnsafe<FieldKind.Optional, T, TCustomMetadata, FieldPropsAlpha<TCustomMetadata>>;
1907
+ readonly withDefault: <Kind extends FieldKind, Types extends ImplicitAllowedTypes, TCustomMetadata = unknown>(fieldSchema: FieldSchema<Kind, Types, TCustomMetadata>, defaultValue: NodeProvider<InsertableTreeFieldFromImplicitField<FieldSchema<Kind, Types>>>) => FieldSchemaAlpha<Kind, Types, TCustomMetadata, FieldPropsAlpha<TCustomMetadata> & {
1912
1908
  defaultProvider: DefaultProvider;
1913
1909
  }>;
1914
- static readonly withDefault: <Kind extends FieldKind, Types extends ImplicitAllowedTypes, TCustomMetadata = unknown>(fieldSchema: FieldSchema<Kind, Types, TCustomMetadata>, defaultValue: NodeProvider<ApplyKindInput<InsertableTreeNodeFromImplicitAllowedTypes<Types>, Kind, true>>) => FieldSchemaAlpha<Kind, Types, TCustomMetadata, FieldPropsAlpha<TCustomMetadata> & {
1910
+ static readonly withDefault: <Kind extends FieldKind, Types extends ImplicitAllowedTypes, TCustomMetadata = unknown>(fieldSchema: FieldSchema<Kind, Types, TCustomMetadata>, defaultValue: NodeProvider<InsertableTreeFieldFromImplicitField<FieldSchema<Kind, Types>>>) => FieldSchemaAlpha<Kind, Types, TCustomMetadata, FieldPropsAlpha<TCustomMetadata> & {
1915
1911
  defaultProvider: DefaultProvider;
1916
1912
  }>;
1917
- readonly withDefaultRecursive: <Kind extends FieldKind, Types extends System_Unsafe.ImplicitAllowedTypesUnsafe, TCustomMetadata = unknown>(fieldSchema: System_Unsafe.FieldSchemaUnsafe<Kind, Types, TCustomMetadata>, defaultValue: unknown) => FieldSchemaAlphaUnsafe<Kind, Types, TCustomMetadata, FieldPropsAlpha<TCustomMetadata> & {
1913
+ readonly withDefaultRecursive: <Kind extends FieldKind, Types extends System_Unsafe.ImplicitAllowedTypesUnsafe, TCustomMetadata = unknown>(fieldSchema: System_Unsafe.FieldSchemaUnsafe<Kind, Types, TCustomMetadata>, defaultValue: Unenforced<NodeProvider<System_Unsafe.InsertableTreeFieldFromImplicitFieldUnsafe<System_Unsafe.FieldSchemaUnsafe<Kind, Types>>>>) => FieldSchemaAlphaUnsafe<Kind, Types, TCustomMetadata, FieldPropsAlpha<TCustomMetadata> & {
1918
1914
  defaultProvider: DefaultProvider;
1919
1915
  }>;
1920
- static readonly withDefaultRecursive: <Kind extends FieldKind, Types extends System_Unsafe.ImplicitAllowedTypesUnsafe, TCustomMetadata = unknown>(fieldSchema: System_Unsafe.FieldSchemaUnsafe<Kind, Types, TCustomMetadata>, defaultValue: unknown) => FieldSchemaAlphaUnsafe<Kind, Types, TCustomMetadata, FieldPropsAlpha<TCustomMetadata> & {
1916
+ static readonly withDefaultRecursive: <Kind extends FieldKind, Types extends System_Unsafe.ImplicitAllowedTypesUnsafe, TCustomMetadata = unknown>(fieldSchema: System_Unsafe.FieldSchemaUnsafe<Kind, Types, TCustomMetadata>, defaultValue: Unenforced<NodeProvider<System_Unsafe.InsertableTreeFieldFromImplicitFieldUnsafe<System_Unsafe.FieldSchemaUnsafe<Kind, Types>>>>) => FieldSchemaAlphaUnsafe<Kind, Types, TCustomMetadata, FieldPropsAlpha<TCustomMetadata> & {
1921
1917
  defaultProvider: DefaultProvider;
1922
1918
  }>;
1923
1919
  }
@@ -1929,20 +1925,21 @@ export class SchemaFactoryBeta<out TScope extends string | undefined = string |
1929
1925
  objectRecursive<const Name extends TName, const T extends RestrictiveStringRecord<System_Unsafe.ImplicitFieldSchemaUnsafe>, const TCustomMetadata = unknown>(name: Name, t: T, options?: ObjectSchemaOptions<TCustomMetadata>): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Object, System_Unsafe.TreeObjectNodeUnsafe<T, ScopedSchemaName<TScope, Name>>, object & System_Unsafe.InsertableObjectFromSchemaRecordUnsafe<T>, false, T, never, TCustomMetadata>;
1930
1926
  record<const T extends TreeNodeSchema | readonly TreeNodeSchema[]>(allowedTypes: T): TreeNodeSchemaNonClass<ScopedSchemaName<TScope, `Record<${string}>`>, NodeKind.Record, TreeRecordNode<T> & WithType<ScopedSchemaName<TScope, `Record<${string}>`>, NodeKind.Record>, RecordNodeInsertableData<T>, true, T, undefined>;
1931
1927
  record<const Name extends TName, const T extends ImplicitAllowedTypes, const TCustomMetadata = unknown>(name: Name, allowedTypes: T, options?: NodeSchemaOptions<TCustomMetadata>): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Record, TreeRecordNode<T> & WithType<ScopedSchemaName<TScope, Name>, NodeKind.Record>, RecordNodeInsertableData<T>, true, T, undefined, TCustomMetadata>;
1932
- recordRecursive<Name extends TName, const T extends System_Unsafe.ImplicitAllowedTypesUnsafe, const TCustomMetadata = unknown>(name: Name, allowedTypes: T, options?: NodeSchemaOptions<TCustomMetadata>): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Record, TreeRecordNodeUnsafe<T> & WithType<ScopedSchemaName<TScope, Name>, NodeKind.Record, unknown>, {
1933
- readonly [x: string]: System_Unsafe.InsertableTreeNodeFromImplicitAllowedTypesUnsafe<T>;
1934
- }, false, T, undefined, TCustomMetadata>;
1928
+ recordRecursive<Name extends TName, const T extends System_Unsafe.ImplicitAllowedTypesUnsafe, const TCustomMetadata = unknown>(name: Name, allowedTypes: T, options?: NodeSchemaOptions<TCustomMetadata>): TreeNodeSchemaClass<ScopedSchemaName<TScope, Name>, NodeKind.Record, TreeRecordNodeUnsafe<T> & WithType<ScopedSchemaName<TScope, Name>, NodeKind.Record>, { readonly [P in string]: System_Unsafe.InsertableTreeNodeFromImplicitAllowedTypesUnsafe<T>; }, false, T, undefined, TCustomMetadata>;
1935
1929
  scopedFactory<const T extends TName, TNameInner extends number | string = string>(name: T): SchemaFactoryBeta<ScopedSchemaName<TScope, T>, TNameInner>;
1936
1930
  static staged: <const T extends LazyItem<TreeNodeSchema>>(t: T | AnnotatedAllowedType<T>) => AnnotatedAllowedType<T>;
1937
1931
  staged: <const T extends LazyItem<TreeNodeSchema>>(t: T | AnnotatedAllowedType<T>) => AnnotatedAllowedType<T>;
1938
- static stagedRecursive: <const T extends unknown>(t: T) => AnnotatedAllowedTypeUnsafe<UnannotateAllowedTypeUnsafe<T>>;
1939
- stagedRecursive: <const T extends unknown>(t: T) => AnnotatedAllowedTypeUnsafe<UnannotateAllowedTypeUnsafe<T>>;
1940
- static types: <const T extends readonly (LazyItem<TreeNodeSchema> | AnnotatedAllowedType<LazyItem<TreeNodeSchema>>)[]>(t: T, metadata?: AllowedTypesMetadata | undefined) => AllowedTypesFullFromMixed<T>;
1941
- types: <const T extends readonly (LazyItem<TreeNodeSchema> | AnnotatedAllowedType<LazyItem<TreeNodeSchema>>)[]>(t: T, metadata?: AllowedTypesMetadata | undefined) => AllowedTypesFullFromMixed<T>;
1942
- static typesRecursive: <const T extends readonly unknown[]>(t: T, metadata?: AllowedTypesMetadata | undefined) => AllowedTypesFullFromMixedUnsafe<T>;
1943
- typesRecursive: <const T extends readonly unknown[]>(t: T, metadata?: AllowedTypesMetadata | undefined) => AllowedTypesFullFromMixedUnsafe<T>;
1932
+ static stagedRecursive: <const T extends Unenforced<AnnotatedAllowedType | LazyItem<TreeNodeSchema>>>(t: T) => AnnotatedAllowedTypeUnsafe<UnannotateAllowedTypeUnsafe<T>>;
1933
+ stagedRecursive: <const T extends Unenforced<AnnotatedAllowedType | LazyItem<TreeNodeSchema>>>(t: T) => AnnotatedAllowedTypeUnsafe<UnannotateAllowedTypeUnsafe<T>>;
1934
+ static types: <const T extends readonly (AnnotatedAllowedType | LazyItem<TreeNodeSchema>)[]>(t: T, metadata?: AllowedTypesMetadata) => AllowedTypesFullFromMixed<T>;
1935
+ types: <const T extends readonly (AnnotatedAllowedType | LazyItem<TreeNodeSchema>)[]>(t: T, metadata?: AllowedTypesMetadata) => AllowedTypesFullFromMixed<T>;
1936
+ static typesRecursive: <const T extends readonly Unenforced<AnnotatedAllowedType | LazyItem<TreeNodeSchema>>[]>(t: T, metadata?: AllowedTypesMetadata) => AllowedTypesFullFromMixedUnsafe<T>;
1937
+ typesRecursive: <const T extends readonly Unenforced<AnnotatedAllowedType | LazyItem<TreeNodeSchema>>[]>(t: T, metadata?: AllowedTypesMetadata) => AllowedTypesFullFromMixedUnsafe<T>;
1944
1938
  }
1945
1939
 
1940
+ // @public @system
1941
+ const schemaIdentifierBrand: unique symbol;
1942
+
1946
1943
  // @public @sealed @system
1947
1944
  export interface SchemaStatics {
1948
1945
  readonly boolean: LeafSchema<"boolean", boolean>;
@@ -2166,6 +2163,10 @@ export interface SnapshotSchemaCompatibilityOptions {
2166
2163
  readonly rejectVersionsWithNoSchemaChange?: true;
2167
2164
  readonly schema: TreeViewConfiguration;
2168
2165
  readonly snapshotDirectory: string;
2166
+ readonly snapshotFileNameFormat?: {
2167
+ readonly prefix?: string;
2168
+ readonly suffix?: string;
2169
+ };
2169
2170
  readonly snapshotUnchangedVersions?: true;
2170
2171
  readonly version: string;
2171
2172
  readonly versionComparer?: (a: string, b: string) => number;
@@ -2204,7 +2205,7 @@ export namespace System_TableSchema {
2204
2205
  export function createColumnSchema<const TUserScope extends string, const TCellSchema extends ImplicitAllowedTypes, const TPropsSchema extends ImplicitFieldSchema>(inputSchemaFactory: SchemaFactoryBeta<TUserScope>, propsSchema: TPropsSchema): TreeNodeSchemaClass<ScopedSchemaName<`com.fluidframework.tableV2<${TUserScope}>`, "Column">, NodeKind.Object, TreeNode & TableSchema.Column<TCellSchema, TPropsSchema> & WithType<ScopedSchemaName<`com.fluidframework.tableV2<${TUserScope}>`, "Column">, NodeKind, unknown>, object & {
2205
2206
  readonly id?: string | undefined;
2206
2207
  } & (FieldHasDefault<TPropsSchema> extends true ? {
2207
- props?: InsertableTreeFieldFromImplicitField<TPropsSchema> | undefined;
2208
+ props?: InsertableTreeFieldFromImplicitField<TPropsSchema>;
2208
2209
  } : {
2209
2210
  props: InsertableTreeFieldFromImplicitField<TPropsSchema>;
2210
2211
  }), true, {
@@ -2218,7 +2219,7 @@ export namespace System_TableSchema {
2218
2219
  readonly id?: string | undefined;
2219
2220
  readonly cells: (InsertableTypedNode<TreeNodeSchemaClass<ScopedSchemaName<`com.fluidframework.tableV2<${TUserScope}>`, "Row.cells">, NodeKind.Record, TreeRecordNode<TCellSchema> & WithType<ScopedSchemaName<`com.fluidframework.tableV2<${TUserScope}>`, "Row.cells">, NodeKind.Record, unknown>, RecordNodeInsertableData<TCellSchema>, true, TCellSchema, undefined, unknown>> | undefined) & InsertableTypedNode<TreeNodeSchemaClass<ScopedSchemaName<`com.fluidframework.tableV2<${TUserScope}>`, "Row.cells">, NodeKind.Record, TreeRecordNode<TCellSchema> & WithType<ScopedSchemaName<`com.fluidframework.tableV2<${TUserScope}>`, "Row.cells">, NodeKind.Record, unknown>, RecordNodeInsertableData<TCellSchema>, true, TCellSchema, undefined, unknown>>;
2220
2221
  } & (FieldHasDefault<TPropsSchema> extends true ? {
2221
- props?: InsertableTreeFieldFromImplicitField<TPropsSchema> | undefined;
2222
+ props?: InsertableTreeFieldFromImplicitField<TPropsSchema>;
2222
2223
  } : {
2223
2224
  props: InsertableTreeFieldFromImplicitField<TPropsSchema>;
2224
2225
  }), true, {
@@ -2299,18 +2300,20 @@ export namespace System_Unsafe {
2299
2300
  };
2300
2301
  // @sealed @system
2301
2302
  export interface ReadonlyMapInlined<K, T extends ImplicitAllowedTypesUnsafe> {
2302
- [Symbol.iterator](): IterableIterator<[K, TreeNodeFromImplicitAllowedTypesUnsafe<T>]>;
2303
- entries(): IterableIterator<[K, TreeNodeFromImplicitAllowedTypesUnsafe<T>]>;
2303
+ [Symbol.iterator](): FluidIterableIterator<[K, TreeNodeFromImplicitAllowedTypesUnsafe<T>]>;
2304
2304
  // (undocumented)
2305
- forEach(callbackfn: (value: TreeNodeFromImplicitAllowedTypesUnsafe<T>, key: K, map: ReadonlyMap<K, TreeNodeFromImplicitAllowedTypesUnsafe<T>>) => void, thisArg?: any): void;
2305
+ readonly [Symbol.toStringTag]: string;
2306
+ entries(): FluidIterableIterator<[K, TreeNodeFromImplicitAllowedTypesUnsafe<T>]>;
2307
+ // (undocumented)
2308
+ forEach(callbackfn: (value: TreeNodeFromImplicitAllowedTypesUnsafe<T>, key: K, map: FluidReadonlyMap<K, TreeNodeFromImplicitAllowedTypesUnsafe<T>>) => void, thisArg?: any): void;
2306
2309
  // (undocumented)
2307
2310
  get(key: K): TreeNodeFromImplicitAllowedTypesUnsafe<T> | undefined;
2308
2311
  // (undocumented)
2309
2312
  has(key: K): boolean;
2310
- keys(): IterableIterator<K>;
2313
+ keys(): FluidIterableIterator<K>;
2311
2314
  // (undocumented)
2312
2315
  readonly size: number;
2313
- values(): IterableIterator<TreeNodeFromImplicitAllowedTypesUnsafe<T>>;
2316
+ values(): FluidIterableIterator<TreeNodeFromImplicitAllowedTypesUnsafe<T>>;
2314
2317
  }
2315
2318
  // @sealed @system
2316
2319
  export interface TreeArrayNodeUnsafe<TAllowedTypes extends ImplicitAllowedTypesUnsafe> extends TreeArrayNode<TAllowedTypes, TreeNodeFromImplicitAllowedTypesUnsafe<TAllowedTypes>, InsertableTreeNodeFromImplicitAllowedTypesUnsafe<TAllowedTypes>> {
@@ -2357,16 +2360,6 @@ export namespace TableSchema {
2357
2360
  export function column<const TUserScope extends string, const TCell extends ImplicitAllowedTypes, const TProps extends ImplicitFieldSchema>(params: System_TableSchema.CreateColumnOptionsBase<TUserScope, SchemaFactoryBeta<TUserScope>, TCell> & {
2358
2361
  readonly props: TProps;
2359
2362
  }): System_TableSchema.ColumnSchemaBase<TUserScope, TCell, TProps>;
2360
- // @deprecated @input
2361
- export interface InsertColumnsParameters<TColumn extends ImplicitAllowedTypes> {
2362
- readonly columns: InsertableTreeNodeFromImplicitAllowedTypes<TColumn>[];
2363
- readonly index?: number | undefined;
2364
- }
2365
- // @deprecated @input
2366
- export interface InsertRowsParameters<TRow extends ImplicitAllowedTypes> {
2367
- readonly index?: number | undefined;
2368
- readonly rows: InsertableTreeNodeFromImplicitAllowedTypes<TRow>[];
2369
- }
2370
2363
  // @sealed
2371
2364
  export interface Row<TCell extends ImplicitAllowedTypes, TProps extends ImplicitFieldSchema = ImplicitFieldSchema> {
2372
2365
  readonly id: string;
@@ -2377,11 +2370,6 @@ export namespace TableSchema {
2377
2370
  export function row<const TUserScope extends string, const TCell extends ImplicitAllowedTypes, const TProps extends ImplicitFieldSchema>(params: System_TableSchema.CreateRowOptionsBase<TUserScope, SchemaFactoryBeta<TUserScope>, TCell> & {
2378
2371
  readonly props: TProps;
2379
2372
  }): System_TableSchema.RowSchemaBase<TUserScope, TCell, TProps>;
2380
- // @deprecated @input
2381
- export interface SetCellParameters<TCell extends ImplicitAllowedTypes, TColumn extends ImplicitAllowedTypes, TRow extends ImplicitAllowedTypes> {
2382
- readonly cell: InsertableTreeNodeFromImplicitAllowedTypes<TCell>;
2383
- readonly key: CellKey<TColumn, TRow>;
2384
- }
2385
2373
  // @sealed
2386
2374
  export interface Table<TUserScope extends string, TCell extends ImplicitAllowedTypes, TColumn extends System_TableSchema.ColumnSchemaBase<TUserScope, TCell>, TRow extends System_TableSchema.RowSchemaBase<TUserScope, TCell>> {
2387
2375
  readonly columns: System_TableSchema.RearrangeableList<TColumn>;
@@ -2391,14 +2379,8 @@ export namespace TableSchema {
2391
2379
  getRow(id: string): TreeNodeFromImplicitAllowedTypes<TRow> | undefined;
2392
2380
  getRow(index: number): TreeNodeFromImplicitAllowedTypes<TRow> | undefined;
2393
2381
  insertColumns(columns: readonly InsertableTreeNodeFromImplicitAllowedTypes<TColumn>[], index?: number): TreeNodeFromImplicitAllowedTypes<TColumn>[];
2394
- // @deprecated
2395
- insertColumns(params: InsertColumnsParameters<TColumn>): TreeNodeFromImplicitAllowedTypes<TColumn>[];
2396
2382
  insertRows(rows: readonly InsertableTreeNodeFromImplicitAllowedTypes<TRow>[], index?: number): TreeNodeFromImplicitAllowedTypes<TRow>[];
2397
- // @deprecated
2398
- insertRows(params: InsertRowsParameters<TRow>): TreeNodeFromImplicitAllowedTypes<TRow>[];
2399
2383
  removeCell(row: string | number | TreeNodeFromImplicitAllowedTypes<TRow>, column: string | number | TreeNodeFromImplicitAllowedTypes<TColumn>): TreeNodeFromImplicitAllowedTypes<TCell> | undefined;
2400
- // @deprecated
2401
- removeCell(key: CellKey<TColumn, TRow>): TreeNodeFromImplicitAllowedTypes<TCell> | undefined;
2402
2384
  removeColumns(index?: number | undefined, count?: number | undefined): TreeNodeFromImplicitAllowedTypes<TColumn>[];
2403
2385
  removeColumns(columns: readonly TreeNodeFromImplicitAllowedTypes<TColumn>[]): TreeNodeFromImplicitAllowedTypes<TColumn>[];
2404
2386
  removeColumns(columns: readonly string[]): TreeNodeFromImplicitAllowedTypes<TColumn>[];
@@ -2407,8 +2389,6 @@ export namespace TableSchema {
2407
2389
  removeRows(rows: readonly string[]): TreeNodeFromImplicitAllowedTypes<TRow>[];
2408
2390
  readonly rows: System_TableSchema.RearrangeableList<TRow>;
2409
2391
  setCell(row: string | number | TreeNodeFromImplicitAllowedTypes<TRow>, column: string | number | TreeNodeFromImplicitAllowedTypes<TColumn>, cell: InsertableTreeNodeFromImplicitAllowedTypes<TCell>): void;
2410
- // @deprecated
2411
- setCell(params: SetCellParameters<TCell, TColumn, TRow>): void;
2412
2392
  }
2413
2393
  export function table<const TUserScope extends string, const TCell extends ImplicitAllowedTypes>(params: System_TableSchema.TableFactoryOptionsBase<TUserScope, SchemaFactoryBeta<TUserScope>, TCell>): System_TableSchema.TableSchemaBase<TUserScope, TCell, System_TableSchema.ColumnSchemaBase<TUserScope, TCell, System_TableSchema.DefaultPropsType>, System_TableSchema.RowSchemaBase<TUserScope, TCell, System_TableSchema.DefaultPropsType>>;
2414
2394
  export function table<const TUserScope extends string, const TCell extends ImplicitAllowedTypes, const TColumn extends System_TableSchema.ColumnSchemaBase<TUserScope, TCell>>(params: System_TableSchema.TableFactoryOptionsBase<TUserScope, SchemaFactoryBeta<TUserScope>, TCell> & {
@@ -2516,7 +2496,8 @@ export interface TreeAlpha {
2516
2496
  importConcise<const TSchema extends ImplicitFieldSchema | UnsafeUnknownSchema>(schema: UnsafeUnknownSchema extends TSchema ? ImplicitFieldSchema : TSchema & ImplicitFieldSchema, data: ConciseTree | undefined): Unhydrated<TSchema extends ImplicitFieldSchema ? TreeFieldFromImplicitField<TSchema> : TreeNode | TreeLeafValue | undefined>;
2517
2497
  importVerbose<const TSchema extends ImplicitFieldSchema>(schema: TSchema, data: VerboseTree | undefined, options?: TreeParsingOptions): Unhydrated<TreeFieldFromImplicitField<TSchema>>;
2518
2498
  key2(node: TreeNode): string | number | undefined;
2519
- on<K extends keyof TreeChangeEventsAlpha<TNode>, TNode extends TreeNode>(node: TNode, eventName: K, listener: NoInfer<TreeChangeEventsAlpha<TNode>[K]>): () => void;
2499
+ // @deprecated
2500
+ on<K extends keyof TreeChangeEventsBeta<TNode>, TNode extends TreeNode>(node: TNode, eventName: K, listener: NoInfer<TreeChangeEventsBeta<TNode>[K]>): () => void;
2520
2501
  tagContentSchema<TSchema extends TreeNodeSchema, TContent extends InsertableField<TSchema>>(schema: TSchema, content: TContent): TContent;
2521
2502
  trackObservations<TResult>(onInvalidation: () => void, trackDuring: () => TResult): ObservationResults<TResult>;
2522
2503
  trackObservationsOnce<TResult>(onInvalidation: () => void, trackDuring: () => TResult): ObservationResults<TResult>;
@@ -2545,7 +2526,7 @@ export interface TreeArrayNode<TAllowedTypes extends System_Unsafe.ImplicitAllow
2545
2526
  push(...value: readonly (TNew | IterableTreeArrayContent<TNew>)[]): void;
2546
2527
  removeAt(index: number): void;
2547
2528
  removeRange(start?: number, end?: number): void;
2548
- values(): IterableIterator<T>;
2529
+ values(): FluidIterableIterator<T>;
2549
2530
  }
2550
2531
 
2551
2532
  // @public
@@ -2568,6 +2549,7 @@ export interface TreeArrayNodeAlpha<TAllowedTypes extends System_Unsafe.Implicit
2568
2549
  // @beta @sealed
2569
2550
  export interface TreeBeta {
2570
2551
  clone<const TSchema extends ImplicitFieldSchema>(node: TreeFieldFromImplicitField<TSchema>): TreeFieldFromImplicitField<TSchema>;
2552
+ context(node: TreeNode): TreeContextBeta;
2571
2553
  create<const TSchema extends ImplicitFieldSchema>(schema: TSchema, data: InsertableTreeFieldFromImplicitField<TSchema>): Unhydrated<TreeFieldFromImplicitField<TSchema>>;
2572
2554
  exportConcise(node: TreeNode | TreeLeafValue, options?: TreeEncodingOptions): ConciseTree;
2573
2555
  exportConcise(node: TreeNode | TreeLeafValue | undefined, options?: TreeEncodingOptions): ConciseTree | undefined;
@@ -2606,18 +2588,13 @@ export interface TreeBranchHistory {
2606
2588
  // @public @sealed
2607
2589
  export interface TreeChangeEvents {
2608
2590
  nodeChanged(unstable?: unknown): void;
2609
- treeChanged(): void;
2610
- }
2611
-
2612
- // @alpha @sealed
2613
- export interface TreeChangeEventsAlpha<TNode extends TreeNode = TreeNode> extends TreeChangeEvents {
2614
- nodeChanged: (data: NodeChangedDataAlpha<TNode>) => void;
2615
- treeChanged: TNode extends WithType<string, NodeKind.Array> ? (data: NodeChangedDataTreeDelta) => void : TreeChangeEventsBeta<TNode>["treeChanged"];
2591
+ treeChanged(unstable?: unknown): void;
2616
2592
  }
2617
2593
 
2618
2594
  // @beta @sealed
2619
- export interface TreeChangeEventsBeta<TNode extends TreeNode = TreeNode> extends TreeChangeEvents {
2620
- nodeChanged: (data: NodeChangedData<TNode> & (TNode extends WithType<string, NodeKind.Map | NodeKind.Object | NodeKind.Record> ? Required<Pick<NodeChangedData<TNode>, "changedProperties">> : unknown)) => void;
2595
+ export interface TreeChangeEventsBeta<TNode extends TreeNode = TreeNode> extends Omit<TreeChangeEvents, "nodeChanged" | "treeChanged"> {
2596
+ nodeChanged: (data: TNode extends WithType<string, NodeKind.Array> ? NodeChangedDataDelta : TNode extends WithType<string, NodeKind.Map | NodeKind.Object | NodeKind.Record> ? NodeChangedDataProperties<TNode> : NodeChangedData<TNode>) => void;
2597
+ treeChanged: TNode extends WithType<string, NodeKind.Array> ? (data: NodeChangedDataTreeDelta) => void : TreeChangeEvents["treeChanged"];
2621
2598
  }
2622
2599
 
2623
2600
  // @alpha
@@ -2627,17 +2604,30 @@ export enum TreeCompressionStrategy {
2627
2604
  Uncompressed = 1
2628
2605
  }
2629
2606
 
2630
- // @alpha
2631
- export interface TreeContextAlpha {
2607
+ // @alpha @sealed
2608
+ export interface TreeContextAlpha extends TreeContextBeta {
2632
2609
  // @deprecated
2633
2610
  isBranch(): this is UntypedTreeViewAlpha;
2634
2611
  isView(): this is UntypedTreeViewAlpha;
2612
+ // (undocumented)
2635
2613
  runTransaction<TValue>(transaction: () => WithValue<TValue>, params?: RunTransactionParamsAlpha): TransactionValueResult<TValue, TValue>;
2614
+ // (undocumented)
2636
2615
  runTransaction(transaction: () => void, params?: RunTransactionParamsAlpha): TransactionVoidResult;
2616
+ // (undocumented)
2637
2617
  runTransactionAsync<TValue>(transaction: () => Promise<WithValue<TValue>>, params?: RunTransactionParamsAlpha): Promise<TransactionValueResult<TValue, TValue>>;
2618
+ // (undocumented)
2638
2619
  runTransactionAsync(transaction: () => Promise<void>, params?: RunTransactionParamsAlpha): Promise<TransactionVoidResult>;
2639
2620
  }
2640
2621
 
2622
+ // @beta @sealed
2623
+ export interface TreeContextBeta {
2624
+ isView(): this is UntypedTreeView;
2625
+ runTransaction<TValue>(transaction: () => WithValue<TValue>, params?: RunTransactionParamsBeta): TransactionValueResult<TValue, TValue>;
2626
+ runTransaction(transaction: () => void, params?: RunTransactionParamsBeta): TransactionVoidResult;
2627
+ runTransactionAsync<TValue>(transaction: () => Promise<WithValue<TValue>>, params?: RunTransactionParamsBeta): Promise<TransactionValueResult<TValue, TValue>>;
2628
+ runTransactionAsync(transaction: () => Promise<void>, params?: RunTransactionParamsBeta): Promise<TransactionVoidResult>;
2629
+ }
2630
+
2641
2631
  // @alpha @input
2642
2632
  export interface TreeDataStoreOptions<TSchema extends ImplicitFieldSchema> extends Pick<DataStoreOptions<never, never>, "type"> {
2643
2633
  readonly config: TreeViewConfiguration<TSchema>;
@@ -2679,13 +2669,13 @@ export type TreeIndexNodes<TNode> = readonly [first: TNode, ...rest: TNode[]];
2679
2669
  export type TreeLeafValue = number | string | boolean | IFluidHandle | null;
2680
2670
 
2681
2671
  // @public @sealed
2682
- export interface TreeMapNode<T extends ImplicitAllowedTypes = ImplicitAllowedTypes> extends ReadonlyMap<string, TreeNodeFromImplicitAllowedTypes<T>>, TreeNode {
2672
+ export interface TreeMapNode<T extends ImplicitAllowedTypes = ImplicitAllowedTypes> extends FluidReadonlyMap<string, TreeNodeFromImplicitAllowedTypes<T>>, TreeNode {
2683
2673
  delete(key: string): void;
2684
- entries(): IterableIterator<[string, TreeNodeFromImplicitAllowedTypes<T>]>;
2685
- forEach(callbackfn: (value: TreeNodeFromImplicitAllowedTypes<T>, key: string, map: ReadonlyMap<string, TreeNodeFromImplicitAllowedTypes<T>>) => void, thisArg?: any): void;
2686
- keys(): IterableIterator<string>;
2674
+ entries(): FluidIterableIterator<[string, TreeNodeFromImplicitAllowedTypes<T>]>;
2675
+ forEach(callbackfn: (value: TreeNodeFromImplicitAllowedTypes<T>, key: string, map: FluidReadonlyMap<string, TreeNodeFromImplicitAllowedTypes<T>>) => void, thisArg?: any): void;
2676
+ keys(): FluidIterableIterator<string>;
2687
2677
  set(key: string, value: InsertableTreeNodeFromImplicitAllowedTypes<T> | undefined): void;
2688
- values(): IterableIterator<TreeNodeFromImplicitAllowedTypes<T>>;
2678
+ values(): FluidIterableIterator<TreeNodeFromImplicitAllowedTypes<T>>;
2689
2679
  }
2690
2680
 
2691
2681
  // @alpha @sealed
@@ -2697,10 +2687,9 @@ export interface TreeMapNodeAlpha<T extends ImplicitAllowedTypes = ImplicitAllow
2697
2687
 
2698
2688
  // @public @sealed
2699
2689
  export abstract class TreeNode implements WithType {
2690
+ abstract get [schemaIdentifierBrand](): string;
2700
2691
  static [Symbol.hasInstance](value: unknown): value is TreeNode;
2701
2692
  static [Symbol.hasInstance]<TSchema extends abstract new (...args: any[]) => TreeNode>(this: TSchema, value: unknown): value is InstanceType<TSchema>;
2702
- // @deprecated
2703
- abstract get [typeNameSymbol](): string;
2704
2693
  abstract get [typeSchemaSymbol](): TreeNodeSchemaClass;
2705
2694
  protected constructor(token: unknown);
2706
2695
  }
@@ -2755,7 +2744,7 @@ export type TreeParsingOptions = TreeEncodingOptions<KeyEncodingOptions.usePrope
2755
2744
 
2756
2745
  // @beta
2757
2746
  export interface TreeRecordNode<TAllowedTypes extends ImplicitAllowedTypes = ImplicitAllowedTypes> extends TreeNode, Record<string, TreeNodeFromImplicitAllowedTypes<TAllowedTypes>> {
2758
- [Symbol.iterator](): IterableIterator<[
2747
+ [Symbol.iterator](): FluidIterableIterator<[
2759
2748
  string,
2760
2749
  TreeNodeFromImplicitAllowedTypes<TAllowedTypes>
2761
2750
  ]>;
@@ -2764,7 +2753,7 @@ export interface TreeRecordNode<TAllowedTypes extends ImplicitAllowedTypes = Imp
2764
2753
  // @beta @sealed @system
2765
2754
  export interface TreeRecordNodeUnsafe<TAllowedTypes extends System_Unsafe.ImplicitAllowedTypesUnsafe> extends Record<string, System_Unsafe.TreeNodeFromImplicitAllowedTypesUnsafe<TAllowedTypes>>, TreeNode {
2766
2755
  // (undocumented)
2767
- [Symbol.iterator](): IterableIterator<[
2756
+ [Symbol.iterator](): FluidIterableIterator<[
2768
2757
  string,
2769
2758
  System_Unsafe.TreeNodeFromImplicitAllowedTypesUnsafe<TAllowedTypes>
2770
2759
  ]>;
@@ -2801,7 +2790,7 @@ export interface TreeView<in out TSchema extends ImplicitFieldSchema> extends ID
2801
2790
  }
2802
2791
 
2803
2792
  // @alpha @sealed
2804
- export interface TreeViewAlpha<in out TSchema extends ImplicitFieldSchema | UnsafeUnknownSchema> extends Omit<TreeViewBeta<ReadSchema<TSchema>>, "root" | "initialize" | "fork" | "runTransaction" | "runTransactionAsync">, UntypedTreeViewAlpha {
2793
+ export interface TreeViewAlpha<in out TSchema extends ImplicitFieldSchema | UnsafeUnknownSchema> extends Omit<TreeViewBeta<ReadSchema<TSchema>>, "root" | "initialize" | "fork" | "runTransaction" | "runTransactionAsync" | "isView">, UntypedTreeViewAlpha {
2805
2794
  // (undocumented)
2806
2795
  readonly events: Listenable<TreeViewEvents & TreeBranchEvents>;
2807
2796
  // (undocumented)
@@ -2818,8 +2807,6 @@ export interface TreeViewBeta<in out TSchema extends ImplicitFieldSchema> extend
2818
2807
  readonly compatibility: SchemaCompatibilityStatusBeta;
2819
2808
  // (undocumented)
2820
2809
  fork(): ReturnType<UntypedTreeView["fork"]> & TreeViewBeta<TSchema>;
2821
- runTransaction<TOut extends TransactionCallbackStatusBeta<unknown, unknown> | VoidTransactionCallbackStatusBeta | void>(transaction: () => TOut, params?: RunTransactionParamsBeta): TOut extends TransactionCallbackStatusBeta<infer TSuccessValue, infer TFailureValue> ? TransactionValueResult<TSuccessValue, TFailureValue> : TransactionVoidResult;
2822
- runTransactionAsync<TOut extends TransactionCallbackStatusBeta<unknown, unknown> | VoidTransactionCallbackStatusBeta | void>(transaction: () => Promise<TOut>, params?: RunTransactionParamsBeta): Promise<TOut extends TransactionCallbackStatusBeta<infer TSuccessValue, infer TFailureValue> ? TransactionValueResult<TSuccessValue, TFailureValue> : TransactionVoidResult>;
2823
2810
  }
2824
2811
 
2825
2812
  // @public @sealed
@@ -2849,9 +2836,6 @@ export interface TreeViewEvents {
2849
2836
  schemaChanged(): void;
2850
2837
  }
2851
2838
 
2852
- // @public @deprecated @system
2853
- const typeNameSymbol: unique symbol;
2854
-
2855
2839
  // @public @system
2856
2840
  export const typeSchemaSymbol: unique symbol;
2857
2841
 
@@ -2889,15 +2873,25 @@ export const UnsafeUnknownSchema: unique symbol;
2889
2873
  export type UnsafeUnknownSchema = typeof UnsafeUnknownSchema;
2890
2874
 
2891
2875
  // @beta @sealed
2892
- export interface UntypedTreeView extends IDisposable {
2876
+ export interface UntypedTreeView extends IDisposable, TreeContextBeta {
2893
2877
  dispose(error?: Error): void;
2894
2878
  fork(): UntypedTreeView;
2895
2879
  merge(view: UntypedTreeView, disposeMerged?: boolean): void;
2896
2880
  rebaseOnto(view: UntypedTreeView): void;
2881
+ // (undocumented)
2882
+ runTransaction<TValue>(transaction: () => WithValue<TValue>, params?: RunTransactionParamsBeta): TransactionValueResult<TValue, TValue>;
2883
+ // (undocumented)
2884
+ runTransaction(transaction: () => void, params?: RunTransactionParamsBeta): TransactionVoidResult;
2885
+ runTransaction<TOut extends TransactionCallbackStatusBeta<unknown, unknown> | VoidTransactionCallbackStatusBeta | void>(transaction: () => TOut, params?: RunTransactionParamsBeta): TOut extends TransactionCallbackStatusBeta<infer TSuccessValue, infer TFailureValue> ? TransactionValueResult<TSuccessValue, TFailureValue> : TransactionVoidResult;
2886
+ // (undocumented)
2887
+ runTransactionAsync<TValue>(transaction: () => Promise<WithValue<TValue>>, params?: RunTransactionParamsBeta): Promise<TransactionValueResult<TValue, TValue>>;
2888
+ // (undocumented)
2889
+ runTransactionAsync(transaction: () => Promise<void>, params?: RunTransactionParamsBeta): Promise<TransactionVoidResult>;
2890
+ runTransactionAsync<TOut extends TransactionCallbackStatusBeta<unknown, unknown> | VoidTransactionCallbackStatusBeta | void>(transaction: () => Promise<TOut>, params?: RunTransactionParamsBeta): Promise<TOut extends TransactionCallbackStatusBeta<infer TSuccessValue, infer TFailureValue> ? TransactionValueResult<TSuccessValue, TFailureValue> : TransactionVoidResult>;
2897
2891
  }
2898
2892
 
2899
2893
  // @alpha @sealed
2900
- export interface UntypedTreeViewAlpha extends UntypedTreeView, TreeContextAlpha {
2894
+ export interface UntypedTreeViewAlpha extends Omit<UntypedTreeView, "runTransaction" | "runTransactionAsync" | "isView">, TreeContextAlpha {
2901
2895
  applyChange(change: JsonCompatibleReadOnly): void;
2902
2896
  readonly branchHistory: TreeBranchHistory;
2903
2897
  computeNetChangeIfRebasedOnto(view: UntypedTreeView): JsonCompatibleReadOnly | undefined;
@@ -2914,6 +2908,9 @@ export interface UntypedTreeViewAlpha extends UntypedTreeView, TreeContextAlpha
2914
2908
  runTransactionAsync(transaction: () => Promise<VoidTransactionCallbackStatusAlpha | void>, params?: RunTransactionParamsAlpha): Promise<TransactionVoidResult>;
2915
2909
  }
2916
2910
 
2911
+ // @alpha
2912
+ export function utf16LengthForCodePoints(value: string, start: number, count: number): number;
2913
+
2917
2914
  // @public
2918
2915
  export type ValidateRecursiveSchema<T extends ValidateRecursiveSchemaTemplate<T>> = true;
2919
2916
 
@@ -2979,8 +2976,7 @@ export type VoidTransactionCallbackStatusBeta = Omit<TransactionCallbackStatusBe
2979
2976
 
2980
2977
  // @public @sealed
2981
2978
  export interface WithType<out TName extends string = string, out TKind extends NodeKind = NodeKind, out TInfo = unknown> {
2982
- // @deprecated
2983
- get [typeNameSymbol](): TName;
2979
+ get [schemaIdentifierBrand](): TName;
2984
2980
  get [typeSchemaSymbol](): TreeNodeSchemaClass<TName, TKind, TreeNode, never, boolean, TInfo>;
2985
2981
  }
2986
2982