import { CSSProperties, PropsWithChildren, ReactNode } from 'react'; export type HorizontalBarChartData = { name?: ReactNode; value: number; color: string; }; export interface HorizontalBarChartProps extends PropsWithChildren { style?: CSSProperties; className?: string; data: HorizontalBarChartData[][]; labels?: ReactNode[]; fullExtent?: boolean; maxValue?: number | undefined; formatNativeTitle?: (bar: HorizontalBarChartMarshalingData) => string; renderTooltip?: (bar: HorizontalBarChartMarshalingData[]) => ReactNode; hideTooltip?: () => void; withTooltip?: boolean; fullooltip?: boolean; stackedTooltip?: boolean; fullChartTooltip?: boolean; withStackSum?: boolean; tooltipBind?: boolean; scaleTicks?: number; renderTicks?: (tick: HorizontalBarChartScaleItem) => ReactNode; renderButton?: (item: HorizontalBarChartMarshalingData[], index: number) => ReactNode; tooltipStyle?: CSSProperties; tooltipRoot?: Element; tooltipClassName?: string; scaleDomain?: number[]; renderDataTable?: (stack: HorizontalBarChartMarshalingData[], stackSum: number, rowIndex: number) => ReactNode; thead?: ReactNode; withoutXScale?: boolean; } export type HorizontalBarChartMarshalingData = HorizontalBarChartData & { width: number; groupName: ReactNode; }; export type HorizontalBarChartScaleItem = { value: number; x: number; };