import type { UseDropdown } from '../Dropdown/use-dropdown'; import type { IconName } from '../Icon'; export type MenuGroupItem = { title: string; items: MenuItem[]; }; export type MenuItem = { label?: string; description?: string; icon?: IconName; group?: MenuGroupItem; separator?: boolean; type?: 'negative'; as?: string; to?: Record; isDisabled?: boolean; }; export type MenuContext = () => { activatedMenuItemId: string; isOpen: boolean; preventClose: boolean; menuListId: string; menuButtonId: string; activeIndex: number; focusableCount: number; closeMenu: () => void; openMenu: () => void; toggleMenu: () => void; focusButton: () => void; focusOnFirstItem: UseDropdown['focusOnFirstItem']; focusOnLastItem: UseDropdown['focusOnLastItem']; handleKeydownOnList: UseDropdown['handleKeydownOnList']; };