import { type ReactNode } from 'react'; /** * Data passed to the GaugeChart custom tooltip render function. * @public */ export interface GaugeChartTooltipItem { /** * Raw numerical value displayed by the gauge. */ value: number; /** * Value formatted via the chart's formatter (and unit, if any). */ formattedValue: string; /** * Colour currently applied to the gauge arc (resolved from explicit * `color`, ColorRules or palette). */ color: string | undefined; /** * Optional `name` provided through the `GaugeChart.Tooltip` slot. */ name: string | undefined; /** * Optional unit string used by the formatter, when available. */ unit: string | undefined; } /** * Render function used to customise the body of the GaugeChart tooltip. * @public */ export type GaugeChartTooltipHandler = (item: GaugeChartTooltipItem) => ReactNode; /** * Props for the GaugeChart.Tooltip slot component * @public */ export interface GaugeChartTooltipProps { /** * Optional name to display in the tooltip */ name?: string; /** * Optional custom tooltip template. When provided, the function is * invoked with the current gauge value and its result replaces the * default tooltip body. Use `ChartTooltip` atoms (e.g. * `ChartTooltip.SeriesItem`) to build a structured layout, or any * `ReactNode` for free-form content. */ children?: GaugeChartTooltipHandler; /** * When `true`, the tooltip is not rendered. * @defaultValue false */ hidden?: boolean; } /** * Internal config shape used after `children` has been remapped to * `template`, mirroring the AnnotationsChart tooltip pipeline. * @internal */ export interface GaugeChartTooltipConfig { name?: string; /** Map from slot `children` to `template` internally */ template?: GaugeChartTooltipHandler; hidden?: boolean; } /** * Slot component for Gauge Chart tooltip * @public */ export declare const Tooltip: { (_props: GaugeChartTooltipProps): null; displayName: string; };