import { ReactNode } from 'react'; import { ItemParams as ContexifyItemParams, ItemProps as ContexifyItemProps } from 'react-contexify'; import { BoxProps } from '../../Box'; import { MenuProps } from '../components/Menu'; import { MenuItemRenderProps, MenuItemProps } from '../components/MenuItem'; export declare type ContextMenuOption = Pick & MenuItemRenderProps & Omit & { onClick: (args: ContexifyItemParams) => void; }; export interface ContextMenuProps extends Pick, Pick { /** * Children for the dropdown menu that is rendered below the options. */ childrenBottom?: ReactNode; /** * Children for the dropdown menu that is rendered below the options. */ childrenTop?: ReactNode; /** * The `hasOverlay` props determines whether a transparent `div` is added to the DOM * to prevent users from hovering / clicking with other elements on the page while * the menu is opened. */ hasOverlay?: boolean; /** * The `id` is a unique identifier used to target the correct menu to open with * the `useContextMenu` hook. */ id: string; options: (ContextMenuOption & { subOptions?: ContextMenuOption[]; })[]; } export declare const ContextMenu: ({ animation, childrenBottom, childrenTop, id, hasOverlay, options, size, }: ContextMenuProps) => JSX.Element;