import React from 'react'; import Divider from './Divider'; import Heading from './Heading'; import Item from './Item'; import MenuContext from './MenuContext'; import { ComponentProps } from '../utils/types'; interface MenuPropsBase { /** * Must be `Menu.Item`, `Menu.Heading`, or `Menu.Divider`. * Interactive elements are not supported as children. */ children?: React.ReactNode; /** * A React ref which is set to the DOM element when the component mounts and null when it unmounts. */ elementRef?: React.Ref; /** * Specifies whether the menu accept/retain focus and how the focus behaves. * * - `never`: `Menu` will never take focus, and the Menu.Item will not have a focus-like appearance. * - `normal`: `Menu` and its children follow the normal focus order of DOM without any interference. * - `roving`: Single tab stop. Use up/down arrow keys to navigate and loop through Menu.Items. */ focusMode?: 'never' | 'normal' | 'roving'; /** * Prevents scrolling from propagating to the parent containers when the top or bottom of * the `Menu` is reached. */ stopScrollPropagation?: boolean; } type MenuProps = ComponentProps; declare function Menu({ children, elementRef, focusMode, stopScrollPropagation, ...otherProps }: MenuProps): React.JSX.Element; declare namespace Menu { var propTypes: React.WeakValidationMap; var Item: typeof import("./Item").default; var Divider: typeof import("./Divider").default; var Heading: typeof import("./Heading").default; } export default Menu; export { Item, Heading, Divider, MenuContext }; export type { MenuPropsBase };