///
import { MenuClassKey, MenuItemProps as MuiMenuItemProps, MenuListProps, PopoverProps, StandardProps } from '@material-ui/core';
import { TransitionHandlerProps } from '@material-ui/core/transitions/transition';
export type { MenuListProps } from '@material-ui/core';
export interface MenuProps extends StandardProps, MenuClassKey> {
/**
* A HTML element, or a function that returns it.
* It's used to set the position of the menu.
* @document
*/
anchorEl?: PopoverProps['anchorEl'];
/**
* Menu contents, normally `MenuItem`s.
*/
children?: React.ReactNode;
/**
* Props applied to the [`MenuList`](/api/menu-list/) element.
*/
MenuListProps?: Partial;
/**
* Callback fired when the component requests to be closed.
*
* @param {object} event The event source of the callback.
* @param {string} reason Can be: `"escapeKeyDown"`, `"backdropClick"`, `"tabKeyDown"`.
*/
onClose?: PopoverProps['onClose'];
/**
* Callback fired before the Menu enters.
* @document
*/
onEnter?: PopoverProps['onEnter'];
/**
* Callback fired when the Menu has entered.
* @document
*/
onEntered?: PopoverProps['onEntered'];
/**
* Callback fired when the Menu is entering.
* @document
*/
onEntering?: PopoverProps['onEntering'];
/**
* Callback fired before the Menu exits.
* @document
*/
onExit?: PopoverProps['onExit'];
/**
* Callback fired when the Menu has exited.
* @document
*/
onExited?: PopoverProps['onExited'];
/**
* Callback fired when the Menu is exiting.
* @document
*/
onExiting?: PopoverProps['onExiting'];
/**
* If `true`, the menu is visible.
*/
open: boolean;
/**
* `classes` prop applied to the [`Popover`](/api/popover/) element.
*/
PopoverClasses?: PopoverProps['classes'];
/**
* The variant to use. Use `menu` to prevent selected items from impacting the initial focus
* and the vertical alignment relative to the anchor element.
*/
variant?: 'menu' | 'selectedMenu';
}
export declare type MenuItemProps = Omit;