/// import { ContextMenu } from 'react-electron-window-menu'; export declare namespace IREWMenu { type OnHoverItem = (menuItem: IMenuItem, event: React.MouseEvent, hover: boolean) => void; type OnClickItem = (menuItem: IMenuItem, browserWindow: Window, event: React.MouseEvent) => void; interface IMenuItem { id?: string; label?: string; sublabel?: string; type?: 'normal' | 'separator' | 'checkbox'; icon?: string | React.ReactElement; checked?: boolean; submenu?: IMenuItem[]; click?: OnClickItem; opened?: boolean; enabled?: boolean; visible?: boolean; accelerator?: string; } interface IMenuItemProps { item: IMenuItem; onClickItem: OnClickItem; onHoverItem: OnHoverItem; } interface IContextMenuOptions { id?: string; style?: React.CSSProperties; placement?: 'top' | 'bottom'; } interface IPopupOption { x?: number; y?: number; callback?: () => void; } interface IPopupMenuProps { visible: boolean; menuItems: IMenuItem[]; onClickItem: OnClickItem; parentOffset: { left: number; top: number; width?: number; height?: number; id?: string; }; userStyle?: React.CSSProperties; } interface IPopupMenuState { visible: boolean; positioned: boolean; newLeft: number; newTop: number; menuItems: IMenuItem[]; } interface IContextMenu { popup: (popupOption?: IPopupOption) => void; setMenu: (menuItems: IMenuItem[]) => ContextMenu; close: () => void; } interface IMenuBarSubmenu { style?: React.CSSProperties; placement?: 'top' | 'bottom'; } interface IMenuBarProps { items?: IMenuItem[]; style?: React.CSSProperties; submenu?: IMenuBarSubmenu; enableAltKeyAction?: boolean; } }