fluid-framework 2.0.0-dev-rc.5.0.0.267932 → 2.0.0-dev-rc.5.0.0.270401

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.
@@ -1,20 +1,11 @@
1
- ## API Report File for "fluid-framework"
1
+ ## Alpha API Report File for "fluid-framework"
2
2
 
3
3
  > Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).
4
4
 
5
5
  ```ts
6
6
 
7
7
  import { Client } from '@fluidframework/merge-tree/internal';
8
- import { ErasedType } from '@fluidframework/core-interfaces';
9
8
  import { IChannel } from '@fluidframework/datastore-definitions/internal';
10
- import type { IDisposable as IDisposable_2 } from '@fluidframework/core-interfaces';
11
- import type { IErrorBase } from '@fluidframework/core-interfaces';
12
- import { IErrorEvent } from '@fluidframework/core-interfaces';
13
- import { IEvent } from '@fluidframework/core-interfaces';
14
- import { IEventProvider } from '@fluidframework/core-interfaces';
15
- import { IEventThisPlaceHolder } from '@fluidframework/core-interfaces';
16
- import { IFluidHandle } from '@fluidframework/core-interfaces';
17
- import { IFluidLoadable } from '@fluidframework/core-interfaces';
18
9
  import { IGarbageCollectionData } from '@fluidframework/runtime-definitions/internal';
19
10
  import { IJSONSegment } from '@fluidframework/merge-tree/internal';
20
11
  import { IMergeTreeDeltaCallbackArgs } from '@fluidframework/merge-tree/internal';
@@ -105,8 +96,11 @@ export interface DefaultProvider extends ErasedType<"@fluidframework/tree.FieldP
105
96
  // @alpha (undocumented)
106
97
  export type DeserializeCallback = (properties: PropertySet) => void;
107
98
 
108
- // @public
109
- export const disposeSymbol: unique symbol;
99
+ // @public @sealed
100
+ export abstract class ErasedType<out Name = unknown> {
101
+ static [Symbol.hasInstance](value: never): value is never;
102
+ protected abstract brand(dummy: never): Name;
103
+ }
110
104
 
111
105
  // @public
112
106
  export type ExtractItemType<Item extends LazyItem> = Item extends () => infer Result ? Result : Item;
@@ -147,6 +141,14 @@ export type FlexList<Item = unknown> = readonly LazyItem<Item>[];
147
141
  export type FlexListToUnion<TList extends FlexList> = ExtractItemType<TList[number]>;
148
142
 
149
143
  // @public
144
+ export type FluidObject<T = unknown> = {
145
+ [P in FluidObjectProviderKeys<T>]?: T[P];
146
+ };
147
+
148
+ // @public
149
+ export type FluidObjectProviderKeys<T, TProp extends keyof T = keyof T> = string extends TProp ? never : number extends TProp ? never : TProp extends keyof Required<T>[TProp] ? Required<T>[TProp] extends Required<Required<T>[TProp]>[TProp] ? TProp : never : never;
150
+
151
+ // @alpha
150
152
  export interface IBranchOrigin {
151
153
  id: string;
152
154
  minimumSequenceNumber: number;
@@ -163,7 +165,7 @@ export interface IConnection {
163
165
  export type ICriticalContainerError = IErrorBase;
164
166
 
165
167
  // @alpha
166
- export interface IDirectory extends Map<string, any>, IEventProvider<IDirectoryEvents>, Partial<IDisposable_2> {
168
+ export interface IDirectory extends Map<string, any>, IEventProvider<IDirectoryEvents>, Partial<IDisposable> {
167
169
  readonly absolutePath: string;
168
170
  countSubDirectory?(): number;
169
171
  createSubDirectory(subdirName: string): IDirectory;
@@ -190,11 +192,198 @@ export interface IDirectoryValueChanged extends IValueChanged {
190
192
  path: string;
191
193
  }
192
194
 
193
- // @public
195
+ // @public @sealed
194
196
  export interface IDisposable {
195
- [disposeSymbol](): void;
197
+ dispose(error?: Error): void;
198
+ readonly disposed: boolean;
199
+ }
200
+
201
+ // @public
202
+ export interface IErrorBase extends Partial<Error> {
203
+ readonly errorType: string;
204
+ getTelemetryProperties?(): ITelemetryBaseProperties;
205
+ readonly message: string;
206
+ readonly name?: string;
207
+ readonly stack?: string;
208
+ }
209
+
210
+ // @public
211
+ export interface IErrorEvent extends IEvent {
212
+ // @eventProperty
213
+ (event: "error", listener: (message: any) => void): any;
214
+ }
215
+
216
+ // @public
217
+ export interface IEvent {
218
+ // @eventProperty
219
+ (event: string, listener: (...args: any[]) => void): any;
220
+ }
221
+
222
+ // @public
223
+ export interface IEventProvider<TEvent extends IEvent> {
224
+ readonly off: IEventTransformer<this, TEvent>;
225
+ readonly on: IEventTransformer<this, TEvent>;
226
+ readonly once: IEventTransformer<this, TEvent>;
196
227
  }
197
228
 
229
+ // @public
230
+ export type IEventThisPlaceHolder = {
231
+ thisPlaceHolder: "thisPlaceHolder";
232
+ };
233
+
234
+ // @public
235
+ export type IEventTransformer<TThis, TEvent extends IEvent> = TEvent extends {
236
+ (event: infer E0, listener: (...args: infer A0) => void): any;
237
+ (event: infer E1, listener: (...args: infer A1) => void): any;
238
+ (event: infer E2, listener: (...args: infer A2) => void): any;
239
+ (event: infer E3, listener: (...args: infer A3) => void): any;
240
+ (event: infer E4, listener: (...args: infer A4) => void): any;
241
+ (event: infer E5, listener: (...args: infer A5) => void): any;
242
+ (event: infer E6, listener: (...args: infer A6) => void): any;
243
+ (event: infer E7, listener: (...args: infer A7) => void): any;
244
+ (event: infer E8, listener: (...args: infer A8) => void): any;
245
+ (event: infer E9, listener: (...args: infer A9) => void): any;
246
+ (event: infer E10, listener: (...args: infer A10) => void): any;
247
+ (event: infer E11, listener: (...args: infer A11) => void): any;
248
+ (event: infer E12, listener: (...args: infer A12) => void): any;
249
+ (event: infer E13, listener: (...args: infer A13) => void): any;
250
+ (event: infer E14, listener: (...args: infer A14) => void): any;
251
+ (event: string, listener: (...args: any[]) => void): any;
252
+ } ? TransformedEvent<TThis, E0, A0> & TransformedEvent<TThis, E1, A1> & TransformedEvent<TThis, E2, A2> & TransformedEvent<TThis, E3, A3> & TransformedEvent<TThis, E4, A4> & TransformedEvent<TThis, E5, A5> & TransformedEvent<TThis, E6, A6> & TransformedEvent<TThis, E7, A7> & TransformedEvent<TThis, E8, A8> & TransformedEvent<TThis, E9, A9> & TransformedEvent<TThis, E10, A10> & TransformedEvent<TThis, E11, A11> & TransformedEvent<TThis, E12, A12> & TransformedEvent<TThis, E13, A13> & TransformedEvent<TThis, E14, A14> : TEvent extends {
253
+ (event: infer E0, listener: (...args: infer A0) => void): any;
254
+ (event: infer E1, listener: (...args: infer A1) => void): any;
255
+ (event: infer E2, listener: (...args: infer A2) => void): any;
256
+ (event: infer E3, listener: (...args: infer A3) => void): any;
257
+ (event: infer E4, listener: (...args: infer A4) => void): any;
258
+ (event: infer E5, listener: (...args: infer A5) => void): any;
259
+ (event: infer E6, listener: (...args: infer A6) => void): any;
260
+ (event: infer E7, listener: (...args: infer A7) => void): any;
261
+ (event: infer E8, listener: (...args: infer A8) => void): any;
262
+ (event: infer E9, listener: (...args: infer A9) => void): any;
263
+ (event: infer E10, listener: (...args: infer A10) => void): any;
264
+ (event: infer E11, listener: (...args: infer A11) => void): any;
265
+ (event: infer E12, listener: (...args: infer A12) => void): any;
266
+ (event: infer E13, listener: (...args: infer A13) => void): any;
267
+ (event: string, listener: (...args: any[]) => void): any;
268
+ } ? TransformedEvent<TThis, E0, A0> & TransformedEvent<TThis, E1, A1> & TransformedEvent<TThis, E2, A2> & TransformedEvent<TThis, E3, A3> & TransformedEvent<TThis, E4, A4> & TransformedEvent<TThis, E5, A5> & TransformedEvent<TThis, E6, A6> & TransformedEvent<TThis, E7, A7> & TransformedEvent<TThis, E8, A8> & TransformedEvent<TThis, E9, A9> & TransformedEvent<TThis, E10, A10> & TransformedEvent<TThis, E11, A11> & TransformedEvent<TThis, E12, A12> & TransformedEvent<TThis, E13, A13> : TEvent extends {
269
+ (event: infer E0, listener: (...args: infer A0) => void): any;
270
+ (event: infer E1, listener: (...args: infer A1) => void): any;
271
+ (event: infer E2, listener: (...args: infer A2) => void): any;
272
+ (event: infer E3, listener: (...args: infer A3) => void): any;
273
+ (event: infer E4, listener: (...args: infer A4) => void): any;
274
+ (event: infer E5, listener: (...args: infer A5) => void): any;
275
+ (event: infer E6, listener: (...args: infer A6) => void): any;
276
+ (event: infer E7, listener: (...args: infer A7) => void): any;
277
+ (event: infer E8, listener: (...args: infer A8) => void): any;
278
+ (event: infer E9, listener: (...args: infer A9) => void): any;
279
+ (event: infer E10, listener: (...args: infer A10) => void): any;
280
+ (event: infer E11, listener: (...args: infer A11) => void): any;
281
+ (event: infer E12, listener: (...args: infer A12) => void): any;
282
+ (event: string, listener: (...args: any[]) => void): any;
283
+ } ? TransformedEvent<TThis, E0, A0> & TransformedEvent<TThis, E1, A1> & TransformedEvent<TThis, E2, A2> & TransformedEvent<TThis, E3, A3> & TransformedEvent<TThis, E4, A4> & TransformedEvent<TThis, E5, A5> & TransformedEvent<TThis, E6, A6> & TransformedEvent<TThis, E7, A7> & TransformedEvent<TThis, E8, A8> & TransformedEvent<TThis, E9, A9> & TransformedEvent<TThis, E10, A10> & TransformedEvent<TThis, E11, A11> & TransformedEvent<TThis, E12, A12> : TEvent extends {
284
+ (event: infer E0, listener: (...args: infer A0) => void): any;
285
+ (event: infer E1, listener: (...args: infer A1) => void): any;
286
+ (event: infer E2, listener: (...args: infer A2) => void): any;
287
+ (event: infer E3, listener: (...args: infer A3) => void): any;
288
+ (event: infer E4, listener: (...args: infer A4) => void): any;
289
+ (event: infer E5, listener: (...args: infer A5) => void): any;
290
+ (event: infer E6, listener: (...args: infer A6) => void): any;
291
+ (event: infer E7, listener: (...args: infer A7) => void): any;
292
+ (event: infer E8, listener: (...args: infer A8) => void): any;
293
+ (event: infer E9, listener: (...args: infer A9) => void): any;
294
+ (event: infer E10, listener: (...args: infer A10) => void): any;
295
+ (event: infer E11, listener: (...args: infer A11) => void): any;
296
+ (event: string, listener: (...args: any[]) => void): any;
297
+ } ? TransformedEvent<TThis, E0, A0> & TransformedEvent<TThis, E1, A1> & TransformedEvent<TThis, E2, A2> & TransformedEvent<TThis, E3, A3> & TransformedEvent<TThis, E4, A4> & TransformedEvent<TThis, E5, A5> & TransformedEvent<TThis, E6, A6> & TransformedEvent<TThis, E7, A7> & TransformedEvent<TThis, E8, A8> & TransformedEvent<TThis, E9, A9> & TransformedEvent<TThis, E10, A10> & TransformedEvent<TThis, E11, A11> : TEvent extends {
298
+ (event: infer E0, listener: (...args: infer A0) => void): any;
299
+ (event: infer E1, listener: (...args: infer A1) => void): any;
300
+ (event: infer E2, listener: (...args: infer A2) => void): any;
301
+ (event: infer E3, listener: (...args: infer A3) => void): any;
302
+ (event: infer E4, listener: (...args: infer A4) => void): any;
303
+ (event: infer E5, listener: (...args: infer A5) => void): any;
304
+ (event: infer E6, listener: (...args: infer A6) => void): any;
305
+ (event: infer E7, listener: (...args: infer A7) => void): any;
306
+ (event: infer E8, listener: (...args: infer A8) => void): any;
307
+ (event: infer E9, listener: (...args: infer A9) => void): any;
308
+ (event: infer E10, listener: (...args: infer A10) => void): any;
309
+ (event: string, listener: (...args: any[]) => void): any;
310
+ } ? TransformedEvent<TThis, E0, A0> & TransformedEvent<TThis, E1, A1> & TransformedEvent<TThis, E2, A2> & TransformedEvent<TThis, E3, A3> & TransformedEvent<TThis, E4, A4> & TransformedEvent<TThis, E5, A5> & TransformedEvent<TThis, E6, A6> & TransformedEvent<TThis, E7, A7> & TransformedEvent<TThis, E8, A8> & TransformedEvent<TThis, E9, A9> & TransformedEvent<TThis, E10, A10> : TEvent extends {
311
+ (event: infer E0, listener: (...args: infer A0) => void): any;
312
+ (event: infer E1, listener: (...args: infer A1) => void): any;
313
+ (event: infer E2, listener: (...args: infer A2) => void): any;
314
+ (event: infer E3, listener: (...args: infer A3) => void): any;
315
+ (event: infer E4, listener: (...args: infer A4) => void): any;
316
+ (event: infer E5, listener: (...args: infer A5) => void): any;
317
+ (event: infer E6, listener: (...args: infer A6) => void): any;
318
+ (event: infer E7, listener: (...args: infer A7) => void): any;
319
+ (event: infer E8, listener: (...args: infer A8) => void): any;
320
+ (event: infer E9, listener: (...args: infer A9) => void): any;
321
+ (event: string, listener: (...args: any[]) => void): any;
322
+ } ? TransformedEvent<TThis, E0, A0> & TransformedEvent<TThis, E1, A1> & TransformedEvent<TThis, E2, A2> & TransformedEvent<TThis, E3, A3> & TransformedEvent<TThis, E4, A4> & TransformedEvent<TThis, E5, A5> & TransformedEvent<TThis, E6, A6> & TransformedEvent<TThis, E7, A7> & TransformedEvent<TThis, E8, A8> & TransformedEvent<TThis, E9, A9> : TEvent extends {
323
+ (event: infer E0, listener: (...args: infer A0) => void): any;
324
+ (event: infer E1, listener: (...args: infer A1) => void): any;
325
+ (event: infer E2, listener: (...args: infer A2) => void): any;
326
+ (event: infer E3, listener: (...args: infer A3) => void): any;
327
+ (event: infer E4, listener: (...args: infer A4) => void): any;
328
+ (event: infer E5, listener: (...args: infer A5) => void): any;
329
+ (event: infer E6, listener: (...args: infer A6) => void): any;
330
+ (event: infer E7, listener: (...args: infer A7) => void): any;
331
+ (event: infer E8, listener: (...args: infer A8) => void): any;
332
+ (event: string, listener: (...args: any[]) => void): any;
333
+ } ? TransformedEvent<TThis, E0, A0> & TransformedEvent<TThis, E1, A1> & TransformedEvent<TThis, E2, A2> & TransformedEvent<TThis, E3, A3> & TransformedEvent<TThis, E4, A4> & TransformedEvent<TThis, E5, A5> & TransformedEvent<TThis, E6, A6> & TransformedEvent<TThis, E7, A7> & TransformedEvent<TThis, E8, A8> : TEvent extends {
334
+ (event: infer E0, listener: (...args: infer A0) => void): any;
335
+ (event: infer E1, listener: (...args: infer A1) => void): any;
336
+ (event: infer E2, listener: (...args: infer A2) => void): any;
337
+ (event: infer E3, listener: (...args: infer A3) => void): any;
338
+ (event: infer E4, listener: (...args: infer A4) => void): any;
339
+ (event: infer E5, listener: (...args: infer A5) => void): any;
340
+ (event: infer E6, listener: (...args: infer A6) => void): any;
341
+ (event: infer E7, listener: (...args: infer A7) => void): any;
342
+ (event: string, listener: (...args: any[]) => void): any;
343
+ } ? TransformedEvent<TThis, E0, A0> & TransformedEvent<TThis, E1, A1> & TransformedEvent<TThis, E2, A2> & TransformedEvent<TThis, E3, A3> & TransformedEvent<TThis, E4, A4> & TransformedEvent<TThis, E5, A5> & TransformedEvent<TThis, E6, A6> & TransformedEvent<TThis, E7, A7> : TEvent extends {
344
+ (event: infer E0, listener: (...args: infer A0) => void): any;
345
+ (event: infer E1, listener: (...args: infer A1) => void): any;
346
+ (event: infer E2, listener: (...args: infer A2) => void): any;
347
+ (event: infer E3, listener: (...args: infer A3) => void): any;
348
+ (event: infer E4, listener: (...args: infer A4) => void): any;
349
+ (event: infer E5, listener: (...args: infer A5) => void): any;
350
+ (event: infer E6, listener: (...args: infer A6) => void): any;
351
+ (event: string, listener: (...args: any[]) => void): any;
352
+ } ? TransformedEvent<TThis, E0, A0> & TransformedEvent<TThis, E1, A1> & TransformedEvent<TThis, E2, A2> & TransformedEvent<TThis, E3, A3> & TransformedEvent<TThis, E4, A4> & TransformedEvent<TThis, E5, A5> & TransformedEvent<TThis, E6, A6> : TEvent extends {
353
+ (event: infer E0, listener: (...args: infer A0) => void): any;
354
+ (event: infer E1, listener: (...args: infer A1) => void): any;
355
+ (event: infer E2, listener: (...args: infer A2) => void): any;
356
+ (event: infer E3, listener: (...args: infer A3) => void): any;
357
+ (event: infer E4, listener: (...args: infer A4) => void): any;
358
+ (event: infer E5, listener: (...args: infer A5) => void): any;
359
+ (event: string, listener: (...args: any[]) => void): any;
360
+ } ? TransformedEvent<TThis, E0, A0> & TransformedEvent<TThis, E1, A1> & TransformedEvent<TThis, E2, A2> & TransformedEvent<TThis, E3, A3> & TransformedEvent<TThis, E4, A4> & TransformedEvent<TThis, E5, A5> : TEvent extends {
361
+ (event: infer E0, listener: (...args: infer A0) => void): any;
362
+ (event: infer E1, listener: (...args: infer A1) => void): any;
363
+ (event: infer E2, listener: (...args: infer A2) => void): any;
364
+ (event: infer E3, listener: (...args: infer A3) => void): any;
365
+ (event: infer E4, listener: (...args: infer A4) => void): any;
366
+ (event: string, listener: (...args: any[]) => void): any;
367
+ } ? TransformedEvent<TThis, E0, A0> & TransformedEvent<TThis, E1, A1> & TransformedEvent<TThis, E2, A2> & TransformedEvent<TThis, E3, A3> & TransformedEvent<TThis, E4, A4> : TEvent extends {
368
+ (event: infer E0, listener: (...args: infer A0) => void): any;
369
+ (event: infer E1, listener: (...args: infer A1) => void): any;
370
+ (event: infer E2, listener: (...args: infer A2) => void): any;
371
+ (event: infer E3, listener: (...args: infer A3) => void): any;
372
+ (event: string, listener: (...args: any[]) => void): any;
373
+ } ? TransformedEvent<TThis, E0, A0> & TransformedEvent<TThis, E1, A1> & TransformedEvent<TThis, E2, A2> & TransformedEvent<TThis, E3, A3> : TEvent extends {
374
+ (event: infer E0, listener: (...args: infer A0) => void): any;
375
+ (event: infer E1, listener: (...args: infer A1) => void): any;
376
+ (event: infer E2, listener: (...args: infer A2) => void): any;
377
+ (event: string, listener: (...args: any[]) => void): any;
378
+ } ? TransformedEvent<TThis, E0, A0> & TransformedEvent<TThis, E1, A1> & TransformedEvent<TThis, E2, A2> : TEvent extends {
379
+ (event: infer E0, listener: (...args: infer A0) => void): any;
380
+ (event: infer E1, listener: (...args: infer A1) => void): any;
381
+ (event: string, listener: (...args: any[]) => void): any;
382
+ } ? TransformedEvent<TThis, E0, A0> & TransformedEvent<TThis, E1, A1> : TEvent extends {
383
+ (event: infer E0, listener: (...args: infer A0) => void): any;
384
+ (event: string, listener: (...args: any[]) => void): any;
385
+ } ? TransformedEvent<TThis, E0, A0> : TransformedEvent<TThis, string, any[]>;
386
+
198
387
  // @public @sealed
199
388
  export interface IFluidContainer<TContainerSchema extends ContainerSchema = ContainerSchema> extends IEventProvider<IFluidContainerEvents> {
200
389
  attach(props?: ContainerAttachProps): Promise<string>;
@@ -218,6 +407,29 @@ export interface IFluidContainerEvents extends IEvent {
218
407
  (event: "disposed", listener: (error?: ICriticalContainerError) => void): any;
219
408
  }
220
409
 
410
+ // @public (undocumented)
411
+ export const IFluidHandle = "IFluidHandle";
412
+
413
+ // @public
414
+ export interface IFluidHandle<out T = unknown> {
415
+ readonly [fluidHandleSymbol]: IFluidHandleErased<T>;
416
+ get(): Promise<T>;
417
+ readonly isAttached: boolean;
418
+ }
419
+
420
+ // @public
421
+ export interface IFluidHandleErased<T> extends ErasedType<readonly ["IFluidHandle", T]> {
422
+ }
423
+
424
+ // @public (undocumented)
425
+ export const IFluidLoadable: keyof IProvideFluidLoadable;
426
+
427
+ // @public
428
+ export interface IFluidLoadable extends IProvideFluidLoadable {
429
+ // (undocumented)
430
+ readonly handle: IFluidHandle;
431
+ }
432
+
221
433
  // @alpha
222
434
  export interface IInterval {
223
435
  // (undocumented)
@@ -363,11 +575,15 @@ export enum IntervalType {
363
575
  // (undocumented)
364
576
  Simple = 0,
365
577
  SlideOnRemove = 2,// SlideOnRemove is default behavior - all intervals are SlideOnRemove
366
- // @internal
367
- Transient = 4
368
578
  }
369
579
 
370
- // @public
580
+ // @public (undocumented)
581
+ export interface IProvideFluidLoadable {
582
+ // (undocumented)
583
+ readonly IFluidLoadable: IFluidLoadable;
584
+ }
585
+
586
+ // @alpha
371
587
  export interface ISequencedDocumentMessage {
372
588
  clientId: string | null;
373
589
  clientSequenceNumber: number;
@@ -553,12 +769,17 @@ export interface ISharedString extends ISharedSegmentSequence<SharedStringSegmen
553
769
  // @public
554
770
  export type IsListener<TListener> = TListener extends (...args: any[]) => void ? true : false;
555
771
 
772
+ // @public
773
+ export interface ITelemetryBaseProperties {
774
+ [index: string]: TelemetryBaseEventPropertyType | Tagged<TelemetryBaseEventPropertyType>;
775
+ }
776
+
556
777
  // @public
557
778
  export class IterableTreeArrayContent<T> implements Iterable<T> {
558
779
  [Symbol.iterator](): Iterator<T>;
559
780
  }
560
781
 
561
- // @public
782
+ // @alpha
562
783
  export interface ITrace {
563
784
  action: string;
564
785
  service: string;
@@ -621,9 +842,9 @@ export type NodeFromSchemaUnsafe<T extends Unenforced<TreeNodeSchema>> = T exten
621
842
  // @public
622
843
  export interface NodeInDocumentConstraint {
623
844
  // (undocumented)
624
- node: TreeNode;
845
+ readonly node: TreeNode;
625
846
  // (undocumented)
626
- type: "nodeInDocument";
847
+ readonly type: "nodeInDocument";
627
848
  }
628
849
 
629
850
  // @public
@@ -647,6 +868,11 @@ export type ObjectFromSchemaRecordUnsafe<T extends Unenforced<RestrictiveReadonl
647
868
  // @public
648
869
  export type Off = () => void;
649
870
 
871
+ // @public
872
+ export type ReplaceIEventThisPlaceHolder<L extends any[], TThis> = L extends any[] ? {
873
+ [K in keyof L]: L[K] extends IEventThisPlaceHolder ? TThis : L[K];
874
+ } : L;
875
+
650
876
  // @public
651
877
  export type RestrictiveReadonlyRecord<K extends symbol | string, T> = {
652
878
  readonly [P in symbol | string]: P extends K ? T : never;
@@ -654,7 +880,7 @@ export type RestrictiveReadonlyRecord<K extends symbol | string, T> = {
654
880
 
655
881
  // @public
656
882
  export interface Revertible {
657
- [disposeSymbol](): void;
883
+ dispose(): void;
658
884
  revert(): void;
659
885
  revert(dispose: boolean): void;
660
886
  readonly status: RevertibleStatus;
@@ -680,12 +906,12 @@ export interface RunTransaction {
680
906
  <TView extends TreeView<ImplicitFieldSchema>, TResult>(tree: TView, transaction: (root: TView["root"]) => TResult | typeof rollback): TResult | typeof rollback;
681
907
  <TNode extends TreeNode>(node: TNode, transaction: (node: TNode) => void): void;
682
908
  <TView extends TreeView<ImplicitFieldSchema>>(tree: TView, transaction: (root: TView["root"]) => void): void;
683
- <TNode extends TreeNode, TResult>(node: TNode, transaction: (node: TNode) => TResult, preconditions?: TransactionConstraint[]): TResult;
684
- <TView extends TreeView<ImplicitFieldSchema>, TResult>(tree: TView, transaction: (root: TView["root"]) => TResult, preconditions?: TransactionConstraint[]): TResult;
685
- <TNode extends TreeNode, TResult>(node: TNode, transaction: (node: TNode) => TResult | typeof rollback, preconditions?: TransactionConstraint[]): TResult | typeof rollback;
686
- <TView extends TreeView<ImplicitFieldSchema>, TResult>(tree: TView, transaction: (root: TView["root"]) => TResult | typeof rollback, preconditions?: TransactionConstraint[]): TResult | typeof rollback;
687
- <TNode extends TreeNode>(node: TNode, transaction: (node: TNode) => void, preconditions?: TransactionConstraint[]): void;
688
- <TView extends TreeView<ImplicitFieldSchema>>(tree: TView, transaction: (root: TView["root"]) => void, preconditions?: TransactionConstraint[]): void;
909
+ <TNode extends TreeNode, TResult>(node: TNode, transaction: (node: TNode) => TResult, preconditions?: readonly TransactionConstraint[]): TResult;
910
+ <TView extends TreeView<ImplicitFieldSchema>, TResult>(tree: TView, transaction: (root: TView["root"]) => TResult, preconditions?: readonly TransactionConstraint[]): TResult;
911
+ <TNode extends TreeNode, TResult>(node: TNode, transaction: (node: TNode) => TResult | typeof rollback, preconditions?: readonly TransactionConstraint[]): TResult | typeof rollback;
912
+ <TView extends TreeView<ImplicitFieldSchema>, TResult>(tree: TView, transaction: (root: TView["root"]) => TResult | typeof rollback, preconditions?: readonly TransactionConstraint[]): TResult | typeof rollback;
913
+ <TNode extends TreeNode>(node: TNode, transaction: (node: TNode) => void, preconditions?: readonly TransactionConstraint[]): void;
914
+ <TView extends TreeView<ImplicitFieldSchema>>(tree: TView, transaction: (root: TView["root"]) => void, preconditions?: readonly TransactionConstraint[]): void;
689
915
  readonly rollback: typeof rollback;
690
916
  }
691
917
 
@@ -834,9 +1060,23 @@ export enum Side {
834
1060
  Before = 0
835
1061
  }
836
1062
 
1063
+ // @public
1064
+ export interface Tagged<V, T extends string = string> {
1065
+ // (undocumented)
1066
+ tag: T;
1067
+ // (undocumented)
1068
+ value: V;
1069
+ }
1070
+
1071
+ // @public
1072
+ export type TelemetryBaseEventPropertyType = string | number | boolean | undefined;
1073
+
837
1074
  // @public
838
1075
  export type TransactionConstraint = NodeInDocumentConstraint;
839
1076
 
1077
+ // @public
1078
+ export type TransformedEvent<TThis, E, A extends any[]> = (event: E, listener: (...args: ReplaceIEventThisPlaceHolder<A, TThis>) => void) => TThis;
1079
+
840
1080
  // @public
841
1081
  export const Tree: TreeApi;
842
1082
 
@@ -979,6 +1219,7 @@ export type TreeObjectNodeUnsafe<T extends Unenforced<RestrictiveReadonlyRecord<
979
1219
  export enum TreeStatus {
980
1220
  Deleted = 2,
981
1221
  InDocument = 0,
1222
+ New = 3,
982
1223
  Removed = 1
983
1224
  }
984
1225