import React, { PureComponent } from 'react'; import { type ContextAction } from '../context-actions/ContextActionUtils'; export type MenuOptions = { doNotVerifyPosition?: boolean; separateKeyboardMouse?: boolean; initialKeyboardIndex?: number; }; type MenuProps = { actions: (() => ContextAction[]) | ContextAction | ContextAction[]; closeMenu: (closeAll: boolean) => void; onMenuClosed: (menu: Menu) => void; onMenuOpened: (menu: Menu) => void; options: MenuOptions; menuStyle: React.CSSProperties; 'data-testid'?: string; }; type MenuState = { menuItems: ContextAction[]; keyboardIndex: number; mouseIndex: number; }; /** * Do not use this class directly. Use DropdownMenu instead. * * Generates list from actions for use by DropdownMenu. * It has beem split from the context-actions component, due to divergering requirements, * but still re-uses styling from context-menu. Depending on how usage evolves, may get split further. * */ declare class Menu extends PureComponent { static defaultProps: { closeMenu(): void; onMenuOpened(): void; onMenuClosed(): void; options: {}; menuStyle: {}; 'data-testid': undefined; }; constructor(props: MenuProps); componentDidMount(): void; componentDidUpdate(prevProps: MenuProps): void; componentWillUnmount(): void; container: React.RefObject; oldFocus: Element | null; rAF: number; getKeyboardIndex(): number | null; setKeyboardIndex(index: number): void; getMouseIndex(): number; setMouseIndex(index: number): void; initMenu(): void; handleKeyDown(e: React.KeyboardEvent): void; closeMenu(closeAll?: boolean): void; handleCloseMenu(): void; handleMenuItemClick(menuItem: ContextAction, e: React.SyntheticEvent): void; handleMenuItemMouseMove(menuItem: ContextAction): void; handleMouseLeave(): void; render(): JSX.Element; } export default Menu; //# sourceMappingURL=Menu.d.ts.map