import React from 'react'; /** * Menu properties */ export declare type MenuProps = { /** trigger component to open menu */ trigger: JSX.Element; /** menu content, can contain both items and dividers */ children: React.ReactNode; /** parent of the portal container rendering the menu */ portalParent?: HTMLElement; /** vertical placement of the menu item, it could be either * `top` (render the menu at top of the trigger) * or `bottom` (render menu at bottom) */ verticalPlacement?: 'top' | 'bottom'; /** horizontal placement of the menu item, it could be either * `left` (the left position of menu and trigger co-incide) * or `right` (the right position of the menu and trigger co-incide) */ horizontalPlacement?: 'left' | 'right'; }; /** * Component to render **dropdown menu**. * * Use `Menu.Item` and `Menu.Divider` components to render the drop down content * * If `verticalPlacement` or `horizontalPlacement` is not provided, it would be computed based on the position of * trigger and menu content. */ export declare function Menu({ trigger, children, portalParent, verticalPlacement, horizontalPlacement, }: MenuProps): JSX.Element; export declare namespace Menu { var Item: typeof MenuItem; var Divider: typeof MenuDivider; } /** Menu item properties */ export declare type MenuItemProps = { /** menu item text */ label: string; /** menu item icon */ icon?: JSX.Element; /** function to be called on menu item click */ onClick?: (event: React.MouseEvent) => void; /** additional class */ className?: string; /** additional styles */ style?: React.CSSProperties; }; export declare function MenuItem({ label, icon, onClick, className, style, }: MenuItemProps): JSX.Element; /** Menu divider properties */ export declare type MenuDividerProps = { /** additional classes for divider */ className?: string; /** additional styles */ style?: React.CSSProperties; }; export declare function MenuDivider({ className, style }: MenuDividerProps): JSX.Element;