import ContextMenu from '../ContextMenu';
import * as React from 'react';
export declare namespace IRFCMenu {
type OnHoverItem
= (menuItem: IMenuItem
, event: React.MouseEvent, hover: boolean) => void;
type OnClickItem = (menuItem: IMenuItem, browserWindow: Window, event: React.MouseEvent) => void;
interface IMenuItem {
action?: T;
id?: string;
label?: string;
subLabel?: string;
type?: 'normal' | 'separator' | 'checkbox';
icon?: string | React.ReactNode;
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;
}
}
//# sourceMappingURL=@types.d.ts.map