import { SylApi } from '@syllepsis/adapter'; import { IRect } from './table-context-menu'; import { canSplitCell } from './utils'; declare type TContextMenu = string | { name: string; key: string; disable?: boolean | ((editor: SylApi) => boolean); tip?: string; callback: (editor: SylApi) => void; }; declare const formatMenu: (editor: SylApi, data: TContextMenu[]) => TContextMenu[]; interface CursorRect { clientY: number; clientX: number; } /** * @param cursorRect * @param domRect */ declare const calculateMenuPosition: (cursorRect: CursorRect, domRect: IRect) => { top: number; left: number; }; interface ITableMenuLocale { cut: string; copy: string; paste: string; mergeCells: string; splitCell: string; addColumnBefore: string; addColumnAfter: string; addRowBefore: string; addRowAfter: string; deleteRow: string; deleteColumn: string; deleteTable: string; } interface ICreateMenuOptions { localeConfig?: ITableMenuLocale; menus?: TContextMenu[]; } declare const createMenu: (options: ICreateMenuOptions) => Array; declare const defaultTableMenus: (string | { name: string; key: string; callback: (editor: SylApi) => boolean | undefined; disable?: undefined; tip?: undefined; } | { name: string; key: string; disable: boolean; tip: string; callback: () => void; })[]; export { calculateMenuPosition, canSplitCell, createMenu, defaultTableMenus, formatMenu, TContextMenu };