import { GridPlugin } from "../../tr-grid-util/es6/GridPlugin.js"; import Ext from "../../tr-grid-util/es6/Ext.js"; import MenuEventAPI from "./MenuEventAPI.js"; import PopupMenu from "./PopupMenu.js"; import { prettifyCss } from "../../tr-grid-util/es6/Util.js"; import { rgb2Hex, num2Hex, hex2Num, blendColor, getContrastColor } from "../../tr-grid-util/es6/Color.js"; declare namespace ContextMenuPlugin { type MenuItemEventCallback = (e: ContextMenuPlugin.MenuItemEvent|null) => void; type OnMenuEventCallback = (e: ContextMenuPlugin.OnMenuEvent|null) => void; type Context = "header" | "content" | "footer" | "filterRow"|null; type Options = { items: { [key: string]: ContextMenuPlugin.MenuItem }|null, onMenu?: ContextMenuPlugin.OnMenuEventCallback|null, contextmenu?: ((...params: any[]) => any)|null }; type MenuItem = { text?: string|null, value?: (string|number)|null, isDisabled?: boolean|null, isVisible?: boolean|null, isSeparator?: boolean|null, items?: (ContextMenuPlugin.MenuItem)[]|null, renderer?: ((...params: any[]) => any)|null, callback?: ContextMenuPlugin.MenuItemEventCallback|null }; type MenuItemEvent = { altKey: boolean, cell: any, colIndex: number, columnDef: object|null, context: ContextMenuPlugin.Context|null, ctrlKey: boolean, item: ContextMenuPlugin.MenuItem|null, items: { [key: string]: ContextMenuPlugin.MenuItem }|null, menu: MenuEventAPI|null, rowIndex: number, section: any, shiftKey: boolean }; type OnMenuEvent = { cell: any, colIndex: number, field: string, colId: string, context: ContextMenuPlugin.Context|null, items: object|null, menu: MenuEventAPI|null, rowIndex: number, section: any, selectedColumns: (number)[]|null, selectedRows: (number)[]|null }; } declare class ContextMenuPlugin extends GridPlugin { constructor(options?: (ContextMenuPlugin.Options|ContextMenuPlugin.OnMenuEvent)|null); public getName(): string; public initialize(host: any, options?: any): void; public unload(host: any): void; public config(options?: ContextMenuPlugin.Options|null): void; public getConfigObject(gridOptions?: any): any; public getMenuModel(): any; } export default ContextMenuPlugin; export { ContextMenuPlugin, ContextMenuPlugin as ContextMenu, ContextMenuPlugin as ContextMenuExtension };