import React from 'react'; import type { MenuDivider, MenuItem } from '../types'; interface ContextMenuProps { className?: string; container?: HTMLElement | null | (() => HTMLElement); } interface ContextMenuState { isOpened: boolean; menus: Array; x: number; y: number; align?: 'left' | 'right'; onClose?: (ctx: ContextMenu) => void; } export declare class ContextMenu extends React.Component { static instance: any; static getInstance(): Promise; state: ContextMenuState; menuRef: React.RefObject; originInstance: this | null; prevInfo: { x: number; y: number; } | null; unmount: boolean; constructor(props: ContextMenuProps); componentDidMount(): void; componentWillUnmount(): void; openContextMenus(info: { x: number; y: number; }, menus: Array, onClose?: (ctx: ContextMenu) => void): void; close(): void; handleOutClick(e: Event): void; handleClick(item: MenuItem): void; handleKeyDown(e: KeyboardEvent): void; handleMouseEnter(item: MenuItem): void; handleMouseLeave(item: MenuItem): void; handleEnter(menu: HTMLElement): void; handleSelfContextMenu(e: React.MouseEvent): void; renderMenus(menus: Array): JSX.Element[]; render(): JSX.Element; } export default ContextMenu; export declare function openContextMenus(info: Event | { x: number; y: number; }, menus: Array, onClose?: (ctx: ContextMenu) => void): Promise; export declare function closeContextMenus(): Promise;