import React, { AnchorHTMLAttributes, FocusEvent, HTMLAttributes, Ref, FC, ReactNode } from 'react'; import { AutoAlignProps } from './AutoAlign'; import { Bivariant } from './typeUtils'; /** * */ type EventKey = string | number; /** * */ export type DropdownMenuHeaderProps = { className?: string; divider?: 'top' | 'bottom'; children?: ReactNode; }; /** * */ export declare const DropdownMenuHeader: FC; export declare const MenuHeader: React.FC; /** * */ type DropdownMenuHandler = { onMenuSelect?: Bivariant<(eventKey: EventKey) => void>; onMenuFocus?: (e: FocusEvent) => void; onMenuBlur?: (e: FocusEvent) => void; }; export declare const DropdownMenuHandlerContext: React.Context; type OpenSubmenuContext = { openSubmenuKeys: { [key: string]: { isOpen: boolean; level: number; } | undefined; }; handleSubmenuOpen: (key: string, level: number) => void; }; export declare const OpenSubmenuContext: React.Context; /** * */ export type DropdownMenuItemProps = { label?: string; eventKey?: string | number; icon?: string; iconRight?: string; disabled?: boolean; divider?: 'top' | 'bottom'; selected?: boolean; onClick?: (e: React.SyntheticEvent) => void; submenu?: ReactNode; submenuItems?: Array<{ key: string | number; } & DropdownMenuItemProps>; level?: number; } & Omit, 'onClick'>; /** * */ export declare const DropdownMenuItem: FC; export declare const MenuItem: React.FC; /** * */ export type DropdownSubmenuProps = { label?: string; align?: 'left' | 'right'; children?: ReactNode; }; /** * */ export declare const DropdownSubmenu: FC; /** * */ export type DropdownMenuProps = HTMLAttributes & { size?: 'small' | 'medium' | 'large'; header?: string; nubbin?: 'top' | 'top left' | 'top right' | 'bottom' | 'bottom left' | 'bottom right' | 'auto'; nubbinTop?: boolean; hoverPopup?: boolean; onMenuSelect?: Bivariant<(eventKey: EventKey) => void>; onMenuClose?: () => void; elementRef?: Ref; }; /** * */ export declare const DropdownMenu: FC>; export {};