import * as React from 'react'; import { ChartOptions } from '@carbon/charts-react'; import { ThemeInterface } from 'react-magma-dom'; import './carbon-charts.css'; import type { ChartDataTableColumn } from '../ChartTable'; export declare enum CarbonChartType { area = "area", areaStacked = "areaStacked", bar = "bar", barGrouped = "barGrouped", barStacked = "barStacked", boxplot = "boxplot", bubble = "bubble", bullet = "bullet", donut = "donut", gauge = "gauge", histogram = "histogram", line = "line", lollipop = "lollipop", meter = "meter", pie = "pie", radar = "radar", scatter = "scatter", combo = "combo" } export interface ChartToolbarConfig { /** * When true, renders a "Show as table" button that opens a Magma Modal * with the chart data in an accessible table. * @default true */ showAsTable?: boolean; /** * When true, renders a fullscreen toggle button. * @default true */ fullscreen?: boolean; /** * Additional menu items rendered inside a "More options" dropdown, * below the built-in "Download as CSV", "Download as PNG", and "Download as JPG" items. * Pass DropdownMenuItem elements. */ moreOptions?: React.ReactNode; /** * Custom column definitions for the table modal. * If omitted, columns are auto-derived from the dataset object keys. */ tableColumns?: ChartDataTableColumn[]; /** * First line of the modal heading. * @default "Tabular representation" */ tableHeaderLabel?: string; /** * Heading level for the modal header. * @default 2 */ tableHeaderLevel?: 1 | 2 | 3 | 4 | 5 | 6; /** * Heading level for the chart title. * @default 2 */ titleLevel?: 1 | 2 | 3 | 4 | 5 | 6; } export interface CarbonChartProps extends React.HTMLAttributes { dataSet: Array; isInverse?: boolean; /** * For a complete list of options, see Carbon Charts documentation */ options: ChartOptions; testId?: string; /** * @internal */ theme?: ThemeInterface; /** * Type of Chart: area, bar, donut, line, etc. */ type: CarbonChartType; /** * Text for the aria-label attribute for main SVG container, if provided */ ariaLabel?: string; /** * When provided, renders an accessible Magma toolbar above the chart with * "Show as table", fullscreen, and "More options" buttons. Carbon's built-in * toolbar is automatically disabled. */ chartToolbar?: ChartToolbarConfig; } export declare const CarbonChart: React.ForwardRefExoticComponent>;