import { ForwardedRef, ReactElement } from 'react';
import { MenuButtonModifiers, RenderProp, RootMenuProps, UncontrolledMenuProps } from '../types';
export interface MenuProps extends RootMenuProps, UncontrolledMenuProps {
    /**
     * Can be a `MenuButton`, a `button` element, or a React component.
     * It also can be a render function that returns one.
     *
     * If a React component is provided, it needs to implement the following contracts:
     * - Accepts a `ref` prop that is forwarded to an element to which menu will be positioned.
     * The element should be able to receive focus.
     * - Accepts `onClick` and `onKeyDown` event props.
     */
    menuButton: RenderProp<MenuButtonModifiers, ReactElement>;
}
export declare function MenuFr({ 'aria-label': ariaLabel, menuButton, instanceRef, onMenuChange, ...restProps }: MenuProps, externalRef: ForwardedRef<ReactElement>): import("react").JSX.Element;
export declare const Menu: import("react").ForwardRefExoticComponent<Omit<MenuProps, "ref"> & import("react").RefAttributes<ReactElement<any, string | import("react").JSXElementConstructor<any>>>>;
