/** * @license *------------------------------------------------------------------------------------------- * Copyright © 2026 Progress Software Corporation. All rights reserved. * Licensed under commercial license. See LICENSE.md in the package root for more information *------------------------------------------------------------------------------------------- */ import { PropType } from 'vue'; import { LocalizationService } from '@progress/kendo-vue-intl'; import { MenuItemModel, MenuSelectEvent } from '@progress/kendo-vue-layout'; import { Offset } from '@progress/kendo-vue-popup'; import { GridContextMenuItemNames } from './enums'; /** * Represents the `GridContextMenuOptions`. */ export interface GridContextMenuOptions { /** * The contextmenu settings for the head of the data table. */ head?: boolean | (GridContextMenuItemNames | MenuItemModel)[]; /** * The contextmenu settings for the body of the data table. */ body?: boolean | (GridContextMenuItemNames | MenuItemModel)[]; } /** * Represents the `GridCellBaseOptions` object that are passed to the handler. */ export interface GridCellBaseOptions { /** * The data item associated with the cell. */ dataItem?: any; /** * The field name of the column associated with the cell. */ field?: string; } /** * @hidden */ export interface GridContextMenuItem extends MenuItemModel { name?: string; options?: string; items?: GridContextMenuItem[]; } /** * @hidden */ export interface GridContextMenuProps { show: boolean; offset: Offset; onClose: () => void; onSelect: (e: { event: MenuSelectEvent; dataItem?: any; field?: string; }) => void; dataItem?: any; field?: string; items?: (GridContextMenuItemNames | GridContextMenuItem)[]; } /** * @hidden */ export declare const contextMenuItemsMap: Record; /** * @hidden */ export declare const getDefaultHeadContextMenuItems: (options: { pdf?: boolean; sortable?: boolean; selectable?: boolean; editable?: boolean; reorderable?: boolean; clipboard?: boolean; }) => GridContextMenuItemNames[]; /** * @hidden */ export declare const getDefaultBodyContextMenuItems: (options: { pdf?: boolean; sortable?: boolean; selectable?: boolean; editable?: boolean; rowReorderable?: boolean; clipboard?: boolean; pinnable?: boolean; }) => GridContextMenuItemNames[]; /** * @hidden */ export declare const GridContextMenu: import('vue').DefineComponent; default: () => { left: number; top: number; }; }; dataItem: { type: ObjectConstructor; default: any; }; field: { type: StringConstructor; default: any; }; items: { type: PropType<(GridContextMenuItemNames | GridContextMenuItem)[]>; default: any; }; }>, {}, {}, {}, { localizeItem(item: GridContextMenuItem, ls: LocalizationService): GridContextMenuItem; menuItems(): GridContextMenuItem[] | undefined; handleSelect(event: MenuSelectEvent): void; handleClose(): void; }, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, ("select" | "close")[], "select" | "close", import('vue').PublicProps, Readonly; default: () => { left: number; top: number; }; }; dataItem: { type: ObjectConstructor; default: any; }; field: { type: StringConstructor; default: any; }; items: { type: PropType<(GridContextMenuItemNames | GridContextMenuItem)[]>; default: any; }; }>> & Readonly<{ onSelect?: (...args: any[]) => any; onClose?: (...args: any[]) => any; }>, { field: string; dataItem: Record; items: (GridContextMenuItemNames | GridContextMenuItem)[]; offset: Offset; show: boolean; }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;