import { KeyboardShortcutCommand } from '@tiptap/core';
import { Node as PmNode, ResolvedPos } from '@tiptap/pm/model';
import { Transaction } from '@tiptap/pm/state';
import { Rect, TableMap, TableRect } from '@tiptap/pm/tables';

export declare const DEFAULT_COL_WIDTH_PERCENTAGE = 10;
export interface CellAttrs {
    colspan: number;
    colwidth: number[] | null;
    rowspan: number;
}
export declare const cellsOverlapRectangle: ({ height, map, width }: TableMap, rect: Rect) => boolean;
export declare const isEmpty: (cell: PmNode) => boolean;
export declare const cellWrapping: ($pos: ResolvedPos) => null | PmNode;
export declare const addColumn: (tr: Transaction, rect: TableRect, col: number, isBefore: boolean) => Transaction;
export declare function addRow(tr: Transaction, rect: TableRect, row: number, isAbove: boolean): Transaction;
export declare function domCellAround(target: HTMLElement | null): HTMLElement | null;
export declare const removeCell: (tr: Transaction, { map, table, tableStart }: TableRect, top: number, left: number) => Transaction | null;
export declare const getTableWidth: (map: TableMap, node: PmNode) => number;
export declare function getTopLeftIndex(index: number, map: TableMap): number;
export declare function getBottomRightIndex(index: number, map: TableMap): number;
export declare function getBottomLeftIndex(index: number, colspan: number, map: TableMap): number;
export declare function zeroes(n: number): Array<0>;
export declare const deleteTableContentOnly: KeyboardShortcutCommand;
