import { Dispatch, ReactElement, SetStateAction } from 'react'; import { AvatarProps } from '../../../../../../../../../src/components/Avatar'; import { ButtonProps } from '../../../../../../../../../src/components/Button'; export type MenuSeparatorProps = React.HTMLAttributes; export type ActionType = "ENTER_SUB_MENU" | "ACTIVATE_MENU_ITEM" | ""; export interface MenuItemProps extends React.AnchorHTMLAttributes { counter?: number; disabled?: boolean; hasFocus?: boolean; isActive?: boolean; } export interface SubMenuProps extends React.HTMLAttributes { menuRootElement: ReactElement; children: ReactElement[]; action?: ActionType; counter?: number; } export type MenuChildrenType = ReactElement[]; export interface MenuProps extends React.HTMLAttributes { children: MenuChildrenType; closeOnBlur?: boolean; closeOnSelect?: boolean; defaultIsOpen?: boolean; itemAlignment?: "left" | "right"; menuRootElement: ReactElement; onMenuClose?: () => void; openOnHover?: boolean; positionToToggle?: "below" | "left" | "right"; } export type MenuIndexesType = { index?: number; id?: string; length?: number; }[]; export interface MenuContextType extends Required> { upwards: boolean; setRootMenuOpen: Dispatch>; }