import React, { ReactNode, CSSProperties } from 'react';
interface MenuProps {
    children: ReactNode;
    variant?: 'select' | 'menu' | 'dark' | 'emphasizedItem' | null;
    role?: 'dialog' | 'menu' | 'listbox';
    arrow?: boolean | null;
    autoDismiss?: boolean | 'menu';
    placement?: 'bottom' | 'bottom-start' | 'bottom-end' | 'top' | 'top-start' | 'top-end' | 'left' | 'left-start' | 'left-end' | 'right' | 'right-start' | 'right-end';
    initialFocus?: number;
    onOpen?: () => void;
    onClose?: () => void;
    [key: string]: any;
}
declare const Menu: React.FC<MenuProps> & {
    Overlay: React.FC<MenuOverlayProps>;
    Divider: React.FC<MenuDividerProps>;
    Section: React.FC<MenuSectionProps>;
    List: React.FC<MenuListProps>;
    Item: React.FC<MenuItemProps>;
    Header: React.FC<MenuHeaderProps>;
    Footer: React.FC<MenuFooterProps>;
    useAnchor: (props?: Record<string, any>) => [React.Ref<any>, Record<string, any>];
    Anchor: React.FC<MenuAnchorProps>;
};
interface MenuOverlayProps {
    children: ReactNode;
    style?: CSSProperties;
    [key: string]: any;
}
interface MenuAnchorProps {
    render?: (args: [React.Ref<any>, any]) => ReactNode;
}
interface MenuDividerProps {
    className?: string;
    [key: string]: any;
}
interface MenuSectionProps {
    className?: string;
    children: ReactNode;
    [key: string]: any;
}
interface MenuListProps {
    className?: string;
    scrollToSelected?: boolean;
    maxHeight?: any;
    [key: string]: any;
}
interface MenuItemProps {
    as?: keyof React.JSX.IntrinsicElements | React.ComponentType<any>;
    block?: boolean;
    className?: string;
    [key: string]: any;
}
interface MenuHeaderProps {
    className?: string;
    [key: string]: any;
}
interface MenuFooterProps {
    className?: string;
    [key: string]: any;
}
export default Menu;
export type { MenuProps, MenuOverlayProps, MenuDividerProps, MenuSectionProps, MenuListProps, MenuItemProps, MenuHeaderProps, MenuFooterProps };
//# sourceMappingURL=Menu.d.ts.map