//@ts-ignore
import { Coordinates, DropdownItem, DropdownMenuProps, Size } from '@grapecity/core-ui';
//@ts-ignore
import { AppContextType } from '@grapecity/core-ui';
///
//@ts-ignore
import * as React from 'react';
export declare const noop: () => any;
export type ContextMenuAPI = {
open: ContextMenuProvider['open'];
close: ContextMenuProvider['close'];
};
export type ContextMenuOptions = Omit;
export type ContextMenuProps = {
dataAid?: string;
size?: Size;
};
type ContextMenuState = {
showMenu: boolean;
mousePosition: Coordinates;
};
export declare class ContextMenuProvider extends React.Component {
//@ts-ignore
static contextType: React.Context;
context: AppContextType;
private _menu;
private _menuProps;
private _onItemClick;
state: {
showMenu: boolean;
mousePosition: {
x: number;
y: number;
};
};
componentDidMount(): void;
open: (mousePosition: Coordinates, items?: DropdownItem[], onItemClick?: ((item: DropdownItem) => void) | undefined, options?: ContextMenuOptions) => void;
close: () => void;
onItemClick: (item: DropdownItem) => void;
getNode: () => HTMLDivElement | null;
getSafeZone: () => any;
getMenuNode: () => any;
onNavigation: () => any;
getPositionerNode: () => any;
updateMenuPosition: () => any;
render(): false | React.JSX.Element;
}
export {};