import * as React from 'react'; import { type AbsoluteTimeRange, type FieldConfigSource, type PanelData } from '@grafana/data'; /** * Describes the properties that can be passed to the PanelRenderer. * * @typeParam P - Panel options type for the panel being rendered. * @typeParam F - Field options type for the panel being rendered. * * @internal */ export interface PanelRendererProps

{ data?: PanelData; pluginId: string; title: string; options?: Partial

; onOptionsChange?: (options: P) => void; onFieldConfigChange?: (config: FieldConfigSource) => void; onChangeTimeRange?: (timeRange: AbsoluteTimeRange) => void; fieldConfig?: FieldConfigSource>; timeZone?: string; width: number; height: number; } /** * Simplified type with defaults that describes the PanelRenderer. * * @internal */ type PanelRendererType

= React.ComponentType>; /** * PanelRenderer component that will be set via the {@link setPanelRenderer} function * when Grafana starts. The implementation being used during runtime lives in Grafana * core. * * @internal */ export declare let PanelRenderer: PanelRendererType; /** * Used to bootstrap the PanelRenderer during application start so the PanelRenderer * is exposed via runtime. * * @internal */ export declare function setPanelRenderer(renderer: PanelRendererType): void; export {};