import { type ChartsToolbarProps } from '@mui/x-charts/Toolbar'; import { type AxisId } from '@mui/x-charts/internals'; import { type RangeButtonValue } from "./rangeButtonValueToZoom.js"; import { type ChartsToolbarPrintExportOptions } from "./ChartsToolbarPrintExportTrigger.js"; import { type ChartsToolbarImageExportOptions } from "./ChartsToolbarImageExportTrigger.js"; export type { RangeButtonFunctionParams } from "./rangeButtonValueToZoom.js"; export interface RangeButtonConfig { /** * The label displayed on the button (e.g., "1M", "3M", "1Y"). */ label: string; /** * The range value. * * - `{ unit, step }` — A calendar interval from the end of the data (e.g., `{ unit: 'month', step: 3 }` for 3 months). * - `[start, end]` — An absolute date range. * - `(params) => { start, end }` — A function that receives axis context (`scaleType`, `data`, `domain`) and returns zoom percentages (0-100). * - `null` — Resets zoom to show all data. */ value: RangeButtonValue; } export interface ChartsToolbarProProps extends ChartsToolbarProps { printOptions?: ChartsToolbarPrintExportOptions; imageExportOptions?: ChartsToolbarImageExportOptions[]; /** * Configuration for range buttons shown in the toolbar. * Each button zooms the chart to a predefined time range from the end of the data. */ rangeButtons?: RangeButtonConfig[]; /** * The axis ID to apply range buttons to. * Defaults to the first x-axis with zoom enabled and a time scale. */ rangeButtonsAxisId?: AxisId; } /** * The chart toolbar component for the pro package. */ declare function ChartsToolbarPro({ printOptions, imageExportOptions: rawImageExportOptions, rangeButtons, rangeButtonsAxisId, ...other }: ChartsToolbarProProps): import("react/jsx-runtime").JSX.Element | null; declare namespace ChartsToolbarPro { var propTypes: any; } export { ChartsToolbarPro };