@grafana/scenes 6.40.0--canary.1278.18560955561.0 → 6.40.0--canary.1265.18676273866.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 (142) hide show
  1. package/dist/esm/behaviors/SceneInteractionTracker.js.map +1 -1
  2. package/dist/esm/behaviors/SceneQueryController.js.map +1 -1
  3. package/dist/esm/components/SceneRefreshPicker.js +1 -1
  4. package/dist/esm/components/SceneRefreshPicker.js.map +1 -1
  5. package/dist/esm/components/VizPanel/VizPanel.js +26 -0
  6. package/dist/esm/components/VizPanel/VizPanel.js.map +1 -1
  7. package/dist/esm/components/VizPanel/VizPanelRenderer.js +20 -18
  8. package/dist/esm/components/VizPanel/VizPanelRenderer.js.map +1 -1
  9. package/dist/esm/core/SceneTimeRange.js +1 -1
  10. package/dist/esm/core/SceneTimeRange.js.map +1 -1
  11. package/dist/esm/index.js +6 -4
  12. package/dist/esm/index.js.map +1 -1
  13. package/dist/esm/locales/cs-CZ/grafana-scenes.json.js +4 -0
  14. package/dist/esm/locales/cs-CZ/grafana-scenes.json.js.map +1 -1
  15. package/dist/esm/locales/de-DE/grafana-scenes.json.js +4 -0
  16. package/dist/esm/locales/de-DE/grafana-scenes.json.js.map +1 -1
  17. package/dist/esm/locales/es-ES/grafana-scenes.json.js +4 -0
  18. package/dist/esm/locales/es-ES/grafana-scenes.json.js.map +1 -1
  19. package/dist/esm/locales/fr-FR/grafana-scenes.json.js +4 -0
  20. package/dist/esm/locales/fr-FR/grafana-scenes.json.js.map +1 -1
  21. package/dist/esm/locales/hu-HU/grafana-scenes.json.js +4 -0
  22. package/dist/esm/locales/hu-HU/grafana-scenes.json.js.map +1 -1
  23. package/dist/esm/locales/id-ID/grafana-scenes.json.js +4 -0
  24. package/dist/esm/locales/id-ID/grafana-scenes.json.js.map +1 -1
  25. package/dist/esm/locales/it-IT/grafana-scenes.json.js +4 -0
  26. package/dist/esm/locales/it-IT/grafana-scenes.json.js.map +1 -1
  27. package/dist/esm/locales/ja-JP/grafana-scenes.json.js +4 -0
  28. package/dist/esm/locales/ja-JP/grafana-scenes.json.js.map +1 -1
  29. package/dist/esm/locales/ko-KR/grafana-scenes.json.js +4 -0
  30. package/dist/esm/locales/ko-KR/grafana-scenes.json.js.map +1 -1
  31. package/dist/esm/locales/nl-NL/grafana-scenes.json.js +4 -0
  32. package/dist/esm/locales/nl-NL/grafana-scenes.json.js.map +1 -1
  33. package/dist/esm/locales/pl-PL/grafana-scenes.json.js +4 -0
  34. package/dist/esm/locales/pl-PL/grafana-scenes.json.js.map +1 -1
  35. package/dist/esm/locales/pt-BR/grafana-scenes.json.js +4 -0
  36. package/dist/esm/locales/pt-BR/grafana-scenes.json.js.map +1 -1
  37. package/dist/esm/locales/pt-PT/grafana-scenes.json.js +4 -0
  38. package/dist/esm/locales/pt-PT/grafana-scenes.json.js.map +1 -1
  39. package/dist/esm/locales/ru-RU/grafana-scenes.json.js +4 -0
  40. package/dist/esm/locales/ru-RU/grafana-scenes.json.js.map +1 -1
  41. package/dist/esm/locales/sv-SE/grafana-scenes.json.js +4 -0
  42. package/dist/esm/locales/sv-SE/grafana-scenes.json.js.map +1 -1
  43. package/dist/esm/locales/tr-TR/grafana-scenes.json.js +4 -0
  44. package/dist/esm/locales/tr-TR/grafana-scenes.json.js.map +1 -1
  45. package/dist/esm/locales/zh-Hans/grafana-scenes.json.js +4 -0
  46. package/dist/esm/locales/zh-Hans/grafana-scenes.json.js.map +1 -1
  47. package/dist/esm/locales/zh-Hant/grafana-scenes.json.js +4 -0
  48. package/dist/esm/locales/zh-Hant/grafana-scenes.json.js.map +1 -1
  49. package/dist/esm/{behaviors → performance}/LongFrameDetector.js +11 -11
  50. package/dist/esm/performance/LongFrameDetector.js.map +1 -0
  51. package/dist/esm/performance/PanelProfilingManager.js +65 -0
  52. package/dist/esm/performance/PanelProfilingManager.js.map +1 -0
  53. package/dist/esm/performance/ScenePerformanceTracker.js +78 -0
  54. package/dist/esm/performance/ScenePerformanceTracker.js.map +1 -0
  55. package/dist/esm/{behaviors → performance}/SceneRenderProfiler.js +87 -132
  56. package/dist/esm/performance/SceneRenderProfiler.js.map +1 -0
  57. package/dist/esm/performance/VizPanelRenderProfiler.js +316 -0
  58. package/dist/esm/performance/VizPanelRenderProfiler.js.map +1 -0
  59. package/dist/esm/performance/index.js +3 -0
  60. package/dist/esm/performance/index.js.map +1 -0
  61. package/dist/esm/performance/interactionConstants.js +13 -0
  62. package/dist/esm/performance/interactionConstants.js.map +1 -0
  63. package/dist/esm/querying/SceneDataTransformer.js +57 -0
  64. package/dist/esm/querying/SceneDataTransformer.js.map +1 -1
  65. package/dist/esm/querying/SceneQueryRunner.js +11 -6
  66. package/dist/esm/querying/SceneQueryRunner.js.map +1 -1
  67. package/dist/esm/querying/registerQueryWithController.js +39 -2
  68. package/dist/esm/querying/registerQueryWithController.js.map +1 -1
  69. package/dist/esm/utils/findPanelProfiler.js +18 -0
  70. package/dist/esm/utils/findPanelProfiler.js.map +1 -0
  71. package/dist/esm/utils/writePerformanceLog.js +12 -0
  72. package/dist/esm/utils/writePerformanceLog.js.map +1 -0
  73. package/dist/esm/utils/writeSceneLog.js +1 -10
  74. package/dist/esm/utils/writeSceneLog.js.map +1 -1
  75. package/dist/esm/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersCombobox.js +1 -1
  76. package/dist/esm/variables/adhoc/AdHocFiltersCombobox/AdHocFiltersCombobox.js.map +1 -1
  77. package/dist/esm/variables/adhoc/AdHocFiltersVariable.js +9 -12
  78. package/dist/esm/variables/adhoc/AdHocFiltersVariable.js.map +1 -1
  79. package/dist/esm/variables/components/VariableValueSelect.js +1 -1
  80. package/dist/esm/variables/components/VariableValueSelect.js.map +1 -1
  81. package/dist/esm/variables/groupby/GroupByVariable.js +5 -11
  82. package/dist/esm/variables/groupby/GroupByVariable.js.map +1 -1
  83. package/dist/esm/variables/variants/MultiValueVariable.js +1 -1
  84. package/dist/esm/variables/variants/MultiValueVariable.js.map +1 -1
  85. package/dist/esm/variables/variants/ScopesVariable.js +1 -1
  86. package/dist/esm/variables/variants/ScopesVariable.js.map +1 -1
  87. package/dist/{grafana-scenes-CfoPR_PZ.js → grafana-scenes-BH2OEiLz.js} +5 -1
  88. package/dist/{grafana-scenes-BbJq3cEa.js.map → grafana-scenes-BH2OEiLz.js.map} +1 -1
  89. package/dist/{grafana-scenes-cTJt4LR7.js → grafana-scenes-BLJV6eE3.js} +5 -1
  90. package/dist/{grafana-scenes-BbRDYrqK.js.map → grafana-scenes-BLJV6eE3.js.map} +1 -1
  91. package/dist/{grafana-scenes-CqMfWT-f.js → grafana-scenes-BrExMMR1.js} +5 -1
  92. package/dist/{grafana-scenes-BcDO8gk4.js.map → grafana-scenes-BrExMMR1.js.map} +1 -1
  93. package/dist/{grafana-scenes-CzZTvOrf.js → grafana-scenes-BrpU2VxI.js} +5 -1
  94. package/dist/{grafana-scenes-BtGEpoZT.js.map → grafana-scenes-BrpU2VxI.js.map} +1 -1
  95. package/dist/{grafana-scenes-zGpJY4O3.js → grafana-scenes-CRkk3i3Y.js} +5 -1
  96. package/dist/grafana-scenes-CRkk3i3Y.js.map +1 -0
  97. package/dist/{grafana-scenes-kfW02M-K.js → grafana-scenes-CfuUpx6R.js} +5 -1
  98. package/dist/grafana-scenes-CfuUpx6R.js.map +1 -0
  99. package/dist/{grafana-scenes-CMtHJ23j.js → grafana-scenes-Cl-piLdF.js} +5 -1
  100. package/dist/grafana-scenes-Cl-piLdF.js.map +1 -0
  101. package/dist/{grafana-scenes-CS09sc_L.js → grafana-scenes-D-DPZiBx.js} +5 -1
  102. package/dist/grafana-scenes-D-DPZiBx.js.map +1 -0
  103. package/dist/{grafana-scenes-CixWq8rH.js → grafana-scenes-D1jd3aZp.js} +5 -1
  104. package/dist/grafana-scenes-D1jd3aZp.js.map +1 -0
  105. package/dist/{grafana-scenes-CoXR5Z7T.js → grafana-scenes-DNMnQEFs.js} +5 -1
  106. package/dist/grafana-scenes-DNMnQEFs.js.map +1 -0
  107. package/dist/{grafana-scenes-BwQ_A3lk.js → grafana-scenes-DPbgWPLH.js} +5 -1
  108. package/dist/grafana-scenes-DPbgWPLH.js.map +1 -0
  109. package/dist/{grafana-scenes-BbRDYrqK.js → grafana-scenes-DTn3nyOX.js} +5 -1
  110. package/dist/grafana-scenes-DTn3nyOX.js.map +1 -0
  111. package/dist/{grafana-scenes-VOzZRdKp.js → grafana-scenes-DaO9TTTj.js} +5 -1
  112. package/dist/grafana-scenes-DaO9TTTj.js.map +1 -0
  113. package/dist/{grafana-scenes-C-CibbsO.js → grafana-scenes-DoKV4lED.js} +5 -1
  114. package/dist/grafana-scenes-DoKV4lED.js.map +1 -0
  115. package/dist/{grafana-scenes-BcDO8gk4.js → grafana-scenes-DpvJWDGo.js} +5 -1
  116. package/dist/grafana-scenes-DpvJWDGo.js.map +1 -0
  117. package/dist/{grafana-scenes-naZktXG6.js → grafana-scenes-Kqjin1Vr.js} +5 -1
  118. package/dist/grafana-scenes-Kqjin1Vr.js.map +1 -0
  119. package/dist/{grafana-scenes-BbJq3cEa.js → grafana-scenes-OEGPBO01.js} +5 -1
  120. package/dist/grafana-scenes-OEGPBO01.js.map +1 -0
  121. package/dist/{grafana-scenes-BtGEpoZT.js → grafana-scenes-qNHDZUAZ.js} +5 -1
  122. package/dist/grafana-scenes-qNHDZUAZ.js.map +1 -0
  123. package/dist/index.d.ts +324 -105
  124. package/dist/index.js +6708 -6168
  125. package/dist/index.js.map +1 -1
  126. package/package.json +2 -2
  127. package/dist/esm/behaviors/LongFrameDetector.js.map +0 -1
  128. package/dist/esm/behaviors/SceneRenderProfiler.js.map +0 -1
  129. package/dist/grafana-scenes-BwQ_A3lk.js.map +0 -1
  130. package/dist/grafana-scenes-C-CibbsO.js.map +0 -1
  131. package/dist/grafana-scenes-CMtHJ23j.js.map +0 -1
  132. package/dist/grafana-scenes-CS09sc_L.js.map +0 -1
  133. package/dist/grafana-scenes-CfoPR_PZ.js.map +0 -1
  134. package/dist/grafana-scenes-CixWq8rH.js.map +0 -1
  135. package/dist/grafana-scenes-CoXR5Z7T.js.map +0 -1
  136. package/dist/grafana-scenes-CqMfWT-f.js.map +0 -1
  137. package/dist/grafana-scenes-CzZTvOrf.js.map +0 -1
  138. package/dist/grafana-scenes-VOzZRdKp.js.map +0 -1
  139. package/dist/grafana-scenes-cTJt4LR7.js.map +0 -1
  140. package/dist/grafana-scenes-kfW02M-K.js.map +0 -1
  141. package/dist/grafana-scenes-naZktXG6.js.map +0 -1
  142. package/dist/grafana-scenes-zGpJY4O3.js.map +0 -1
package/dist/index.d.ts CHANGED
@@ -1,11 +1,11 @@
1
1
  import * as _grafana_data from '@grafana/data';
2
- import { BusEventWithPayload, EventBus, BusEvent, BusEventType, BusEventHandler, PanelMenuItem, FieldConfigSource, PanelPlugin, AbsoluteTimeRange, PanelData, InterpolateFunction, PanelModel, TimeRange, DataTransformContext, DataFrame, DataQueryRequest, DataSourceGetTagKeysOptions, DataSourceGetTagValuesOptions, IconName, PageLayoutType, UrlQueryMap, DataQuery as DataQuery$1, DataSourceApi, Registry, RegistryItem, ScopedVars, AdHocVariableFilter, GrafanaTheme2, GetTagResponse, MetricFindValue, SelectableValue, DrilldownsApplicability, VariableRefresh as VariableRefresh$1, VariableSort, Scope, EventFilterOptions, AnnotationEvent, AnnotationQuery, DataTransformerConfig, TimeOption, FieldConfig, FieldType, FieldValueMatcherConfig, ScopedVar, RawTimeRange } from '@grafana/data';
2
+ import { BusEventWithPayload, EventBus, BusEvent, BusEventType, BusEventHandler, PanelMenuItem, DataQueryRequest, FieldConfigSource, PanelPlugin, AbsoluteTimeRange, PanelData, InterpolateFunction, PanelModel, TimeRange, DataTransformContext, DataFrame, DataSourceGetTagKeysOptions, DataSourceGetTagValuesOptions, IconName, PageLayoutType, UrlQueryMap, DataQuery as DataQuery$1, DataSourceApi, Registry, RegistryItem, ScopedVars, AdHocVariableFilter, GetTagResponse, MetricFindValue, SelectableValue, VariableRefresh as VariableRefresh$1, VariableSort, DrilldownsApplicability, Scope, EventFilterOptions, AnnotationEvent, AnnotationQuery, DataTransformerConfig, TimeOption, FieldConfig, FieldType, FieldValueMatcherConfig, ScopedVar, RawTimeRange } from '@grafana/data';
3
+ import * as _grafana_schema from '@grafana/schema';
4
+ import { VariableType, VariableHide, LoadingState, TimeZone, DataQuery, DataTopic, DataSourceRef, VariableRefresh, DashboardCursorSync, MatcherConfig, TableFieldOptions } from '@grafana/schema';
3
5
  import * as React$1 from 'react';
4
6
  import React__default, { ComponentType, CSSProperties, PointerEvent, ForwardRefExoticComponent } from 'react';
5
7
  import * as rxjs from 'rxjs';
6
8
  import { Observable, Subscription, Unsubscribable, MonoTypeOperatorFunction, ReplaySubject } from 'rxjs';
7
- import * as _grafana_schema from '@grafana/schema';
8
- import { VariableType, VariableHide, TimeZone, DataQuery, DataTopic, DataSourceRef, VariableRefresh, LoadingState, DashboardCursorSync, MatcherConfig, TableFieldOptions } from '@grafana/schema';
9
9
  import { PanelContext, WeekStart, IconName as IconName$1 } from '@grafana/ui';
10
10
  import { LocationService, VariableInterpolation, ScopesContextValue } from '@grafana/runtime';
11
11
  import { Location } from 'history';
@@ -315,6 +315,127 @@ declare class VariableDependencyConfig<TState extends SceneObjectState> implemen
315
315
  private handleTimeMacros;
316
316
  }
317
317
 
318
+ interface LongFrameEvent {
319
+ duration: number;
320
+ timestamp: number;
321
+ method: 'manual' | 'loaf';
322
+ }
323
+ type LongFrameCallback = (event: LongFrameEvent) => void;
324
+
325
+ interface QueryResultWithState {
326
+ state: LoadingState;
327
+ }
328
+ interface SceneQueryControllerEntry {
329
+ request?: DataQueryRequest;
330
+ type: SceneQueryControllerEntryType;
331
+ origin: SceneObject;
332
+ cancel?: () => void;
333
+ }
334
+ type SceneQueryControllerEntryType = 'data' | 'annotations' | 'variable' | 'alerts' | 'plugin' | string;
335
+
336
+
337
+
338
+ interface SceneComponentInteractionEvent {
339
+ origin: string;
340
+ duration: number;
341
+ networkDuration: number;
342
+ startTs: number;
343
+ endTs: number;
344
+ }
345
+ interface SceneInteractionTrackerState extends SceneObjectState {
346
+ enableInteractionTracking?: boolean;
347
+ onInteractionComplete?(event: SceneComponentInteractionEvent): void;
348
+ }
349
+ interface SceneQueryStateControllerState extends SceneObjectState {
350
+ isRunning: boolean;
351
+ enableProfiling?: boolean;
352
+ }
353
+ interface SceneQueryControllerLike extends SceneObject<SceneQueryStateControllerState> {
354
+ isQueryController: true;
355
+ cancelAll(): void;
356
+ queryStarted(entry: SceneQueryControllerEntry): void;
357
+ queryCompleted(entry: SceneQueryControllerEntry): void;
358
+ startProfile(name: string): void;
359
+ cancelProfile(): void;
360
+ runningQueriesCount(): number;
361
+ }
362
+
363
+ /**
364
+ * Performance tracking callback types
365
+ */
366
+ type QueryCompletionCallback = (endTimestamp: number, error?: any) => void;
367
+ type PluginLoadCompletionCallback = (plugin: any, fromCache?: boolean) => void;
368
+ type FieldConfigCompletionCallback = (endTimestamp: number, dataPointsCount?: number, seriesCount?: number) => void;
369
+ type RenderCompletionCallback = (endTimestamp: number, duration: number) => void;
370
+ type DataTransformCompletionCallback = (endTimestamp: number, duration: number, success: boolean, result?: {
371
+ error?: string;
372
+ }) => void;
373
+
374
+ interface QueryProfilerLike {
375
+ onQueryStarted(timestamp: number, entry: SceneQueryControllerEntry, queryId: string): QueryCompletionCallback | null;
376
+ }
377
+ /**
378
+ * Will look for a scene object with a behavior that is a SceneQueryController and register the query with it.
379
+ * Optionally accepts a panel profiler for direct query tracking callbacks.
380
+ */
381
+ declare function registerQueryWithController<T extends QueryResultWithState>(entry: SceneQueryControllerEntry, profiler?: QueryProfilerLike): (queryStream: Observable<T>) => Observable<T>;
382
+
383
+ interface VizPanelRenderProfilerState extends SceneObjectState {
384
+ }
385
+ /**
386
+ * Tracks performance metrics for individual VizPanel instances using observer pattern.
387
+ *
388
+ * Performance events are sent to ScenePerformanceTracker observers, which are consumed
389
+ * by Grafana's ScenePerformanceLogger and DashboardAnalyticsAggregator.
390
+ */
391
+ declare class VizPanelRenderProfiler extends SceneObjectBase<VizPanelRenderProfilerState> implements QueryProfilerLike {
392
+ private _panelKey?;
393
+ private _panelId?;
394
+ private _pluginId?;
395
+ private _pluginVersion?;
396
+ private _isTracking;
397
+ private _loadPluginStartTime?;
398
+ private _applyFieldConfigStartTime?;
399
+ private _activeQueries;
400
+ constructor(state?: Partial<VizPanelRenderProfilerState>);
401
+ private _onActivate;
402
+ private _handlePanelStateChange;
403
+ /**
404
+ * Track query execution with operation ID correlation
405
+ */
406
+ onQueryStarted(timestamp: number, entry: SceneQueryControllerEntry, queryId: string): QueryCompletionCallback | null;
407
+ /**
408
+ * Track plugin loading with operation ID correlation
409
+ */
410
+ onPluginLoadStart(pluginId: string): PluginLoadCompletionCallback | null;
411
+ /**
412
+ * Track field config processing with operation ID correlation
413
+ */
414
+ onFieldConfigStart(timestamp: number): FieldConfigCompletionCallback | null;
415
+ /**
416
+ * Get panel info for logging - truncates long titles for readability
417
+ */
418
+ private _getPanelInfo;
419
+ /**
420
+ * Track simple render timing with operation ID correlation
421
+ */
422
+ onSimpleRenderStart(timestamp: number): RenderCompletionCallback | undefined;
423
+ /** Handle plugin changes */
424
+ private _onPluginChange;
425
+ /** Start tracking this panel */
426
+ private _startTracking;
427
+ /** Cleanup when behavior is deactivated */
428
+ private _cleanup;
429
+ /**
430
+ * Track data transformation with operation ID correlation
431
+ */
432
+ onDataTransformStart(timestamp: number, transformationId: string, metrics: {
433
+ transformationCount: number;
434
+ seriesTransformationCount: number;
435
+ annotationTransformationCount: number;
436
+ }): DataTransformCompletionCallback | null;
437
+ }
438
+
318
439
  interface VizPanelState<TOptions = {}, TFieldConfig = {}> extends SceneObjectState {
319
440
  /**
320
441
  * This is usually a plugin id that references a core plugin or an external plugin. But this can also reference a
@@ -335,10 +456,6 @@ interface VizPanelState<TOptions = {}, TFieldConfig = {}> extends SceneObjectSta
335
456
  * Offset hoverHeader position on the y axis
336
457
  */
337
458
  hoverHeaderOffset?: number;
338
- /**
339
- * Allows adding elements to the subheader of the panel.
340
- */
341
- subHeaderContent?: React.ReactNode | SceneObject | SceneObject[];
342
459
  /**
343
460
  * Only shows vizPanelMenu on hover if false, otherwise the menu is always visible in the header
344
461
  */
@@ -389,6 +506,10 @@ declare class VizPanel<TOptions = {}, TFieldConfig extends {} = {}> extends Scen
389
506
  private _dataWithFieldConfig?;
390
507
  private _structureRev;
391
508
  constructor(state: Partial<VizPanelState<TOptions, TFieldConfig>>);
509
+ /**
510
+ * Get the VizPanelRenderProfiler behavior if attached
511
+ */
512
+ getProfiler(): VizPanelRenderProfiler | undefined;
392
513
  private _onActivate;
393
514
  forceRender(): void;
394
515
  private _loadPlugin;
@@ -867,10 +988,6 @@ declare function escapeLabelValueInExactSelector(labelValue: string): string;
867
988
  declare function escapeLabelValueInRegexSelector(labelValue: string): string;
868
989
  declare function escapeUrlPipeDelimiters(value: string | undefined): string;
869
990
  declare function escapeURLDelimiters(value: string | undefined): string;
870
- declare function getNonApplicablePillStyles(theme: GrafanaTheme2): {
871
- disabledPill: string;
872
- strikethrough: string;
873
- };
874
991
 
875
992
  declare class AdHocFiltersVariableUrlSyncHandler implements SceneObjectUrlSyncHandler {
876
993
  private _variable;
@@ -1024,7 +1141,6 @@ declare class AdHocFiltersVariable extends SceneObjectBase<AdHocFiltersVariableS
1024
1141
  _removeFilter(filter: AdHocFilterWithLabels): void;
1025
1142
  _removeLastFilter(): void;
1026
1143
  _handleComboboxBackspace(filter: AdHocFilterWithLabels): void;
1027
- getFiltersApplicabilityForQueries(filters: AdHocFilterWithLabels[], queries: SceneDataQuery[]): Promise<DrilldownsApplicability[] | undefined>;
1028
1144
  _verifyApplicability(): Promise<void>;
1029
1145
  /**
1030
1146
  * Get possible keys given current filters. Do not call from plugins directly
@@ -1278,7 +1394,6 @@ declare class GroupByVariable extends MultiValueVariable<GroupByVariableState> {
1278
1394
  constructor(initialState: Partial<GroupByVariableState>);
1279
1395
  private _activationHandler;
1280
1396
  getApplicableKeys(): VariableValue;
1281
- getGroupByApplicabilityForQueries(value: VariableValue, queries: SceneDataQuery[]): Promise<DrilldownsApplicability[] | undefined>;
1282
1397
  _verifyApplicability(): Promise<void>;
1283
1398
  checkIfRestorable(values: VariableValue): boolean;
1284
1399
  restoreDefaultValues(): void;
@@ -1353,65 +1468,6 @@ declare class UserActionEvent extends BusEventWithPayload<UserActionEventPayload
1353
1468
  */
1354
1469
  declare function lookupVariable(name: string, sceneObject: SceneObject): SceneVariable | null;
1355
1470
 
1356
- interface LongFrameEvent {
1357
- duration: number;
1358
- timestamp: number;
1359
- method: 'manual' | 'loaf';
1360
- }
1361
- type LongFrameCallback = (event: LongFrameEvent) => void;
1362
-
1363
- interface QueryResultWithState {
1364
- state: LoadingState;
1365
- }
1366
- interface SceneQueryControllerEntry {
1367
- request?: DataQueryRequest;
1368
- type: SceneQueryControllerEntryType;
1369
- origin: SceneObject;
1370
- cancel?: () => void;
1371
- }
1372
- type SceneQueryControllerEntryType = 'data' | 'annotations' | 'variable' | 'alerts' | 'plugin' | string;
1373
-
1374
-
1375
-
1376
- interface SceneInteractionProfileEvent {
1377
- origin: string;
1378
- duration: number;
1379
- networkDuration: number;
1380
- jsHeapSizeLimit: number;
1381
- usedJSHeapSize: number;
1382
- totalJSHeapSize: number;
1383
- crumbs: string[];
1384
- startTs: number;
1385
- endTs: number;
1386
- longFramesCount: number;
1387
- longFramesTotalTime: number;
1388
- }
1389
- interface SceneComponentInteractionEvent {
1390
- origin: string;
1391
- duration: number;
1392
- networkDuration: number;
1393
- startTs: number;
1394
- endTs: number;
1395
- }
1396
- interface SceneInteractionTrackerState extends SceneObjectState {
1397
- enableInteractionTracking?: boolean;
1398
- onInteractionComplete?(event: SceneComponentInteractionEvent): void;
1399
- }
1400
- interface SceneQueryStateControllerState extends SceneObjectState {
1401
- isRunning: boolean;
1402
- enableProfiling?: boolean;
1403
- onProfileComplete?(event: SceneInteractionProfileEvent): void;
1404
- }
1405
- interface SceneQueryControllerLike extends SceneObject<SceneQueryStateControllerState> {
1406
- isQueryController: true;
1407
- cancelAll(): void;
1408
- queryStarted(entry: SceneQueryControllerEntry): void;
1409
- queryCompleted(entry: SceneQueryControllerEntry): void;
1410
- startProfile(name: string): void;
1411
- cancelProfile(): void;
1412
- runningQueriesCount(): number;
1413
- }
1414
-
1415
1471
  /**
1416
1472
  * Returns the closest query controller undefined if none found
1417
1473
  */
@@ -1591,6 +1647,10 @@ declare class PanelContextEventBus implements EventBus {
1591
1647
  newScopedBus(key: string, filter: EventFilterOptions): EventBus;
1592
1648
  }
1593
1649
 
1650
+ interface PanelProfilingConfig {
1651
+ watchStateKey?: string;
1652
+ }
1653
+
1594
1654
  /**
1595
1655
  * SceneRenderProfiler tracks dashboard interaction performance including:
1596
1656
  * - Total interaction duration
@@ -1610,9 +1670,17 @@ declare class PanelContextEventBus implements EventBus {
1610
1670
  */
1611
1671
  declare class SceneRenderProfiler {
1612
1672
  #private;
1673
+ private metadata;
1674
+ private _panelProfilingManager?;
1613
1675
  private queryController?;
1614
- constructor(queryController?: SceneQueryControllerLike | undefined);
1676
+ constructor(panelProfilingConfig?: PanelProfilingConfig);
1677
+ /** Set generic metadata for observer notifications */
1678
+ setMetadata(metadata: Record<string, unknown>): void;
1615
1679
  setQueryController(queryController: SceneQueryControllerLike): void;
1680
+ /** Attach panel profiling to a scene object */
1681
+ attachPanelProfiling(sceneObject: SceneObject): void;
1682
+ /** Attach profiler to a specific panel */
1683
+ attachProfilerToPanel(panel: VizPanel): void;
1616
1684
  setInteractionCompleteHandler(handler?: (event: SceneComponentInteractionEvent) => void): void;
1617
1685
  private setupVisibilityChangeHandler;
1618
1686
  cleanup(): void;
@@ -1621,14 +1689,9 @@ declare class SceneRenderProfiler {
1621
1689
  stopInteraction(): void;
1622
1690
  getCurrentInteraction(): string | null;
1623
1691
  /**
1624
- * Starts a new profile for performance measurement.
1625
- *
1626
- * @param name - The origin/trigger of the profile (e.g., 'time_range_change', 'variable_value_changed')
1627
- * @param force - Whether this is a "forced" profile (true) or "clean" profile (false)
1628
- * - "forced": Started by canceling an existing profile that was recording trailing frames
1629
- * This happens when a new user interaction occurs before the previous one
1630
- * finished measuring its performance impact
1631
- * - "clean": Started when no profile is currently active
1692
+ * Start new performance profile
1693
+ * @param name - Profile trigger (e.g., 'time_range_change')
1694
+ * @param force - True if canceling existing profile, false if starting clean
1632
1695
  */
1633
1696
  private _startNewProfile;
1634
1697
  private recordProfileTail;
@@ -1677,26 +1740,184 @@ declare class LiveNowTimer extends SceneObjectBase<LiveNowTimerState> {
1677
1740
  get isEnabled(): boolean;
1678
1741
  }
1679
1742
 
1680
- type index$1_ActWhenVariableChanged = ActWhenVariableChanged;
1681
- declare const index$1_ActWhenVariableChanged: typeof ActWhenVariableChanged;
1682
- type index$1_CursorSync = CursorSync;
1683
- declare const index$1_CursorSync: typeof CursorSync;
1684
- type index$1_LiveNowTimer = LiveNowTimer;
1685
- declare const index$1_LiveNowTimer: typeof LiveNowTimer;
1686
- type index$1_SceneInteractionTracker = SceneInteractionTracker;
1687
- declare const index$1_SceneInteractionTracker: typeof SceneInteractionTracker;
1688
- type index$1_SceneQueryController = SceneQueryController;
1689
- declare const index$1_SceneQueryController: typeof SceneQueryController;
1690
- declare namespace index$1 {
1743
+ type index$2_ActWhenVariableChanged = ActWhenVariableChanged;
1744
+ declare const index$2_ActWhenVariableChanged: typeof ActWhenVariableChanged;
1745
+ type index$2_CursorSync = CursorSync;
1746
+ declare const index$2_CursorSync: typeof CursorSync;
1747
+ type index$2_LiveNowTimer = LiveNowTimer;
1748
+ declare const index$2_LiveNowTimer: typeof LiveNowTimer;
1749
+ type index$2_SceneInteractionTracker = SceneInteractionTracker;
1750
+ declare const index$2_SceneInteractionTracker: typeof SceneInteractionTracker;
1751
+ type index$2_SceneQueryController = SceneQueryController;
1752
+ declare const index$2_SceneQueryController: typeof SceneQueryController;
1753
+ declare namespace index$2 {
1691
1754
  export {
1692
- index$1_ActWhenVariableChanged as ActWhenVariableChanged,
1693
- index$1_CursorSync as CursorSync,
1694
- index$1_LiveNowTimer as LiveNowTimer,
1695
- index$1_SceneInteractionTracker as SceneInteractionTracker,
1696
- index$1_SceneQueryController as SceneQueryController,
1755
+ index$2_ActWhenVariableChanged as ActWhenVariableChanged,
1756
+ index$2_CursorSync as CursorSync,
1757
+ index$2_LiveNowTimer as LiveNowTimer,
1758
+ index$2_SceneInteractionTracker as SceneInteractionTracker,
1759
+ index$2_SceneQueryController as SceneQueryController,
1697
1760
  };
1698
1761
  }
1699
1762
 
1763
+ /** Base interface for all performance events */
1764
+ interface BasePerformanceEvent {
1765
+ operationId: string;
1766
+ timestamp: number;
1767
+ duration?: number;
1768
+ error?: string;
1769
+ }
1770
+ interface DashboardInteractionStartData extends BasePerformanceEvent {
1771
+ interactionType: string;
1772
+ metadata?: Record<string, unknown>;
1773
+ }
1774
+ interface DashboardInteractionMilestoneData extends BasePerformanceEvent {
1775
+ interactionType: string;
1776
+ milestone: string;
1777
+ metadata?: Record<string, unknown>;
1778
+ }
1779
+ interface DashboardInteractionCompleteData extends BasePerformanceEvent {
1780
+ interactionType: string;
1781
+ networkDuration?: number;
1782
+ longFramesCount: number;
1783
+ longFramesTotalTime: number;
1784
+ metadata?: Record<string, unknown>;
1785
+ }
1786
+ /** Metadata interface for transform operations */
1787
+ interface TransformMetadata {
1788
+ transformationId: string;
1789
+ transformationCount: number;
1790
+ seriesTransformationCount: number;
1791
+ annotationTransformationCount: number;
1792
+ success?: boolean;
1793
+ error?: string;
1794
+ }
1795
+ /** Metadata interface for query operations */
1796
+ interface QueryMetadata {
1797
+ queryId: string;
1798
+ queryType: string;
1799
+ }
1800
+ /** Metadata interface for render operations */
1801
+ interface RenderMetadata {
1802
+ }
1803
+ /** Metadata interface for plugin load operations */
1804
+ interface PluginLoadMetadata {
1805
+ pluginId: string;
1806
+ fromCache?: boolean;
1807
+ pluginLoadTime?: number;
1808
+ }
1809
+ /** Metadata interface for field config operations */
1810
+ interface FieldConfigMetadata {
1811
+ }
1812
+ /** Base interface for panel performance events */
1813
+ interface BasePanelPerformanceData extends BasePerformanceEvent {
1814
+ panelId: string;
1815
+ panelKey: string;
1816
+ pluginId: string;
1817
+ pluginVersion?: string;
1818
+ panelTitle?: string;
1819
+ }
1820
+ /** Transform operation performance data */
1821
+ interface PanelTransformPerformanceData extends BasePanelPerformanceData {
1822
+ operation: 'transform';
1823
+ metadata: TransformMetadata;
1824
+ }
1825
+ /** Query operation performance data */
1826
+ interface PanelQueryPerformanceData extends BasePanelPerformanceData {
1827
+ operation: 'query';
1828
+ metadata: QueryMetadata;
1829
+ }
1830
+ /** Render operation performance data */
1831
+ interface PanelRenderPerformanceData extends BasePanelPerformanceData {
1832
+ operation: 'render';
1833
+ metadata: RenderMetadata;
1834
+ }
1835
+ /** Plugin load operation performance data */
1836
+ interface PanelPluginLoadPerformanceData extends BasePanelPerformanceData {
1837
+ operation: 'plugin-load';
1838
+ metadata: PluginLoadMetadata;
1839
+ }
1840
+ /** Field config operation performance data */
1841
+ interface PanelFieldConfigPerformanceData extends BasePanelPerformanceData {
1842
+ operation: 'fieldConfig';
1843
+ metadata: FieldConfigMetadata;
1844
+ }
1845
+ /** Discriminated union of all panel performance data types */
1846
+ type PanelPerformanceData = PanelTransformPerformanceData | PanelQueryPerformanceData | PanelRenderPerformanceData | PanelPluginLoadPerformanceData | PanelFieldConfigPerformanceData;
1847
+ /** Non-panel query performance data for dashboard queries (annotations, variables, etc.) */
1848
+ interface QueryPerformanceData extends BasePerformanceEvent {
1849
+ queryId: string;
1850
+ queryType: string;
1851
+ origin: string;
1852
+ }
1853
+ /**
1854
+ * Observer interface for performance monitoring
1855
+ * External systems implement this to receive performance notifications
1856
+ */
1857
+ interface ScenePerformanceObserver {
1858
+ onDashboardInteractionStart?(data: DashboardInteractionStartData): void;
1859
+ onDashboardInteractionMilestone?(data: DashboardInteractionMilestoneData): void;
1860
+ onDashboardInteractionComplete?(data: DashboardInteractionCompleteData): void;
1861
+ onPanelOperationStart?(data: PanelPerformanceData): void;
1862
+ onPanelOperationComplete?(data: PanelPerformanceData): void;
1863
+ onQueryStart?(data: QueryPerformanceData): void;
1864
+ onQueryComplete?(data: QueryPerformanceData): void;
1865
+ }
1866
+ /**
1867
+ * Centralized performance tracker
1868
+ * Manages observers and provides methods for scene objects to report performance events
1869
+ */
1870
+ declare class ScenePerformanceTracker {
1871
+ private static instance;
1872
+ private observers;
1873
+ static getInstance(): ScenePerformanceTracker;
1874
+ /**
1875
+ * Register a performance observer
1876
+ */
1877
+ addObserver(observer: ScenePerformanceObserver): () => void;
1878
+ /**
1879
+ * Remove all observers (for testing)
1880
+ */
1881
+ clearObservers(): void;
1882
+ /**
1883
+ * Get current observer count (for debugging)
1884
+ */
1885
+ getObserverCount(): number;
1886
+ private notifyObservers;
1887
+ notifyDashboardInteractionStart(data: DashboardInteractionStartData): void;
1888
+ notifyDashboardInteractionMilestone(data: DashboardInteractionMilestoneData): void;
1889
+ notifyDashboardInteractionComplete(data: DashboardInteractionCompleteData): void;
1890
+ notifyPanelOperationStart(data: PanelPerformanceData): void;
1891
+ notifyPanelOperationComplete(data: PanelPerformanceData): void;
1892
+ notifyQueryStart(data: QueryPerformanceData): void;
1893
+ notifyQueryComplete(data: QueryPerformanceData): void;
1894
+ }
1895
+ /**
1896
+ * Get the global performance tracker instance
1897
+ */
1898
+ declare function getScenePerformanceTracker(): ScenePerformanceTracker;
1899
+
1900
+
1901
+
1902
+
1903
+
1904
+
1905
+
1906
+ type index$1_DashboardInteractionCompleteData = DashboardInteractionCompleteData;
1907
+ type index$1_DashboardInteractionMilestoneData = DashboardInteractionMilestoneData;
1908
+ type index$1_DashboardInteractionStartData = DashboardInteractionStartData;
1909
+ type index$1_PanelPerformanceData = PanelPerformanceData;
1910
+ type index$1_ScenePerformanceObserver = ScenePerformanceObserver;
1911
+ type index$1_SceneRenderProfiler = SceneRenderProfiler;
1912
+ declare const index$1_SceneRenderProfiler: typeof SceneRenderProfiler;
1913
+ declare const index$1_getScenePerformanceTracker: typeof getScenePerformanceTracker;
1914
+ declare namespace index$1 {
1915
+ export { index$1_SceneRenderProfiler as SceneRenderProfiler, index$1_getScenePerformanceTracker as getScenePerformanceTracker };
1916
+ export type { index$1_DashboardInteractionCompleteData as DashboardInteractionCompleteData, index$1_DashboardInteractionMilestoneData as DashboardInteractionMilestoneData, index$1_DashboardInteractionStartData as DashboardInteractionStartData, index$1_PanelPerformanceData as PanelPerformanceData, index$1_ScenePerformanceObserver as ScenePerformanceObserver };
1917
+ }
1918
+
1919
+ declare function writePerformanceLog(logger: string, message: string, ...rest: unknown[]): void;
1920
+
1700
1921
  /**
1701
1922
  * Base class for data layer. Handles common implementation including enabling/disabling layer and publishing results.
1702
1923
  */
@@ -2022,6 +2243,10 @@ declare class SceneDataTransformer extends SceneObjectBase<SceneDataTransformerS
2022
2243
  setContainerWidth(width: number): void;
2023
2244
  isDataReadyToDisplay(): boolean;
2024
2245
  reprocessTransformations(): void;
2246
+ /**
2247
+ * S3.1: Calculate transformation complexity metrics
2248
+ */
2249
+ private _calculateTransformationMetrics;
2025
2250
  cancelQuery(): void;
2026
2251
  getResultsStream(): ReplaySubject<SceneDataProviderResult>;
2027
2252
  clone(withState?: Partial<SceneDataTransformerState>): this;
@@ -2033,11 +2258,6 @@ declare class SceneDataTransformer extends SceneObjectBase<SceneDataTransformerS
2033
2258
  private _filterAndPrepareTransformationsByTopic;
2034
2259
  }
2035
2260
 
2036
- /**
2037
- * Will look for a scene object with a behavior that is a SceneQueryController and register the query with it.
2038
- */
2039
- declare function registerQueryWithController<T extends QueryResultWithState>(entry: SceneQueryControllerEntry): (queryStream: Observable<T>) => Observable<T>;
2040
-
2041
2261
  interface VariableValueSelectorsState extends SceneObjectState {
2042
2262
  layout?: ControlsLayout;
2043
2263
  }
@@ -3215,7 +3435,6 @@ declare const loadResources: ResourceLoader;
3215
3435
 
3216
3436
 
3217
3437
 
3218
-
3219
3438
 
3220
3439
 
3221
3440
  declare const sceneUtils: {
@@ -3243,5 +3462,5 @@ declare const sceneUtils: {
3243
3462
  buildPathIdFor: typeof buildPathIdFor;
3244
3463
  };
3245
3464
 
3246
- export { AdHocFiltersVariable, ConstantVariable, ControlsLabel, CustomVariable, DataProviderProxy, DataSourceVariable, EmbeddedScene, FieldConfigBuilder, FieldConfigBuilders, FieldConfigOverridesBuilder, GroupByVariable, IntervalVariable, LazyLoader, LocalValueVariable, MultiOrSingleValueSelect, MultiValueVariable, NestedScene, NewSceneObjectAddedEvent, PATH_ID_SEPARATOR, PanelBuilders, PanelOptionsBuilders, QueryVariable, RuntimeDataSource, SafeSerializableSceneObject, SceneApp, SceneAppPage, SceneByFrameRepeater, SceneByVariableRepeater, SceneCSSGridItem, SceneCSSGridLayout, SceneCanvasText, SceneControlsSpacer, SceneDataLayerBase, SceneDataLayerControls, SceneDataLayerSet, SceneDataLayerSetBase, SceneDataNode, SceneDataTransformer, SceneDebugger, SceneFlexItem, SceneFlexLayout, SceneGridItem, SceneGridLayout, SceneGridLayoutDragStartEvent, SceneGridRow, SceneObjectBase, SceneObjectRef, SceneObjectStateChangedEvent, SceneObjectUrlSyncConfig, SceneQueryRunner, SceneReactObject, SceneRefreshPicker, SceneRenderProfiler, SceneTimePicker, SceneTimeRange, SceneTimeRangeCompare, SceneTimeRangeTransformerBase, SceneTimeZoneOverride, SceneToolbarButton, SceneToolbarInput, SceneVariableSet, SceneVariableValueChangedEvent, ScopesVariable, SplitLayout, SwitchVariable, TestVariable, TextBoxVariable, UrlSyncContextProvider, UrlSyncManager, UserActionEvent, VariableDependencyConfig, VariableValueControl, VariableValueSelectWrapper, VariableValueSelectors, VizConfigBuilder, VizConfigBuilders, VizPanel, VizPanelBuilder, VizPanelExploreButton, VizPanelMenu, index$1 as behaviors, index as dataLayers, escapeUrlPipeDelimiters, formatRegistry, getExploreURL, getNonApplicablePillStyles, isCustomVariableValue, isDataLayer, isDataRequestEnricher, isFiltersRequestEnricher, isSceneObject, loadResources, registerQueryWithController, registerRuntimeDataSource, sceneGraph, sceneUtils, useSceneApp, useSceneObjectState, useUrlSync };
3247
- export type { AdHocFilterWithLabels, CancelActivationHandler, ControlsLayout, CustomFormatterVariable, CustomTransformOperator, CustomTransformerDefinition, CustomVariableValue, DataLayerFilter, DataRequestEnricher, DeepPartial, EmbeddedSceneState, ExtraQueryDataProcessor, ExtraQueryDescriptor, ExtraQueryProvider, FiltersRequestEnricher, FormatVariable, InterpolationFormatParameter, MacroVariableConstructor, MultiValueVariableState, QueryRunnerState, SceneActivationHandler, SceneAppDrilldownView, SceneAppPageLike, SceneAppPageState, SceneAppRoute, SceneComponent, SceneComponentProps, SceneDataLayerProvider, SceneDataLayerProviderState, SceneDataProvider, SceneDataProviderResult, SceneDataQuery, SceneDataState, SceneDataTransformerState, SceneDeactivationHandler, SceneFlexItemLike, SceneFlexItemState, SceneGridItemLike, SceneGridItemStateLike, SceneInteractionProfileEvent, SceneLayout, SceneLayoutChildOptions, SceneLayoutState, SceneObject, SceneObjectState, SceneObjectStateChangedPayload, SceneObjectUrlSyncHandler, SceneObjectUrlValue, SceneObjectUrlValues, SceneObjectWithUrlSync, SceneQueryControllerEntry, SceneQueryControllerEntryType, SceneQueryControllerLike, SceneRefreshPickerState, SceneRouteMatch, SceneStateChangedHandler, SceneStatelessBehavior, SceneTimeRangeLike, SceneTimeRangeState, SceneUrlSyncOptions, SceneVariable, SceneVariableDependencyConfigLike, SceneVariableSetState, SceneVariableState, SceneVariables, UrlSyncManagerLike, UseStateHookOptions, ValidateAndUpdateResult, VariableCustomFormatterFn, VariableGetOptionsArgs, VariableValue, VariableValueOption, VariableValueSingle, VizConfig, VizPanelState };
3465
+ export { AdHocFiltersVariable, ConstantVariable, ControlsLabel, CustomVariable, DataProviderProxy, DataSourceVariable, EmbeddedScene, FieldConfigBuilder, FieldConfigBuilders, FieldConfigOverridesBuilder, GroupByVariable, IntervalVariable, LazyLoader, LocalValueVariable, MultiOrSingleValueSelect, MultiValueVariable, NestedScene, NewSceneObjectAddedEvent, PATH_ID_SEPARATOR, PanelBuilders, PanelOptionsBuilders, QueryVariable, RuntimeDataSource, SafeSerializableSceneObject, SceneApp, SceneAppPage, SceneByFrameRepeater, SceneByVariableRepeater, SceneCSSGridItem, SceneCSSGridLayout, SceneCanvasText, SceneControlsSpacer, SceneDataLayerBase, SceneDataLayerControls, SceneDataLayerSet, SceneDataLayerSetBase, SceneDataNode, SceneDataTransformer, SceneDebugger, SceneFlexItem, SceneFlexLayout, SceneGridItem, SceneGridLayout, SceneGridLayoutDragStartEvent, SceneGridRow, SceneObjectBase, SceneObjectRef, SceneObjectStateChangedEvent, SceneObjectUrlSyncConfig, SceneQueryRunner, SceneReactObject, SceneRefreshPicker, SceneTimePicker, SceneTimeRange, SceneTimeRangeCompare, SceneTimeRangeTransformerBase, SceneTimeZoneOverride, SceneToolbarButton, SceneToolbarInput, SceneVariableSet, SceneVariableValueChangedEvent, ScopesVariable, SplitLayout, SwitchVariable, TestVariable, TextBoxVariable, UrlSyncContextProvider, UrlSyncManager, UserActionEvent, VariableDependencyConfig, VariableValueControl, VariableValueSelectWrapper, VariableValueSelectors, VizConfigBuilder, VizConfigBuilders, VizPanel, VizPanelBuilder, VizPanelExploreButton, VizPanelMenu, index$2 as behaviors, index as dataLayers, escapeUrlPipeDelimiters, formatRegistry, getExploreURL, isCustomVariableValue, isDataLayer, isDataRequestEnricher, isFiltersRequestEnricher, isSceneObject, loadResources, index$1 as performanceUtils, registerQueryWithController, registerRuntimeDataSource, sceneGraph, sceneUtils, useSceneApp, useSceneObjectState, useUrlSync, writePerformanceLog };
3466
+ export type { AdHocFilterWithLabels, CancelActivationHandler, ControlsLayout, CustomFormatterVariable, CustomTransformOperator, CustomTransformerDefinition, CustomVariableValue, DataLayerFilter, DataRequestEnricher, DeepPartial, EmbeddedSceneState, ExtraQueryDataProcessor, ExtraQueryDescriptor, ExtraQueryProvider, FiltersRequestEnricher, FormatVariable, InterpolationFormatParameter, MacroVariableConstructor, MultiValueVariableState, QueryRunnerState, SceneActivationHandler, SceneAppDrilldownView, SceneAppPageLike, SceneAppPageState, SceneAppRoute, SceneComponent, SceneComponentProps, SceneDataLayerProvider, SceneDataLayerProviderState, SceneDataProvider, SceneDataProviderResult, SceneDataQuery, SceneDataState, SceneDataTransformerState, SceneDeactivationHandler, SceneFlexItemLike, SceneFlexItemState, SceneGridItemLike, SceneGridItemStateLike, SceneLayout, SceneLayoutChildOptions, SceneLayoutState, SceneObject, SceneObjectState, SceneObjectStateChangedPayload, SceneObjectUrlSyncHandler, SceneObjectUrlValue, SceneObjectUrlValues, SceneObjectWithUrlSync, SceneQueryControllerEntry, SceneQueryControllerEntryType, SceneQueryControllerLike, SceneRefreshPickerState, SceneRouteMatch, SceneStateChangedHandler, SceneStatelessBehavior, SceneTimeRangeLike, SceneTimeRangeState, SceneUrlSyncOptions, SceneVariable, SceneVariableDependencyConfigLike, SceneVariableSetState, SceneVariableState, SceneVariables, UrlSyncManagerLike, UseStateHookOptions, ValidateAndUpdateResult, VariableCustomFormatterFn, VariableGetOptionsArgs, VariableValue, VariableValueOption, VariableValueSingle, VizConfig, VizPanelState };