@fluidframework/core-interfaces 2.0.0-internal.7.3.0 → 2.0.0-internal.8.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 (110) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/Removing-IFluidRouter.md +22 -17
  3. package/api-extractor-lint.json +13 -0
  4. package/api-extractor.json +3 -6
  5. package/api-report/core-interfaces.api.md +66 -73
  6. package/dist/config.d.ts +35 -0
  7. package/dist/config.d.ts.map +1 -0
  8. package/dist/config.js +7 -0
  9. package/dist/config.js.map +1 -0
  10. package/dist/core-interfaces-alpha.d.ts +101 -249
  11. package/dist/core-interfaces-beta.d.ts +105 -905
  12. package/dist/core-interfaces-public.d.ts +105 -905
  13. package/dist/core-interfaces-untrimmed.d.ts +112 -18
  14. package/dist/disposable.d.ts +1 -0
  15. package/dist/disposable.d.ts.map +1 -1
  16. package/dist/disposable.js.map +1 -1
  17. package/dist/error.d.ts +9 -0
  18. package/dist/error.d.ts.map +1 -1
  19. package/dist/error.js +1 -0
  20. package/dist/error.js.map +1 -1
  21. package/dist/events.d.ts +8 -1
  22. package/dist/events.d.ts.map +1 -1
  23. package/dist/events.js.map +1 -1
  24. package/dist/fluidLoadable.d.ts +16 -0
  25. package/dist/fluidLoadable.d.ts.map +1 -1
  26. package/dist/fluidLoadable.js +6 -0
  27. package/dist/fluidLoadable.js.map +1 -1
  28. package/dist/fluidPackage.d.ts +9 -0
  29. package/dist/fluidPackage.d.ts.map +1 -1
  30. package/dist/fluidPackage.js +3 -0
  31. package/dist/fluidPackage.js.map +1 -1
  32. package/dist/fluidRouter.d.ts +9 -17
  33. package/dist/fluidRouter.d.ts.map +1 -1
  34. package/dist/fluidRouter.js +0 -5
  35. package/dist/fluidRouter.js.map +1 -1
  36. package/dist/handles.d.ts +14 -0
  37. package/dist/handles.d.ts.map +1 -1
  38. package/dist/handles.js +6 -0
  39. package/dist/handles.js.map +1 -1
  40. package/dist/index.d.ts +2 -1
  41. package/dist/index.d.ts.map +1 -1
  42. package/dist/index.js +1 -6
  43. package/dist/index.js.map +1 -1
  44. package/dist/logger.d.ts +16 -0
  45. package/dist/logger.d.ts.map +1 -1
  46. package/dist/logger.js +1 -0
  47. package/dist/logger.js.map +1 -1
  48. package/dist/provider.d.ts +3 -2
  49. package/dist/provider.d.ts.map +1 -1
  50. package/dist/provider.js.map +1 -1
  51. package/lib/config.d.ts +35 -0
  52. package/lib/config.d.ts.map +1 -0
  53. package/lib/config.js +7 -0
  54. package/lib/config.js.map +1 -0
  55. package/lib/core-interfaces-alpha.d.ts +101 -249
  56. package/lib/core-interfaces-beta.d.ts +105 -905
  57. package/lib/core-interfaces-public.d.ts +105 -905
  58. package/lib/core-interfaces-untrimmed.d.ts +112 -18
  59. package/lib/disposable.d.ts +1 -0
  60. package/lib/disposable.d.ts.map +1 -1
  61. package/lib/disposable.js +2 -1
  62. package/lib/disposable.js.map +1 -1
  63. package/lib/error.d.ts +9 -0
  64. package/lib/error.d.ts.map +1 -1
  65. package/lib/error.js +5 -1
  66. package/lib/error.js.map +1 -1
  67. package/lib/events.d.ts +8 -1
  68. package/lib/events.d.ts.map +1 -1
  69. package/lib/events.js +2 -1
  70. package/lib/events.js.map +1 -1
  71. package/lib/fluidLoadable.d.ts +16 -0
  72. package/lib/fluidLoadable.d.ts.map +1 -1
  73. package/lib/fluidLoadable.js +11 -2
  74. package/lib/fluidLoadable.js.map +1 -1
  75. package/lib/fluidPackage.d.ts +9 -0
  76. package/lib/fluidPackage.d.ts.map +1 -1
  77. package/lib/fluidPackage.js +12 -4
  78. package/lib/fluidPackage.js.map +1 -1
  79. package/lib/fluidRouter.d.ts +9 -17
  80. package/lib/fluidRouter.d.ts.map +1 -1
  81. package/lib/fluidRouter.js +2 -4
  82. package/lib/fluidRouter.js.map +1 -1
  83. package/lib/handles.d.ts +14 -0
  84. package/lib/handles.d.ts.map +1 -1
  85. package/lib/handles.js +11 -2
  86. package/lib/handles.js.map +1 -1
  87. package/lib/index.d.ts +2 -1
  88. package/lib/index.d.ts.map +1 -1
  89. package/lib/index.js +17 -9
  90. package/lib/index.js.map +1 -1
  91. package/lib/logger.d.ts +16 -0
  92. package/lib/logger.d.ts.map +1 -1
  93. package/lib/logger.js +5 -1
  94. package/lib/logger.js.map +1 -1
  95. package/lib/provider.d.ts +3 -2
  96. package/lib/provider.d.ts.map +1 -1
  97. package/lib/provider.js +2 -1
  98. package/lib/provider.js.map +1 -1
  99. package/package.json +22 -6
  100. package/src/config.ts +36 -0
  101. package/src/disposable.ts +1 -0
  102. package/src/error.ts +9 -0
  103. package/src/events.ts +8 -1
  104. package/src/fluidLoadable.ts +16 -0
  105. package/src/fluidPackage.ts +9 -0
  106. package/src/fluidRouter.ts +9 -20
  107. package/src/handles.ts +14 -0
  108. package/src/index.ts +2 -7
  109. package/src/logger.ts +16 -0
  110. package/src/provider.ts +3 -2
@@ -1,3 +1,9 @@
1
+ /**
2
+ * Types supported by {@link IConfigProviderBase}.
3
+ * @alpha
4
+ */
5
+ export declare type ConfigTypes = string | number | boolean | number[] | string[] | boolean[] | undefined;
6
+
1
7
  /**
2
8
  * Allows an interface to extend interfaces that already extend an {@link IEventProvider}.
3
9
  *
@@ -20,37 +26,11 @@
20
26
  * ```
21
27
  *
22
28
  * interface B will now extend interface A and its events
23
- *
29
+ * @alpha
24
30
  */
25
31
  export declare type ExtendEventProvider<TBaseEvent extends IEvent, TBase extends IEventProvider<TBaseEvent>, TEvent extends TBaseEvent> = Omit<Omit<Omit<TBase, "on">, "once">, "off"> & IEventProvider<TBaseEvent> & IEventProvider<TEvent>;
26
32
 
27
- /**
28
- * Error types the Fluid Framework may report.
29
- */
30
- export declare const FluidErrorTypes: {
31
- /**
32
- * Some error, most likely an exception caught by runtime and propagated to container as critical error
33
- */
34
- readonly genericError: "genericError";
35
- /**
36
- * Throttling error from server. Server is busy and is asking not to reconnect for some time
37
- */
38
- readonly throttlingError: "throttlingError";
39
- /**
40
- * Data loss error detected by Container / DeltaManager. Likely points to storage issue.
41
- */
42
- readonly dataCorruptionError: "dataCorruptionError";
43
- /**
44
- * Error encountered when processing an operation. May correlate with data corruption.
45
- */
46
- readonly dataProcessingError: "dataProcessingError";
47
- /**
48
- * Error indicating an API is being used improperly resulting in an invalid operation.
49
- */
50
- readonly usageError: "usageError";
51
- };
52
-
53
- export declare type FluidErrorTypes = (typeof FluidErrorTypes)[keyof typeof FluidErrorTypes];
33
+ /* Excluded from this release type: FluidErrorTypes */
54
34
 
55
35
  /**
56
36
  * This utility type take interface(s) that follow the FluidObject pattern, and produces
@@ -83,7 +63,7 @@ export declare type FluidErrorTypes = (typeof FluidErrorTypes)[keyof typeof Flui
83
63
  *
84
64
  * You can inspect multiple types via a intersection. For example:
85
65
  * `FluidObject<IFoo & IBar>`
86
- *
66
+ * @alpha
87
67
  */
88
68
  export declare type FluidObject<T = unknown> = {
89
69
  [P in FluidObjectProviderKeys<T>]?: T[P];
@@ -96,7 +76,7 @@ export declare type FluidObject<T = unknown> = {
96
76
  * See {@link FluidObject}
97
77
  *
98
78
  * For example `FluidObjectKeys<IFoo & IBar>` would result in `"IFoo" | "IBar"`
99
- *
79
+ * @alpha
100
80
  */
101
81
  export declare type FluidObjectKeys<T> = keyof FluidObject<T>;
102
82
 
@@ -124,11 +104,39 @@ export declare type FluidObjectKeys<T> = keyof FluidObject<T>;
124
104
  *
125
105
  * This pattern enables discovery, and delegation in a standard way which is central
126
106
  * to FluidObject pattern.
107
+ * @alpha
127
108
  */
128
109
  export declare 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;
129
110
 
111
+ /**
112
+ * Base interface for providing configurations to enable/disable/control features.
113
+ * @alpha
114
+ */
115
+ export declare interface IConfigProviderBase {
116
+ /**
117
+ * For the specified config name this function gets the value.
118
+ *
119
+ * This type is meant be easy to implement by Fluid Framework consumers
120
+ * so the returned valued needs minimal type coercion, and allows consumers to
121
+ * return values in a natural way from whatever source they retrieve them.
122
+ *
123
+ * For instance a value of 1 maybe be returned as a string or a number.
124
+ * For array types a json string or an object are allowable.
125
+ *
126
+ * It should return undefined if there is no value available for the config name.
127
+ *
128
+ * @param name - The name of the config to get the value for.
129
+ *
130
+ * @privateRemarks Generally, this type should only be taken as input, and be wrapped by an
131
+ * internal monitoring context from the fluidframework/telemetry-utils package. That will provide
132
+ * a wrapper with provides strongly typed access to values via consistent type coercion.
133
+ */
134
+ getRawConfig(name: string): ConfigTypes;
135
+ }
136
+
130
137
  /**
131
138
  * Base interface for objects that require lifetime management via explicit disposal.
139
+ * @alpha
132
140
  */
133
141
  export declare interface IDisposable {
134
142
  /**
@@ -153,6 +161,8 @@ export declare interface IDisposable {
153
161
  * those from container-definitions. Once fully migrated, this will be a base interface for all errors and
154
162
  * warnings emitted by the Fluid Framework. Currently only the container layer is using IErrorBase.
155
163
  * Runtime and others will follow soon.
164
+ *
165
+ * @alpha
156
166
  */
157
167
  export declare interface IErrorBase extends Partial<Error> {
158
168
  /**
@@ -191,6 +201,7 @@ export declare interface IErrorBase extends Partial<Error> {
191
201
 
192
202
  /**
193
203
  * Base interface for error event emitters.
204
+ * @alpha
194
205
  */
195
206
  export declare interface IErrorEvent extends IEvent {
196
207
  /**
@@ -203,6 +214,7 @@ export declare interface IErrorEvent extends IEvent {
203
214
 
204
215
  /**
205
216
  * Base interface for event emitters.
217
+ * @alpha
206
218
  */
207
219
  export declare interface IEvent {
208
220
  /**
@@ -220,6 +232,7 @@ export declare interface IEvent {
220
232
 
221
233
  /**
222
234
  * Base interface for event providers.
235
+ * @alpha
223
236
  */
224
237
  export declare interface IEventProvider<TEvent extends IEvent> {
225
238
  /**
@@ -238,6 +251,7 @@ export declare interface IEventProvider<TEvent extends IEvent> {
238
251
 
239
252
  /**
240
253
  * The placeholder type that should be used instead of `this` in events.
254
+ * @alpha
241
255
  */
242
256
  export declare type IEventThisPlaceHolder = {
243
257
  thisPlaceHolder: "thisPlaceHolder";
@@ -251,6 +265,7 @@ export declare type IEventThisPlaceHolder = {
251
265
  * It currently supports the max of 15 event overloads which is more than we use anywhere.
252
266
  * At more than 15 overloads we start to hit {@link https://github.com/microsoft/TypeScript/issues/37209 | TS2589}.
253
267
  * If we need to move beyond 15 we should evaluate using a mapped type pattern like `{"event":(listenerArgs)=>void}`
268
+ * @alpha
254
269
  */
255
270
  export declare type IEventTransformer<TThis, TEvent extends IEvent> = TEvent extends {
256
271
  (event: infer E0, listener: (...args: infer A0) => void): any;
@@ -404,75 +419,20 @@ export declare type IEventTransformer<TThis, TEvent extends IEvent> = TEvent ext
404
419
  (event: string, listener: (...args: any[]) => void): any;
405
420
  } ? TransformedEvent<TThis, E0, A0> : TransformedEvent<TThis, string, any[]>;
406
421
 
407
- /**
408
- * Data structure used to describe the code to load on the Fluid document.
409
- *
410
- * @deprecated in favor of {@link @fluidframework/container-definitions#IFluidCodeDetails}
411
- * to have code loading modules in same package.
412
- */
413
- export declare interface IFluidCodeDetails {
414
- /**
415
- * The code package to be used on the Fluid document. This is either the package name which will be loaded
416
- * from a package manager. Or the expanded Fluid package.
417
- */
418
- readonly package: string | Readonly<IFluidPackage>;
419
- /**
420
- * Configuration details. This includes links to the package manager and base CDNs.
421
- */
422
- readonly config?: IFluidCodeDetailsConfig;
423
- }
422
+ /* Excluded from this release type: IFluidCodeDetails */
424
423
 
425
- /**
426
- * @deprecated in favor of {@link @fluidframework/container-definitions#IFluidCodeDetailsComparer}
427
- * to have code loading modules in same package.
428
- */
429
- export declare const IFluidCodeDetailsComparer: keyof IProvideFluidCodeDetailsComparer;
424
+ /* Excluded from this release type: IFluidCodeDetailsComparer */
430
425
 
431
- /**
432
- * Provides capability to compare Fluid code details.
433
- *
434
- * @deprecated in favor of {@link @fluidframework/container-definitions#IFluidCodeDetailsComparer}
435
- * to have code loading modules in same package.
436
- */
437
- export declare interface IFluidCodeDetailsComparer extends IProvideFluidCodeDetailsComparer {
438
- /**
439
- * Determines if the `candidate` code details satisfy the constraints specified in `constraint` code details.
440
- *
441
- * Similar semantics to:
442
- * {@link https://github.com/npm/node-semver#usage}
443
- */
444
- satisfies(candidate: IFluidCodeDetails, constraint: IFluidCodeDetails): Promise<boolean>;
445
- /**
446
- * Returns a number representing the ascending sort order of the `a` and `b` code details:
447
- *
448
- * - `< 0` if `a < b`.
449
- *
450
- * - `= 0` if `a === b`.
451
- *
452
- * - `> 0` if `a > b`.
453
- *
454
- * - `undefined` if `a` is not comparable to `b`.
455
- *
456
- * Similar semantics to:
457
- * {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#description | Array.sort}
458
- */
459
- compare(a: IFluidCodeDetails, b: IFluidCodeDetails): Promise<number | undefined>;
460
- }
426
+ /* Excluded from this release type: IFluidCodeDetailsConfig */
461
427
 
462
428
  /**
463
- * Package manager configuration. Provides a key value mapping of config values.
464
- *
465
- * @deprecated in favor of {@link @fluidframework/container-definitions#IFluidCodeDetailsConfig}
466
- * to have code loading modules in same package.
429
+ * @alpha
467
430
  */
468
- export declare interface IFluidCodeDetailsConfig {
469
- readonly [key: string]: string;
470
- }
471
-
472
431
  export declare const IFluidHandle: keyof IProvideFluidHandle;
473
432
 
474
433
  /**
475
434
  * Handle to a shared {@link FluidObject}.
435
+ * @alpha
476
436
  */
477
437
  export declare interface IFluidHandle<T = FluidObject & IFluidLoadable> extends IProvideFluidHandle {
478
438
  /**
@@ -504,10 +464,14 @@ export declare interface IFluidHandle<T = FluidObject & IFluidLoadable> extends
504
464
  bind(handle: IFluidHandle): void;
505
465
  }
506
466
 
467
+ /**
468
+ * @alpha
469
+ */
507
470
  export declare const IFluidHandleContext: keyof IProvideFluidHandleContext;
508
471
 
509
472
  /**
510
473
  * Describes a routing context from which other `IFluidHandleContext`s are defined.
474
+ * @alpha
511
475
  */
512
476
  export declare interface IFluidHandleContext extends IProvideFluidHandleContext {
513
477
  /**
@@ -530,155 +494,72 @@ export declare interface IFluidHandleContext extends IProvideFluidHandleContext
530
494
  resolveHandle(request: IRequest): Promise<IResponse>;
531
495
  }
532
496
 
497
+ /**
498
+ * @alpha
499
+ */
533
500
  export declare const IFluidLoadable: keyof IProvideFluidLoadable;
534
501
 
535
502
  /**
536
503
  * A shared FluidObject has a URL from which it can be referenced
504
+ * @alpha
537
505
  */
538
506
  export declare interface IFluidLoadable extends IProvideFluidLoadable {
539
507
  handle: IFluidHandle;
540
508
  }
541
509
 
542
- /**
543
- * Fluid-specific properties expected on a package to be loaded by the code loader.
544
- * While compatible with the npm package format it is not necessary that that package is an
545
- * npm package:
546
- * {@link https://stackoverflow.com/questions/10065564/add-custom-metadata-or-config-to-package-json-is-it-valid}
547
- *
548
- * @deprecated In favor of {@link @fluidframework/container-definitions#IFluidPackage}
549
- * to have code loading modules in same package.
550
- */
551
- export declare interface IFluidPackage {
552
- /**
553
- * The name of the package that this code represnets
554
- */
555
- name: string;
556
- /**
557
- * This object represents the Fluid specific properties of the package
558
- */
559
- fluid: {
560
- /**
561
- * The name of the of the environment. This should be something like browser, or node
562
- * and contain the necessary targets for loading this code in that environment.
563
- */
564
- [environment: string]: undefined | IFluidPackageEnvironment;
565
- };
566
- /**
567
- * General access for extended fields as specific usages will
568
- * likely have additional infornamation like a definition of
569
- * compatible versions, or deployment information like rings or rollouts.
570
- */
571
- [key: string]: unknown;
572
- }
510
+ /* Excluded from this release type: IFluidPackage */
573
511
 
574
- /**
575
- * Specifies an environment on Fluid property of an {@link IFluidPackage}.
576
- *
577
- * @deprecated In favor of {@link @fluidframework/container-definitions#IFluidPackageEnvironment}
578
- * to have code loading modules in same package.
579
- */
580
- export declare interface IFluidPackageEnvironment {
581
- /**
582
- * The name of the target. For a browser environment, this could be umd for scripts
583
- * or css for styles.
584
- */
585
- [target: string]: undefined | {
586
- /**
587
- * List of files for the target. These can be relative or absolute.
588
- * The code loader should resolve relative paths, and validate all
589
- * full urls.
590
- */
591
- files: string[];
592
- /**
593
- * General access for extended fields as specific usages will
594
- * likely have additional infornamation like a definition
595
- * of Library, the entrypoint for umd packages
596
- */
597
- [key: string]: unknown;
598
- };
599
- }
600
-
601
- /**
602
- * @deprecated Will be removed in future major release. Migrate all usage of IFluidRouter to the "entryPoint" pattern. Refer to Removing-IFluidRouter.md
603
- */
604
- export declare const IFluidRouter: keyof IProvideFluidRouter;
605
-
606
- /**
607
- * @deprecated Will be removed in future major release. Migrate all usage of IFluidRouter to the "entryPoint" pattern. Refer to Removing-IFluidRouter.md
608
- */
609
- export declare interface IFluidRouter extends IProvideFluidRouter {
610
- request(request: IRequest): Promise<IResponse>;
611
- }
512
+ /* Excluded from this release type: IFluidPackageEnvironment */
612
513
 
613
- export declare const IFluidRunnable: keyof IProvideFluidRunnable;
514
+ /* Excluded from this release type: IFluidRunnable */
614
515
 
615
- export declare interface IFluidRunnable {
616
- run(...args: any[]): Promise<void>;
617
- stop(reason?: string): void;
618
- }
516
+ /* Excluded from this release type: IGenericError */
619
517
 
620
- /**
621
- * Generic wrapper for an unrecognized/uncategorized error object
622
- */
623
- export declare interface IGenericError extends IErrorBase {
624
- /**
625
- * {@inheritDoc IErrorBase.errorType}
626
- */
627
- readonly errorType: typeof FluidErrorTypes.genericError;
628
- error?: any;
629
- }
518
+ /* Excluded from this release type: ILoggingError */
630
519
 
631
- /**
632
- * An error object that supports exporting its properties to be logged to telemetry
633
- */
634
- export declare interface ILoggingError extends Error {
635
- /**
636
- * Return all properties from this object that should be logged to telemetry
637
- */
638
- getTelemetryProperties(): ITelemetryBaseProperties;
639
- }
520
+ /* Excluded from this release type: IProvideFluidCodeDetailsComparer */
640
521
 
641
522
  /**
642
- * @deprecated in favor of {@link @fluidframework/container-definitions#IProvideFluidCodeDetailsComparer}
643
- * to have code loading modules in same package.
523
+ * @alpha
644
524
  */
645
- export declare interface IProvideFluidCodeDetailsComparer {
646
- readonly IFluidCodeDetailsComparer: IFluidCodeDetailsComparer;
647
- }
648
-
649
525
  export declare interface IProvideFluidHandle {
650
526
  readonly IFluidHandle: IFluidHandle;
651
527
  }
652
528
 
529
+ /**
530
+ * @alpha
531
+ */
653
532
  export declare interface IProvideFluidHandleContext {
654
533
  readonly IFluidHandleContext: IFluidHandleContext;
655
534
  }
656
535
 
536
+ /**
537
+ * @alpha
538
+ */
657
539
  export declare interface IProvideFluidLoadable {
658
540
  readonly IFluidLoadable: IFluidLoadable;
659
541
  }
660
542
 
543
+ /* Excluded from this release type: IProvideFluidRunnable */
544
+
661
545
  /**
662
- * Request routing
663
- * @deprecated Will be removed in future major release. Migrate all usage of IFluidRouter to the "entryPoint" pattern. Refer to Removing-IFluidRouter.md
546
+ * @alpha
664
547
  */
665
- export declare interface IProvideFluidRouter {
666
- readonly IFluidRouter: IFluidRouter;
667
- }
668
-
669
- export declare interface IProvideFluidRunnable {
670
- readonly IFluidRunnable: IFluidRunnable;
671
- }
672
-
673
548
  export declare interface IRequest {
674
549
  url: string;
675
550
  headers?: IRequestHeader;
676
551
  }
677
552
 
553
+ /**
554
+ * @alpha
555
+ */
678
556
  export declare interface IRequestHeader {
679
557
  [index: string]: any;
680
558
  }
681
559
 
560
+ /**
561
+ * @alpha
562
+ */
682
563
  export declare interface IResponse {
683
564
  mimeType: string;
684
565
  status: number;
@@ -689,37 +570,18 @@ export declare interface IResponse {
689
570
  stack?: string;
690
571
  }
691
572
 
692
- /**
693
- * @deprecated in favor of {@link @fluidframework/container-definitions#isFluidCodeDetails}
694
- * to have code loading modules in same package.
695
- */
696
- export declare const isFluidCodeDetails: (details: unknown) => details is Readonly<IFluidCodeDetails>;
573
+ /* Excluded from this release type: isFluidCodeDetails */
697
574
 
698
- /**
699
- * Check if the package.json defines a Fluid package.
700
- *
701
- * @deprecated in favor of {@link @fluidframework/container-definitions#isFluidPackage}
702
- * to have code loading modules in same package.
703
- *
704
- * @param pkg - The package json data to check if it is a Fluid package.
705
- */
706
- export declare const isFluidPackage: (pkg: unknown) => pkg is Readonly<IFluidPackage>;
575
+ /* Excluded from this release type: isFluidPackage */
707
576
 
708
- /**
709
- * @see {@link Tagged} for info on tagging
710
- *
711
- * @deprecated Use Tagged\<TelemetryBaseEventPropertyType\>
712
- */
713
- export declare interface ITaggedTelemetryPropertyType {
714
- value: TelemetryEventPropertyType;
715
- tag: string;
716
- }
577
+ /* Excluded from this release type: ITaggedTelemetryPropertyType */
717
578
 
718
579
  /**
719
580
  * Base interface for logging telemetry statements.
720
581
  * Can contain any number of properties that get serialized as json payload.
721
582
  * @param category - category of the event, like "error", "performance", "generic", etc.
722
583
  * @param eventName - name of the event.
584
+ * @alpha
723
585
  */
724
586
  export declare interface ITelemetryBaseEvent extends ITelemetryBaseProperties {
725
587
  category: string;
@@ -729,6 +591,7 @@ export declare interface ITelemetryBaseEvent extends ITelemetryBaseProperties {
729
591
  /**
730
592
  * Interface to output telemetry events.
731
593
  * Implemented by hosting app / loader
594
+ * @alpha
732
595
  */
733
596
  export declare interface ITelemetryBaseLogger {
734
597
  send(event: ITelemetryBaseEvent, logLevel?: LogLevel): void;
@@ -737,6 +600,7 @@ export declare interface ITelemetryBaseLogger {
737
600
 
738
601
  /**
739
602
  * JSON-serializable properties, which will be logged with telemetry.
603
+ * @alpha
740
604
  */
741
605
  export declare type ITelemetryBaseProperties = ITelemetryProperties;
742
606
 
@@ -746,6 +610,7 @@ export declare type ITelemetryBaseProperties = ITelemetryProperties;
746
610
  *
747
611
  * @deprecated For internal use within FluidFramework, use ITelemetryErrorEventExt in \@fluidframework/telemetry-utils.
748
612
  * No replacement intended for FluidFramework consumers.
613
+ * @alpha
749
614
  */
750
615
  export declare interface ITelemetryErrorEvent extends ITelemetryProperties {
751
616
  eventName: string;
@@ -757,6 +622,7 @@ export declare interface ITelemetryErrorEvent extends ITelemetryProperties {
757
622
  *
758
623
  * @deprecated For internal use within FluidFramework, use ITelemetryGenericEventExt in \@fluidframework/telemetry-utils.
759
624
  * No replacement intended for FluidFramework consumers.
625
+ * @alpha
760
626
  */
761
627
  export declare interface ITelemetryGenericEvent extends ITelemetryProperties {
762
628
  eventName: string;
@@ -770,6 +636,7 @@ export declare interface ITelemetryGenericEvent extends ITelemetryProperties {
770
636
  *
771
637
  * @deprecated For internal use within FluidFramework, use ITelemetryLoggerExt in \@fluidframework/telemetry-utils.
772
638
  * No replacement intended for FluidFramework consumers.
639
+ * @alpha
773
640
  */
774
641
  export declare interface ITelemetryLogger extends ITelemetryBaseLogger {
775
642
  /**
@@ -807,6 +674,7 @@ export declare interface ITelemetryLogger extends ITelemetryBaseLogger {
807
674
  *
808
675
  * @deprecated For internal use within FluidFramework, use ITelemetryPerformanceEventExt in \@fluidframework/telemetry-utils.
809
676
  * No replacement intended for FluidFramework consumers.
677
+ * @alpha
810
678
  */
811
679
  export declare interface ITelemetryPerformanceEvent extends ITelemetryGenericEvent {
812
680
  duration?: number;
@@ -816,34 +684,19 @@ export declare interface ITelemetryPerformanceEvent extends ITelemetryGenericEve
816
684
  * {@inheritDoc ITelemetryBaseProperties}
817
685
  *
818
686
  * @deprecated Renamed to {@link ITelemetryBaseProperties}
687
+ * @alpha
819
688
  */
820
689
  export declare interface ITelemetryProperties {
821
690
  [index: string]: TelemetryEventPropertyType | Tagged<TelemetryEventPropertyType>;
822
691
  }
823
692
 
824
- /**
825
- * Warning emitted when requests to storage are being throttled
826
- */
827
- export declare interface IThrottlingWarning extends IErrorBase {
828
- /**
829
- * {@inheritDoc IErrorBase.errorType}
830
- */
831
- readonly errorType: typeof FluidErrorTypes.throttlingError;
832
- readonly retryAfterSeconds: number;
833
- }
693
+ /* Excluded from this release type: IThrottlingWarning */
834
694
 
835
- /**
836
- * Error indicating an API is being used improperly resulting in an invalid operation.
837
- */
838
- export declare interface IUsageError extends IErrorBase {
839
- /**
840
- * {@inheritDoc IErrorBase.errorType}
841
- */
842
- readonly errorType: typeof FluidErrorTypes.usageError;
843
- }
695
+ /* Excluded from this release type: IUsageError */
844
696
 
845
697
  /**
846
698
  * Specify levels of the logs.
699
+ * @alpha
847
700
  */
848
701
  export declare const LogLevel: {
849
702
  readonly verbose: 10;
@@ -853,11 +706,13 @@ export declare const LogLevel: {
853
706
 
854
707
  /**
855
708
  * Specify a level to the log to filter out logs based on the level.
709
+ * @alpha
856
710
  */
857
711
  export declare type LogLevel = (typeof LogLevel)[keyof typeof LogLevel];
858
712
 
859
713
  /**
860
714
  * Does the type replacement by changing types of {@link IEventThisPlaceHolder} to `TThis`
715
+ * @alpha
861
716
  */
862
717
  export declare type ReplaceIEventThisPlaceHolder<L extends any[], TThis> = L extends any[] ? {
863
718
  [K in keyof L]: L[K] extends IEventThisPlaceHolder ? TThis : L[K];
@@ -869,25 +724,20 @@ export declare type ReplaceIEventThisPlaceHolder<L extends any[], TThis> = L ext
869
724
  *
870
725
  * This indicates that the value should be organized or handled differently by loggers in various first or third
871
726
  * party scenarios. For example, tags are used to mark data that should not be stored in logs for privacy reasons.
727
+ * @alpha
872
728
  */
873
729
  export declare interface Tagged<V, T extends string = string> {
874
730
  value: V;
875
731
  tag: T;
876
732
  }
877
733
 
878
- /**
879
- * Property types that can be logged.
880
- *
881
- * @remarks Logging entire objects is considered extremely dangerous from a telemetry point of view because people can
882
- * easily add fields to objects that shouldn't be logged and not realize it's going to be logged.
883
- * General best practice is to explicitly log the fields you care about from objects.
884
- */
885
- export declare type TelemetryBaseEventPropertyType = TelemetryEventPropertyType;
734
+ /* Excluded from this release type: TelemetryBaseEventPropertyType */
886
735
 
887
736
  /**
888
737
  * Examples of known categories, however category can be any string for extensibility.
889
738
  *
890
739
  * @deprecated Moved to \@fluidframework/telemetry-utils package
740
+ * @alpha
891
741
  */
892
742
  export declare type TelemetryEventCategory = "generic" | "error" | "performance";
893
743
 
@@ -895,12 +745,14 @@ export declare type TelemetryEventCategory = "generic" | "error" | "performance"
895
745
  * {@inheritDoc TelemetryBaseEventPropertyType}
896
746
  *
897
747
  * @deprecated Renamed to {@link TelemetryBaseEventPropertyType}
748
+ * @alpha
898
749
  */
899
750
  export declare type TelemetryEventPropertyType = string | number | boolean | undefined;
900
751
 
901
752
  /**
902
753
  * Transforms the event overload by replacing {@link IEventThisPlaceHolder} with `TThis` in the event listener
903
754
  * arguments and having the overload return `TTHis` as well
755
+ * @alpha
904
756
  */
905
757
  export declare type TransformedEvent<TThis, E, A extends any[]> = (event: E, listener: (...args: ReplaceIEventThisPlaceHolder<A, TThis>) => void) => TThis;
906
758