import type { ListTable } from '@visactor/vtable'; import type { pluginsDefinition } from '@visactor/vtable'; import type { MenuItemOrSeparator, MenuClickEventArgs } from './contextmenu/types'; import { MenuKey } from './contextmenu/types'; export interface ContextMenuOptions { id?: string; cornerSeriesNumberMenuItems?: MenuItemOrSeparator[]; columnSeriesNumberMenuItems?: MenuItemOrSeparator[]; rowSeriesNumberMenuItems?: MenuItemOrSeparator[]; headerCellMenuItems?: MenuItemOrSeparator[]; bodyCellMenuItems?: MenuItemOrSeparator[]; menuClickCallback?: MenuClickCallback | ({ [key in MenuKey]?: MenuClickCallback; } & { [key: string]: MenuClickCallback | undefined; }); beforeShowAdjustMenuItems?: (menuItems: MenuItemOrSeparator[], table: ListTable, col: number, row: number) => MenuItemOrSeparator[]; } export type MenuClickCallback = (args: MenuClickEventArgs, table: ListTable) => void; export declare class ContextMenuPlugin implements pluginsDefinition.IVTablePlugin { id: string; name: string; runTime: ("contextmenu_cell" | "plugin_event")[]; pluginOptions: ContextMenuOptions; table: ListTable; private menuManager; private menuHandler; constructor(pluginOptions?: ContextMenuOptions); private initDefaultMenuItems; private handleContextMenuCell; private handlePluginEvent; run(...args: any[]): void; private handleMenuClickCallback; private showContextMenu; private handleMenuClick; release(): void; }