import { type ReactNode } from 'react'; import type { ConvertibleUnit, FormatOptions, Unit } from '@dynatrace-sdk/units'; import type { MultiMeterBarChartInternalTooltipConfig } from './multi-meter-bar-chart-internal.js'; import type { MultiMeterBarSegmentProps } from './multi-meter-bar-chart.js'; import type { CustomColorPalette, ColorPalette } from '../../../core/types/color-palette.js'; import type { Formatter } from '../../../core/types/formatter.js'; import type { SlotWithAutoDefault, MeterBarSize } from '../../shared/types/meter-bars.js'; /** * @internal */ export interface MultiMeterBarChartSlots { icon?: ReactNode; label?: ReactNode; min?: SlotWithAutoDefault; max?: SlotWithAutoDefault; value?: SlotWithAutoDefault; segments: MultiMeterBarSegmentProps[]; legend?: boolean; tooltip?: MultiMeterBarChartInternalTooltipConfig; } /** * Configuration props to be provided by the consumer * @public */ export interface MultiMeterBarChartConsumerConfig { /** * The color palette * @defaultValue 'categorical' */ colorPalette?: ColorPalette | CustomColorPalette; /** * The size to apply to meter bar charts that are within the configuration * @defaultvalue 'size16' */ size?: MeterBarSize; /** * Min value for the meter bar chart scale * @defaultValue 0 */ min?: number; /** * Max value for the meter bar chart scale * @defaultValue 100 */ max?: number; /** * Custom Formatter for the chart */ formatter?: Formatter | FormatOptions; /** * Tooltip configuration */ tooltip?: MultiMeterBarChartTooltipConsumerConfig; /** * Set to true to display the legend and false to hide it. * @defaultValue false */ legend?: boolean; } /** * Tooltip configuration to be provided by the consumer * @public */ export interface MultiMeterBarChartTooltipConsumerConfig { /** * Defines how the tooltip should display the chart information * @defaultValue 'single' */ variant?: MultiMeterBarChartTooltipVariant; /** * Set to true to display the tooltip and false to hide it * @defaultValue false */ enabled?: boolean; } /** * @public */ export declare const multiMeterBarChartTooltipVariantOptions: readonly ["single", "shared"]; /** * The different variants available to use in the tooltip subcomponent * @public */ export type MultiMeterBarChartTooltipVariant = (typeof multiMeterBarChartTooltipVariantOptions)[number];