import * as React from 'react'; import { MDCMenuFoundation } from '@material/menu/foundation'; import { MDCMenuAdapter } from '@material/menu/adapter'; import { MenuSurfaceProps } from '@material/react-menu-surface'; import MenuList from './MenuList'; import MenuListItem from './MenuListItem'; export interface MenuProps extends MenuSurfaceProps { children: React.ReactElement; onSelected?: (index: number, item: Element) => void; ref?: React.Ref; } export interface MenuState { open: boolean; foundation?: MDCMenuFoundation; } declare class Menu extends React.Component { menuListElement: React.RefObject; state: MenuState; static defaultProps: Partial; componentDidMount(): void; componentDidUpdate(prevProps: MenuProps): void; componentWillUnmount(): void; readonly listElements: Element[]; readonly adapter: MDCMenuAdapter; handleKeyDown: React.KeyboardEventHandler; handleOpen: MenuSurfaceProps['onOpen']; render(): JSX.Element; renderChild(): React.ReactElement React.ReactElement React.Component)> | null) | (new (props: any) => React.Component)> | undefined; } export default Menu; export { MenuList, MenuListItem }; export { ListDivider as MenuListDivider, ListGroup as MenuListGroup, ListGroupSubheader as MenuListGroupSubheader, ListItemGraphic as MenuListItemGraphic, ListItemMeta as MenuListItemMeta, ListItemText as MenuListItemText, } from '@material/react-list'; export { MenuListProps } from './MenuList'; export { MenuListItemProps } from './MenuListItem';