import React from 'react'; import { DropDownProps } from 'antd/lib/dropdown'; import { MenuItemType, SubMenuType, MenuItemGroupType, MenuDividerType } from 'antd/lib/menu/hooks/useItems'; import './ContextMenu.css'; import { InteractionInfo } from '@buerli.io/core'; declare type MenuInfoBase = { interactionInfo: InteractionInfo; }; export declare type MenuInfo = T extends void ? MenuInfoBase : MenuInfoBase & { clickInfo: T; }; declare type MenuItemElement = Omit & { onClick?: (menuInfo: MenuInfo) => void; onMouseEnter?: (menuInfo: MenuInfo) => void; onMouseLeave?: (menuInfo: MenuInfo) => void; }; declare type SubMenuElement = Omit & { children: MenuElement[] | ((menuInfo: MenuInfo) => MenuElement[]); onClick?: (menuInfo: MenuInfo) => void; }; declare type MenuItemGroupElement = Omit & { children: MenuElement[]; }; export declare type MenuElement = MenuItemElement | SubMenuElement | MenuItemGroupElement | MenuDividerType | null; declare type ContextMenuProps = { items: MenuElement[]; menuInfo: MenuInfo; caption: string; icon?: JSX.Element; onHide?: () => void; } & DropDownProps; export declare const ContextMenu: React.FC; export {};