import * as react from 'react';
import { HTMLAttributes } from 'react';
interface BarChartDatum {
label: string;
value: number;
accent?: boolean;
}
interface BarChartSeries {
label: string;
/** One value per category, index-aligned with `categories`. */
values: number[];
/** Bar color; defaults to the `--chart-1…5` palette cycled by position. */
color?: string;
}
interface BarChartProps extends HTMLAttributes {
/** Single series. Ignored when `series` is provided. */
data?: BarChartDatum[];
/** Multiple series — grouped bars by default, or stacked with `stacked`. Pair with `categories`. */
series?: BarChartSeries[];
/** Category (x-axis) labels for multi-series charts. */
categories?: string[];
/** Stack series into one bar per category instead of grouping side by side. */
stacked?: boolean;
height?: number;
/**
* Focusable bars/columns with tooltips: Tab reaches the chart, ←/→ move
* between targets (roving tabindex), Home/End jump, Esc dismisses. Each
* carries an aria-label announced on focus.
*/
interactive?: boolean;
/** Formats the visible value labels, tooltips, and aria-labels. */
formatValue?: (value: number) => string;
/** Show a swatch legend above the chart (multi-series; default on). */
showLegend?: boolean;
/** Accessible group name when `interactive` (default "Bar chart"). */
ariaLabel?: string;
}
declare const BarChart: react.ForwardRefExoticComponent>;
export { BarChart, type BarChartDatum, type BarChartProps, type BarChartSeries };