import React, { type ReactElement } from "react"; import { type VibeComponentProps } from "../../../types"; import { type CloseMenuOption } from "../Menu/MenuConstants"; export interface MenuGridItemProps extends VibeComponentProps { /** * The content of the menu grid item. */ children?: ReactElement | ReactElement[]; /** * If true, keyboard navigation will skip this item. This prop is also passed to the child. */ disabled?: boolean; /** * A callback function to close the wrapping menu. */ closeMenu?: (option: CloseMenuOption) => void; /** * The currently active index of the wrapping menu. */ activeItemIndex?: number; /** * Callback function to set the active item index. */ setActiveItemIndex?: (index: number) => void; /** * Function to get the next selectable index. */ getNextSelectableIndex?: (activeItemIndex: number) => number; /** * Function to get the previous selectable index. */ getPreviousSelectableIndex?: (activeItemIndex: number) => number; /** * The index of this menu grid item. */ index?: number; /** * If true, this item is under a submenu instead of a top-level menu. */ isUnderSubMenu?: boolean; /** * Callback function to open or close a submenu by its index. */ setSubMenuIsOpenByIndex?: (index: number, isOpen: boolean) => void; /** * If true, event listeners will be attached to the document. */ useDocumentEventListeners?: boolean; } declare const MenuGridItem: React.ForwardRefExoticComponent>; export default MenuGridItem;