import { type JSX, type MouseEvent as ReactMouseEvent, type PropsWithChildren } from 'react'; import type { IntentProps } from '../../../../core/slots/Intent/Intent.js'; import { A11yToolbarTabIndex, InternalChartToolbarConfig } from '../../types/toolbar.js'; /** * @internal */ export declare const menuDisplayModes: readonly ["collapsed", "expanded", "always", "never"]; /** * @internal */ export type MenuDisplayMode = (typeof menuDisplayModes)[number]; /** * @internal */ export interface ChartToolbarRendererProps extends InternalChartToolbarConfig { /** Whether the toolbar is visible or not */ visible: boolean; /** Initial state of the A11yToolbar */ initialA11yState: A11yToolbarTabIndex[]; /** zIndex for the chart toolbar area */ zIndex?: number; /** The function called when the toolbar manually collapses/expands */ onToggleToolbar?: (value: boolean) => void; /** The function called when the menu opens/closes */ onToggleMenu?: (value: boolean) => void; /** The function called when mouse enters the toolbar */ onMouseEnter?: (event?: ReactMouseEvent) => void; /** The function called when mouse leaves the toolbar */ onMouseLeave?: (event?: ReactMouseEvent) => void; /** Icon of the active mode shown in the menu trigger button */ menuIcon?: JSX.Element; /** Defines a tooltip text for the dropdown menu trigger button */ menuTriggerLabel?: string; /** Indicates, when the menu should be available to be triggered on the toolbar * - collapsed: only shown on menu trigger on collapsed toolbar (no menu on expanded toolbar) * - expanded: only shown on menu trigger on expanded toolbar (toolbar becomes not collapsable) * - always: always show the menu trigger * - never: never show the menu trigger * * @defaultValue 'collapsed' * */ menuDisplayMode?: MenuDisplayMode; /** Action to perform while closing toolbar menu */ onClose?: () => void; isDownloadEnabled?: boolean; intents?: Array; handleDownloadDataToolbar?: () => void; DownloadButton?: () => JSX.Element; } /** * @internal */ export declare const InternalChartToolbarRenderer: { (props: PropsWithChildren): import("react/jsx-runtime.js").JSX.Element; displayName: string; }; /** * @internal */ export declare const ChartToolbarRenderer: { (props: PropsWithChildren): import("react/jsx-runtime.js").JSX.Element; displayName: string; } & { Control: (props: import("./components/Control.js").ChartToolbarControlProps & import("react").RefAttributes) => React.ReactElement | null; };