import type { ChartDrawingArea } from '@mui/x-charts/hooks'; import type { BorderRadiusSide } from '@mui/x-charts/internals'; import type { SeriesId } from '@mui/x-charts/models'; export interface WebGLBarLikeItem { x: number; y: number; width: number; height: number; value: unknown; hidden: boolean; color: string; dataIndex: number; borderRadiusSide?: BorderRadiusSide; } export interface WebGLBarLikeSeries { seriesId: SeriesId; data: readonly T[]; layout?: 'vertical' | 'horizontal'; } export interface WebGLBarLikePlotData { centers: Float32Array; halfSizes: Float32Array; colors: Uint8Array; cornerRadii: Float32Array; count: number; } export interface UseWebGLBarLikePlotDataOptions { /** * Series identifier passed to the highlight selector. Allows the shared * implementation to be used for both `'bar'` and `'rangeBar'` series. */ highlightType: 'bar' | 'rangeBar'; /** * When true, the border radius is applied to all four corners regardless of * the per-item `borderRadiusSide` value. Range bars use this since they * aren't stacked. */ fullRoundedCorners?: boolean; } export declare function useWebGLBarLikePlotData(drawingArea: ChartDrawingArea, completedData: readonly WebGLBarLikeSeries[], borderRadius: number, options: UseWebGLBarLikePlotDataOptions): WebGLBarLikePlotData;