@fluidframework/core-interfaces 2.0.0-rc.4.0.5 → 2.0.0-rc.5.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. package/CHANGELOG.md +48 -0
  2. package/api-extractor/api-extractor-lint-bundle.json +5 -0
  3. package/api-extractor/api-extractor-lint-legacy.cjs.json +5 -0
  4. package/api-extractor/api-extractor-lint-legacy.esm.json +5 -0
  5. package/api-extractor/api-extractor-lint-public.cjs.json +5 -0
  6. package/api-extractor/api-extractor-lint-public.esm.json +5 -0
  7. package/api-extractor.json +1 -1
  8. package/api-report/{core-interfaces.api.md → core-interfaces.alpha.api.md} +10 -51
  9. package/api-report/core-interfaces.beta.api.md +339 -0
  10. package/api-report/core-interfaces.public.api.md +339 -0
  11. package/biome.jsonc +4 -0
  12. package/dist/config.d.ts.map +1 -1
  13. package/dist/config.js.map +1 -1
  14. package/dist/disposable.d.ts +5 -0
  15. package/dist/disposable.d.ts.map +1 -1
  16. package/dist/disposable.js.map +1 -1
  17. package/dist/events.d.ts +1 -1
  18. package/dist/events.d.ts.map +1 -1
  19. package/dist/events.js.map +1 -1
  20. package/dist/fluidLoadable.d.ts +2 -2
  21. package/dist/fluidLoadable.d.ts.map +1 -1
  22. package/dist/fluidLoadable.js.map +1 -1
  23. package/dist/handles.d.ts +6 -6
  24. package/dist/handles.d.ts.map +1 -1
  25. package/dist/handles.js +1 -1
  26. package/dist/handles.js.map +1 -1
  27. package/dist/legacy.d.ts +2 -2
  28. package/dist/logger.d.ts +9 -0
  29. package/dist/logger.d.ts.map +1 -1
  30. package/dist/logger.js +2 -2
  31. package/dist/logger.js.map +1 -1
  32. package/dist/provider.d.ts.map +1 -1
  33. package/dist/provider.js.map +1 -1
  34. package/dist/public.d.ts +0 -2
  35. package/lib/config.d.ts.map +1 -1
  36. package/lib/config.js.map +1 -1
  37. package/lib/disposable.d.ts +5 -0
  38. package/lib/disposable.d.ts.map +1 -1
  39. package/lib/disposable.js.map +1 -1
  40. package/lib/events.d.ts +1 -1
  41. package/lib/events.d.ts.map +1 -1
  42. package/lib/events.js.map +1 -1
  43. package/lib/fluidLoadable.d.ts +2 -2
  44. package/lib/fluidLoadable.d.ts.map +1 -1
  45. package/lib/fluidLoadable.js.map +1 -1
  46. package/lib/handles.d.ts +6 -6
  47. package/lib/handles.d.ts.map +1 -1
  48. package/lib/handles.js +1 -1
  49. package/lib/handles.js.map +1 -1
  50. package/lib/legacy.d.ts +2 -2
  51. package/lib/logger.d.ts +9 -0
  52. package/lib/logger.d.ts.map +1 -1
  53. package/lib/logger.js +2 -2
  54. package/lib/logger.js.map +1 -1
  55. package/lib/provider.d.ts.map +1 -1
  56. package/lib/provider.js.map +1 -1
  57. package/lib/public.d.ts +0 -2
  58. package/lib/tsdoc-metadata.json +1 -1
  59. package/package.json +20 -31
  60. package/src/config.ts +8 -1
  61. package/src/disposable.ts +5 -0
  62. package/src/events.ts +267 -267
  63. package/src/fluidLoadable.ts +2 -2
  64. package/src/handles.ts +6 -6
  65. package/src/logger.ts +9 -0
  66. package/src/provider.ts +6 -6
  67. package/tsdoc.json +4 -0
package/CHANGELOG.md CHANGED
@@ -1,5 +1,53 @@
1
1
  # @fluidframework/core-interfaces
2
2
 
3
+ ## 2.0.0-rc.5.0.0
4
+
5
+ ### Minor Changes
6
+
7
+ - fluid-framework: Type Erase ISharedObjectKind ([#21081](https://github.com/microsoft/FluidFramework/pull/21081)) [78f228e370](https://github.com/microsoft/FluidFramework/commit/78f228e37055bd4d9a8f02b3a1eefebf4da9c59c)
8
+
9
+ A new type, `SharedObjectKind` is added as a type erased version of `ISharedObjectKind` and `DataObjectClass`.
10
+
11
+ This type fills the role of both `ISharedObjectKind` and `DataObjectClass` in the `@public` "declarative API" exposed in the `fluid-framework` package.
12
+
13
+ This allows several types referenced by `ISharedObjectKind` to be made `@alpha` as they should only need to be used by legacy code and users of the unstable/alpha/legacy "encapsulated API".
14
+
15
+ Access to these now less public types should not be required for users of the `@public` "declarative API" exposed in the `fluid-framework` package, but can still be accessed for those who need them under the `/legacy` import paths.
16
+ The full list of such types is:
17
+
18
+ - `SharedTree` as exported from `@fluidframwork/tree`: It is still exported as `@public` from `fluid-framework` as `SharedObjectKind`.
19
+ - `ISharedObjectKind`: See new `SharedObjectKind` type for use in `@public` APIs.
20
+ `ISharedObject`
21
+ - `IChannel`
22
+ - `IChannelAttributes`
23
+ - `IChannelFactory`
24
+ - `IExperimentalIncrementalSummaryContext`
25
+ - `IGarbageCollectionData`
26
+ - `ISummaryStats`
27
+ - `ISummaryTreeWithStats`
28
+ - `ITelemetryContext`
29
+ - `IDeltaManagerErased`
30
+ - `IFluidDataStoreRuntimeEvents`
31
+ - `IFluidHandleContext`
32
+ - `IProvideFluidHandleContext`
33
+
34
+ Removed APIs:
35
+
36
+ - `DataObjectClass`: Usages replaced with `SharedObjectKind`.
37
+ - `LoadableObjectClass`: Replaced with `SharedObjectKind`.
38
+ - `LoadableObjectClassRecord`: Replaced with `Record<string, SharedObjectKind>`.
39
+ -
40
+
41
+ - Update to TypeScript 5.4 ([#21214](https://github.com/microsoft/FluidFramework/pull/21214)) [0e6256c722](https://github.com/microsoft/FluidFramework/commit/0e6256c722d8bf024f4325bf02547daeeb18bfa6)
42
+
43
+ Update package implementations to use TypeScript 5.4.5.
44
+
45
+ - core-interfaces, tree: Unify `IDisposable` interfaces ([#21184](https://github.com/microsoft/FluidFramework/pull/21184)) [cfcb827851](https://github.com/microsoft/FluidFramework/commit/cfcb827851ffc81486db6c718380150189fb95c5)
46
+
47
+ Public APIs in `@fluidframework/tree` now use `IDisposable` from `@fluidframework/core-interfaces` replacing `disposeSymbol` with "dispose".
48
+
49
+ `IDisposable` in `@fluidframework/core-interfaces` is now `@sealed` indicating that third parties should not implement it to reserve the ability for Fluid Framework to extend it to include `Symbol.dispose` as a future non-breaking change.
50
+
3
51
  ## 2.0.0-rc.4.0.0
4
52
 
5
53
  ### Minor Changes
@@ -0,0 +1,5 @@
1
+ {
2
+ "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json",
3
+ "extends": "<projectFolder>/../../../common/build/build-common/api-extractor-lint.json",
4
+ "mainEntryPointFilePath": "<projectFolder>/lib/index.d.ts"
5
+ }
@@ -0,0 +1,5 @@
1
+ {
2
+ "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json",
3
+ "extends": "<projectFolder>/../../../common/build/build-common/api-extractor-lint.entrypoint.json",
4
+ "mainEntryPointFilePath": "<projectFolder>/dist/legacy.d.ts"
5
+ }
@@ -0,0 +1,5 @@
1
+ {
2
+ "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json",
3
+ "extends": "<projectFolder>/../../../common/build/build-common/api-extractor-lint.entrypoint.json",
4
+ "mainEntryPointFilePath": "<projectFolder>/lib/legacy.d.ts"
5
+ }
@@ -0,0 +1,5 @@
1
+ {
2
+ "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json",
3
+ "extends": "<projectFolder>/../../../common/build/build-common/api-extractor-lint.entrypoint.json",
4
+ "mainEntryPointFilePath": "<projectFolder>/dist/public.d.ts"
5
+ }
@@ -0,0 +1,5 @@
1
+ {
2
+ "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json",
3
+ "extends": "<projectFolder>/../../../common/build/build-common/api-extractor-lint.entrypoint.json",
4
+ "mainEntryPointFilePath": "<projectFolder>/lib/public.d.ts"
5
+ }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json",
3
- "extends": "../../../common/build/build-common/api-extractor-base.esm.primary.json"
3
+ "extends": "../../../common/build/build-common/api-extractor-base.esm.current.json"
4
4
  }
@@ -1,4 +1,4 @@
1
- ## API Report File for "@fluidframework/core-interfaces"
1
+ ## Alpha API Report File for "@fluidframework/core-interfaces"
2
2
 
3
3
  > Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).
4
4
 
@@ -47,7 +47,7 @@ export interface IConfigProviderBase {
47
47
  getRawConfig(name: string): ConfigTypes;
48
48
  }
49
49
 
50
- // @public
50
+ // @public @sealed
51
51
  export interface IDisposable {
52
52
  dispose(error?: Error): void;
53
53
  readonly disposed: boolean;
@@ -74,7 +74,7 @@ export interface IEvent {
74
74
  (event: string, listener: (...args: any[]) => void): any;
75
75
  }
76
76
 
77
- // @public
77
+ // @public @sealed
78
78
  export interface IEventProvider<TEvent extends IEvent> {
79
79
  readonly off: IEventTransformer<this, TEvent>;
80
80
  readonly on: IEventTransformer<this, TEvent>;
@@ -242,17 +242,17 @@ export type IEventTransformer<TThis, TEvent extends IEvent> = TEvent extends {
242
242
  // @public (undocumented)
243
243
  export const IFluidHandle = "IFluidHandle";
244
244
 
245
- // @public
245
+ // @public @sealed
246
246
  export interface IFluidHandle<out T = unknown> {
247
247
  readonly [fluidHandleSymbol]: IFluidHandleErased<T>;
248
248
  get(): Promise<T>;
249
249
  readonly isAttached: boolean;
250
250
  }
251
251
 
252
- // @public (undocumented)
252
+ // @alpha (undocumented)
253
253
  export const IFluidHandleContext: keyof IProvideFluidHandleContext;
254
254
 
255
- // @public
255
+ // @alpha
256
256
  export interface IFluidHandleContext extends IProvideFluidHandleContext {
257
257
  readonly absolutePath: string;
258
258
  attachGraph(): void;
@@ -262,7 +262,7 @@ export interface IFluidHandleContext extends IProvideFluidHandleContext {
262
262
  readonly routeContext?: IFluidHandleContext;
263
263
  }
264
264
 
265
- // @public
265
+ // @public @sealed
266
266
  export interface IFluidHandleErased<T> extends ErasedType<readonly ["IFluidHandle", T]> {
267
267
  }
268
268
 
@@ -276,28 +276,10 @@ export interface IFluidHandleInternal<out T = unknown> extends IFluidHandle<T>,
276
276
  // @public (undocumented)
277
277
  export const IFluidLoadable: keyof IProvideFluidLoadable;
278
278
 
279
- // @public
279
+ // @public @sealed
280
280
  export interface IFluidLoadable extends IProvideFluidLoadable {
281
281
  // (undocumented)
282
- handle: IFluidHandle;
283
- }
284
-
285
- // @internal (undocumented)
286
- export const IFluidRunnable: keyof IProvideFluidRunnable;
287
-
288
- // @internal (undocumented)
289
- export interface IFluidRunnable {
290
- // (undocumented)
291
- run(...args: any[]): Promise<void>;
292
- // (undocumented)
293
- stop(reason?: string): void;
294
- }
295
-
296
- // @internal
297
- export interface IGenericError extends IErrorBase {
298
- // (undocumented)
299
- error?: any;
300
- readonly errorType: typeof FluidErrorTypes.genericError;
282
+ readonly handle: IFluidHandle;
301
283
  }
302
284
 
303
285
  // @alpha
@@ -311,7 +293,7 @@ export interface IProvideFluidHandle {
311
293
  readonly [IFluidHandle]: IFluidHandleInternal;
312
294
  }
313
295
 
314
- // @public (undocumented)
296
+ // @alpha (undocumented)
315
297
  export interface IProvideFluidHandleContext {
316
298
  // (undocumented)
317
299
  readonly IFluidHandleContext: IFluidHandleContext;
@@ -323,12 +305,6 @@ export interface IProvideFluidLoadable {
323
305
  readonly IFluidLoadable: IFluidLoadable;
324
306
  }
325
307
 
326
- // @internal (undocumented)
327
- export interface IProvideFluidRunnable {
328
- // (undocumented)
329
- readonly IFluidRunnable: IFluidRunnable;
330
- }
331
-
332
308
  // @public (undocumented)
333
309
  export interface IRequest {
334
310
  // (undocumented)
@@ -359,16 +335,6 @@ export interface IResponse {
359
335
  value: any;
360
336
  }
361
337
 
362
- // @internal (undocumented)
363
- export interface ISignalEnvelope {
364
- address?: string;
365
- clientSignalSequenceNumber: number;
366
- contents: {
367
- type: string;
368
- content: any;
369
- };
370
- }
371
-
372
338
  // @public
373
339
  export interface ITelemetryBaseEvent extends ITelemetryBaseProperties {
374
340
  // (undocumented)
@@ -379,9 +345,7 @@ export interface ITelemetryBaseEvent extends ITelemetryBaseProperties {
379
345
 
380
346
  // @public
381
347
  export interface ITelemetryBaseLogger {
382
- // (undocumented)
383
348
  minLogLevel?: LogLevel;
384
- // (undocumented)
385
349
  send(event: ITelemetryBaseEvent, logLevel?: LogLevel): void;
386
350
  }
387
351
 
@@ -397,11 +361,6 @@ export interface IThrottlingWarning extends IErrorBase {
397
361
  readonly retryAfterSeconds: number;
398
362
  }
399
363
 
400
- // @internal
401
- export interface IUsageError extends IErrorBase {
402
- readonly errorType: typeof FluidErrorTypes.usageError;
403
- }
404
-
405
364
  // @public
406
365
  export const LogLevel: {
407
366
  readonly verbose: 10;
@@ -0,0 +1,339 @@
1
+ ## Beta API Report File for "@fluidframework/core-interfaces"
2
+
3
+ > Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).
4
+
5
+ ```ts
6
+
7
+ // @public
8
+ export type ConfigTypes = string | number | boolean | number[] | string[] | boolean[] | undefined;
9
+
10
+ // @public @sealed
11
+ export abstract class ErasedType<out Name = unknown> {
12
+ static [Symbol.hasInstance](value: never): value is never;
13
+ protected abstract brand(dummy: never): Name;
14
+ }
15
+
16
+ // @public
17
+ export type ExtendEventProvider<TBaseEvent extends IEvent, TBase extends IEventProvider<TBaseEvent>, TEvent extends TBaseEvent> = Omit<Omit<Omit<TBase, "on">, "once">, "off"> & IEventProvider<TBaseEvent> & IEventProvider<TEvent>;
18
+
19
+ // @public
20
+ export const fluidHandleSymbol: unique symbol;
21
+
22
+ // @public
23
+ export type FluidObject<T = unknown> = {
24
+ [P in FluidObjectProviderKeys<T>]?: T[P];
25
+ };
26
+
27
+ // @public
28
+ export type FluidObjectKeys<T> = keyof FluidObject<T>;
29
+
30
+ // @public
31
+ 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;
32
+
33
+ // @public
34
+ export interface IConfigProviderBase {
35
+ getRawConfig(name: string): ConfigTypes;
36
+ }
37
+
38
+ // @public @sealed
39
+ export interface IDisposable {
40
+ dispose(error?: Error): void;
41
+ readonly disposed: boolean;
42
+ }
43
+
44
+ // @public
45
+ export interface IErrorBase extends Partial<Error> {
46
+ readonly errorType: string;
47
+ getTelemetryProperties?(): ITelemetryBaseProperties;
48
+ readonly message: string;
49
+ readonly name?: string;
50
+ readonly stack?: string;
51
+ }
52
+
53
+ // @public
54
+ export interface IErrorEvent extends IEvent {
55
+ // @eventProperty
56
+ (event: "error", listener: (message: any) => void): any;
57
+ }
58
+
59
+ // @public
60
+ export interface IEvent {
61
+ // @eventProperty
62
+ (event: string, listener: (...args: any[]) => void): any;
63
+ }
64
+
65
+ // @public @sealed
66
+ export interface IEventProvider<TEvent extends IEvent> {
67
+ readonly off: IEventTransformer<this, TEvent>;
68
+ readonly on: IEventTransformer<this, TEvent>;
69
+ readonly once: IEventTransformer<this, TEvent>;
70
+ }
71
+
72
+ // @public
73
+ export type IEventThisPlaceHolder = {
74
+ thisPlaceHolder: "thisPlaceHolder";
75
+ };
76
+
77
+ // @public
78
+ export type IEventTransformer<TThis, TEvent extends IEvent> = TEvent extends {
79
+ (event: infer E0, listener: (...args: infer A0) => void): any;
80
+ (event: infer E1, listener: (...args: infer A1) => void): any;
81
+ (event: infer E2, listener: (...args: infer A2) => void): any;
82
+ (event: infer E3, listener: (...args: infer A3) => void): any;
83
+ (event: infer E4, listener: (...args: infer A4) => void): any;
84
+ (event: infer E5, listener: (...args: infer A5) => void): any;
85
+ (event: infer E6, listener: (...args: infer A6) => void): any;
86
+ (event: infer E7, listener: (...args: infer A7) => void): any;
87
+ (event: infer E8, listener: (...args: infer A8) => void): any;
88
+ (event: infer E9, listener: (...args: infer A9) => void): any;
89
+ (event: infer E10, listener: (...args: infer A10) => void): any;
90
+ (event: infer E11, listener: (...args: infer A11) => void): any;
91
+ (event: infer E12, listener: (...args: infer A12) => void): any;
92
+ (event: infer E13, listener: (...args: infer A13) => void): any;
93
+ (event: infer E14, listener: (...args: infer A14) => void): any;
94
+ (event: string, listener: (...args: any[]) => void): any;
95
+ } ? 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 {
96
+ (event: infer E0, listener: (...args: infer A0) => void): any;
97
+ (event: infer E1, listener: (...args: infer A1) => void): any;
98
+ (event: infer E2, listener: (...args: infer A2) => void): any;
99
+ (event: infer E3, listener: (...args: infer A3) => void): any;
100
+ (event: infer E4, listener: (...args: infer A4) => void): any;
101
+ (event: infer E5, listener: (...args: infer A5) => void): any;
102
+ (event: infer E6, listener: (...args: infer A6) => void): any;
103
+ (event: infer E7, listener: (...args: infer A7) => void): any;
104
+ (event: infer E8, listener: (...args: infer A8) => void): any;
105
+ (event: infer E9, listener: (...args: infer A9) => void): any;
106
+ (event: infer E10, listener: (...args: infer A10) => void): any;
107
+ (event: infer E11, listener: (...args: infer A11) => void): any;
108
+ (event: infer E12, listener: (...args: infer A12) => void): any;
109
+ (event: infer E13, listener: (...args: infer A13) => void): any;
110
+ (event: string, listener: (...args: any[]) => void): any;
111
+ } ? 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 {
112
+ (event: infer E0, listener: (...args: infer A0) => void): any;
113
+ (event: infer E1, listener: (...args: infer A1) => void): any;
114
+ (event: infer E2, listener: (...args: infer A2) => void): any;
115
+ (event: infer E3, listener: (...args: infer A3) => void): any;
116
+ (event: infer E4, listener: (...args: infer A4) => void): any;
117
+ (event: infer E5, listener: (...args: infer A5) => void): any;
118
+ (event: infer E6, listener: (...args: infer A6) => void): any;
119
+ (event: infer E7, listener: (...args: infer A7) => void): any;
120
+ (event: infer E8, listener: (...args: infer A8) => void): any;
121
+ (event: infer E9, listener: (...args: infer A9) => void): any;
122
+ (event: infer E10, listener: (...args: infer A10) => void): any;
123
+ (event: infer E11, listener: (...args: infer A11) => void): any;
124
+ (event: infer E12, listener: (...args: infer A12) => void): any;
125
+ (event: string, listener: (...args: any[]) => void): any;
126
+ } ? 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 {
127
+ (event: infer E0, listener: (...args: infer A0) => void): any;
128
+ (event: infer E1, listener: (...args: infer A1) => void): any;
129
+ (event: infer E2, listener: (...args: infer A2) => void): any;
130
+ (event: infer E3, listener: (...args: infer A3) => void): any;
131
+ (event: infer E4, listener: (...args: infer A4) => void): any;
132
+ (event: infer E5, listener: (...args: infer A5) => void): any;
133
+ (event: infer E6, listener: (...args: infer A6) => void): any;
134
+ (event: infer E7, listener: (...args: infer A7) => void): any;
135
+ (event: infer E8, listener: (...args: infer A8) => void): any;
136
+ (event: infer E9, listener: (...args: infer A9) => void): any;
137
+ (event: infer E10, listener: (...args: infer A10) => void): any;
138
+ (event: infer E11, listener: (...args: infer A11) => void): any;
139
+ (event: string, listener: (...args: any[]) => void): any;
140
+ } ? 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 {
141
+ (event: infer E0, listener: (...args: infer A0) => void): any;
142
+ (event: infer E1, listener: (...args: infer A1) => void): any;
143
+ (event: infer E2, listener: (...args: infer A2) => void): any;
144
+ (event: infer E3, listener: (...args: infer A3) => void): any;
145
+ (event: infer E4, listener: (...args: infer A4) => void): any;
146
+ (event: infer E5, listener: (...args: infer A5) => void): any;
147
+ (event: infer E6, listener: (...args: infer A6) => void): any;
148
+ (event: infer E7, listener: (...args: infer A7) => void): any;
149
+ (event: infer E8, listener: (...args: infer A8) => void): any;
150
+ (event: infer E9, listener: (...args: infer A9) => void): any;
151
+ (event: infer E10, listener: (...args: infer A10) => void): any;
152
+ (event: string, listener: (...args: any[]) => void): any;
153
+ } ? 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 {
154
+ (event: infer E0, listener: (...args: infer A0) => void): any;
155
+ (event: infer E1, listener: (...args: infer A1) => void): any;
156
+ (event: infer E2, listener: (...args: infer A2) => void): any;
157
+ (event: infer E3, listener: (...args: infer A3) => void): any;
158
+ (event: infer E4, listener: (...args: infer A4) => void): any;
159
+ (event: infer E5, listener: (...args: infer A5) => void): any;
160
+ (event: infer E6, listener: (...args: infer A6) => void): any;
161
+ (event: infer E7, listener: (...args: infer A7) => void): any;
162
+ (event: infer E8, listener: (...args: infer A8) => void): any;
163
+ (event: infer E9, listener: (...args: infer A9) => void): any;
164
+ (event: string, listener: (...args: any[]) => void): any;
165
+ } ? 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 {
166
+ (event: infer E0, listener: (...args: infer A0) => void): any;
167
+ (event: infer E1, listener: (...args: infer A1) => void): any;
168
+ (event: infer E2, listener: (...args: infer A2) => void): any;
169
+ (event: infer E3, listener: (...args: infer A3) => void): any;
170
+ (event: infer E4, listener: (...args: infer A4) => void): any;
171
+ (event: infer E5, listener: (...args: infer A5) => void): any;
172
+ (event: infer E6, listener: (...args: infer A6) => void): any;
173
+ (event: infer E7, listener: (...args: infer A7) => void): any;
174
+ (event: infer E8, listener: (...args: infer A8) => void): any;
175
+ (event: string, listener: (...args: any[]) => void): any;
176
+ } ? 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 {
177
+ (event: infer E0, listener: (...args: infer A0) => void): any;
178
+ (event: infer E1, listener: (...args: infer A1) => void): any;
179
+ (event: infer E2, listener: (...args: infer A2) => void): any;
180
+ (event: infer E3, listener: (...args: infer A3) => void): any;
181
+ (event: infer E4, listener: (...args: infer A4) => void): any;
182
+ (event: infer E5, listener: (...args: infer A5) => void): any;
183
+ (event: infer E6, listener: (...args: infer A6) => void): any;
184
+ (event: infer E7, listener: (...args: infer A7) => void): any;
185
+ (event: string, listener: (...args: any[]) => void): any;
186
+ } ? 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 {
187
+ (event: infer E0, listener: (...args: infer A0) => void): any;
188
+ (event: infer E1, listener: (...args: infer A1) => void): any;
189
+ (event: infer E2, listener: (...args: infer A2) => void): any;
190
+ (event: infer E3, listener: (...args: infer A3) => void): any;
191
+ (event: infer E4, listener: (...args: infer A4) => void): any;
192
+ (event: infer E5, listener: (...args: infer A5) => void): any;
193
+ (event: infer E6, listener: (...args: infer A6) => void): any;
194
+ (event: string, listener: (...args: any[]) => void): any;
195
+ } ? 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 {
196
+ (event: infer E0, listener: (...args: infer A0) => void): any;
197
+ (event: infer E1, listener: (...args: infer A1) => void): any;
198
+ (event: infer E2, listener: (...args: infer A2) => void): any;
199
+ (event: infer E3, listener: (...args: infer A3) => void): any;
200
+ (event: infer E4, listener: (...args: infer A4) => void): any;
201
+ (event: infer E5, listener: (...args: infer A5) => void): any;
202
+ (event: string, listener: (...args: any[]) => void): any;
203
+ } ? 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 {
204
+ (event: infer E0, listener: (...args: infer A0) => void): any;
205
+ (event: infer E1, listener: (...args: infer A1) => void): any;
206
+ (event: infer E2, listener: (...args: infer A2) => void): any;
207
+ (event: infer E3, listener: (...args: infer A3) => void): any;
208
+ (event: infer E4, listener: (...args: infer A4) => void): any;
209
+ (event: string, listener: (...args: any[]) => void): any;
210
+ } ? TransformedEvent<TThis, E0, A0> & TransformedEvent<TThis, E1, A1> & TransformedEvent<TThis, E2, A2> & TransformedEvent<TThis, E3, A3> & TransformedEvent<TThis, E4, A4> : TEvent extends {
211
+ (event: infer E0, listener: (...args: infer A0) => void): any;
212
+ (event: infer E1, listener: (...args: infer A1) => void): any;
213
+ (event: infer E2, listener: (...args: infer A2) => void): any;
214
+ (event: infer E3, listener: (...args: infer A3) => void): any;
215
+ (event: string, listener: (...args: any[]) => void): any;
216
+ } ? TransformedEvent<TThis, E0, A0> & TransformedEvent<TThis, E1, A1> & TransformedEvent<TThis, E2, A2> & TransformedEvent<TThis, E3, A3> : TEvent extends {
217
+ (event: infer E0, listener: (...args: infer A0) => void): any;
218
+ (event: infer E1, listener: (...args: infer A1) => void): any;
219
+ (event: infer E2, listener: (...args: infer A2) => void): any;
220
+ (event: string, listener: (...args: any[]) => void): any;
221
+ } ? TransformedEvent<TThis, E0, A0> & TransformedEvent<TThis, E1, A1> & TransformedEvent<TThis, E2, A2> : TEvent extends {
222
+ (event: infer E0, listener: (...args: infer A0) => void): any;
223
+ (event: infer E1, listener: (...args: infer A1) => void): any;
224
+ (event: string, listener: (...args: any[]) => void): any;
225
+ } ? TransformedEvent<TThis, E0, A0> & TransformedEvent<TThis, E1, A1> : TEvent extends {
226
+ (event: infer E0, listener: (...args: infer A0) => void): any;
227
+ (event: string, listener: (...args: any[]) => void): any;
228
+ } ? TransformedEvent<TThis, E0, A0> : TransformedEvent<TThis, string, any[]>;
229
+
230
+ // @public (undocumented)
231
+ export const IFluidHandle = "IFluidHandle";
232
+
233
+ // @public @sealed
234
+ export interface IFluidHandle<out T = unknown> {
235
+ readonly [fluidHandleSymbol]: IFluidHandleErased<T>;
236
+ get(): Promise<T>;
237
+ readonly isAttached: boolean;
238
+ }
239
+
240
+ // @public @sealed
241
+ export interface IFluidHandleErased<T> extends ErasedType<readonly ["IFluidHandle", T]> {
242
+ }
243
+
244
+ // @public (undocumented)
245
+ export const IFluidLoadable: keyof IProvideFluidLoadable;
246
+
247
+ // @public @sealed
248
+ export interface IFluidLoadable extends IProvideFluidLoadable {
249
+ // (undocumented)
250
+ readonly handle: IFluidHandle;
251
+ }
252
+
253
+ // @public (undocumented)
254
+ export interface IProvideFluidLoadable {
255
+ // (undocumented)
256
+ readonly IFluidLoadable: IFluidLoadable;
257
+ }
258
+
259
+ // @public (undocumented)
260
+ export interface IRequest {
261
+ // (undocumented)
262
+ headers?: IRequestHeader;
263
+ // (undocumented)
264
+ url: string;
265
+ }
266
+
267
+ // @public (undocumented)
268
+ export interface IRequestHeader {
269
+ // (undocumented)
270
+ [index: string]: any;
271
+ }
272
+
273
+ // @public (undocumented)
274
+ export interface IResponse {
275
+ // (undocumented)
276
+ headers?: {
277
+ [key: string]: any;
278
+ };
279
+ // (undocumented)
280
+ mimeType: string;
281
+ // (undocumented)
282
+ stack?: string;
283
+ // (undocumented)
284
+ status: number;
285
+ // (undocumented)
286
+ value: any;
287
+ }
288
+
289
+ // @public
290
+ export interface ITelemetryBaseEvent extends ITelemetryBaseProperties {
291
+ // (undocumented)
292
+ category: string;
293
+ // (undocumented)
294
+ eventName: string;
295
+ }
296
+
297
+ // @public
298
+ export interface ITelemetryBaseLogger {
299
+ minLogLevel?: LogLevel;
300
+ send(event: ITelemetryBaseEvent, logLevel?: LogLevel): void;
301
+ }
302
+
303
+ // @public
304
+ export interface ITelemetryBaseProperties {
305
+ [index: string]: TelemetryBaseEventPropertyType | Tagged<TelemetryBaseEventPropertyType>;
306
+ }
307
+
308
+ // @public
309
+ export const LogLevel: {
310
+ readonly verbose: 10;
311
+ readonly default: 20;
312
+ readonly error: 30;
313
+ };
314
+
315
+ // @public
316
+ export type LogLevel = (typeof LogLevel)[keyof typeof LogLevel];
317
+
318
+ // @public
319
+ export type ReplaceIEventThisPlaceHolder<L extends any[], TThis> = L extends any[] ? {
320
+ [K in keyof L]: L[K] extends IEventThisPlaceHolder ? TThis : L[K];
321
+ } : L;
322
+
323
+ // @public
324
+ export interface Tagged<V, T extends string = string> {
325
+ // (undocumented)
326
+ tag: T;
327
+ // (undocumented)
328
+ value: V;
329
+ }
330
+
331
+ // @public
332
+ export type TelemetryBaseEventPropertyType = string | number | boolean | undefined;
333
+
334
+ // @public
335
+ export type TransformedEvent<TThis, E, A extends any[]> = (event: E, listener: (...args: ReplaceIEventThisPlaceHolder<A, TThis>) => void) => TThis;
336
+
337
+ // (No @packageDocumentation comment for this package)
338
+
339
+ ```