import { type ReactNode } from 'react'; import type { ConvertibleUnit, FormatOptions, Unit } from '@dynatrace-sdk/units'; import type { MultiMeterBarChartTooltipPayload, MultiMeterBarChartTooltipProps, MultiMeterBarSegmentProps } from './multi-meter-bar-chart.js'; import type { ColorPalette, CustomColorPalette } from '../../../core/types/color-palette.js'; import type { ColorRuleProps } from '../../../core/types/color-rule.js'; import type { Formatter } from '../../../core/types/formatter.js'; import type { MeterBarToolbarInternalProps } from '../../shared/types/meter-bar-toolbar.js'; import type { MeterBarSize, SlotWithAutoDefault } from '../../shared/types/meter-bars.js'; /** internal */ export interface MultiMeterBarChartInternalTooltipConfig { hidden?: boolean; variant?: MultiMeterBarChartTooltipProps['variant']; template?: (payload: MultiMeterBarChartTooltipPayload) => ReactNode; } export interface MultiMeterBarChartInternalConfig { segments: MultiMeterBarSegmentProps[]; colorPalette: ColorPalette | CustomColorPalette; size: MeterBarSize; loading: boolean; min: number; max: number; totalValue: number; labelSlot: ReactNode; valueSlot?: SlotWithAutoDefault; minSlot?: SlotWithAutoDefault; maxSlot?: SlotWithAutoDefault; formatter: Formatter | FormatOptions; unit?: string | Unit; legend?: boolean; tooltip: MultiMeterBarChartInternalTooltipConfig; colorRules: ColorRuleProps[]; toolbar: MeterBarToolbarInternalProps; }