import React from "react"; import { type ButtonType } from "@vibe/button"; import { type VibeComponentProps, type ElementContent } from "../../../types"; import { type SubIcon } from "@vibe/icon"; import { type TooltipPositions } from "@vibe/tooltip"; export interface MenuItemButtonProps extends VibeComponentProps { /** * The style variant of the button. */ kind?: ButtonType; /** * Icon displayed on the left side of the button. */ leftIcon?: SubIcon; /** * Icon displayed on the right side of the button. */ rightIcon?: SubIcon; /** * The index of the menu item in the menu. */ index?: number; /** * The index of the currently active menu item. */ activeItemIndex?: number; /** * If true, the button is disabled. */ disabled?: boolean; /** * The reason why the button is disabled, displayed as a tooltip. */ disableReason?: string; /** * Callback fired when the button is clicked. */ onClick?: (event: React.MouseEvent | React.KeyboardEvent) => void; /** * The position of the tooltip. */ tooltipPosition?: TooltipPositions; /** * The delay in milliseconds before the tooltip appears. */ tooltipShowDelay?: number; /** * Callback to reset the open submenu index. */ resetOpenSubMenuIndex?: () => void; /** * Callback to open or close a submenu by index. */ setSubMenuIsOpenByIndex?: (index: number, isOpen: boolean) => void; /** * Callback to set the active item index. */ setActiveItemIndex?: (index: number) => void; /** * Reference to the menu container. */ menuRef?: React.RefObject; /** * Function to close the menu. */ closeMenu?: () => void; /** * If true, event listeners are added at the document level. */ useDocumentEventListeners?: boolean; /** * The content of the button. */ children?: ElementContent | ElementContent[]; } declare const MenuItemButton: ({ className, kind, leftIcon, rightIcon, disabled, disableReason, index, activeItemIndex, onClick, tooltipPosition, tooltipShowDelay, children, resetOpenSubMenuIndex, setSubMenuIsOpenByIndex, setActiveItemIndex, menuRef, closeMenu, useDocumentEventListeners, id, "data-testid": dataTestId }: MenuItemButtonProps) => React.JSX.Element; export default MenuItemButton;