import { Editor, Node as TtNode } from '@tiptap/core';
import { Node as PmNode, ResolvedPos } from '@tiptap/pm/model';
import { Plugin, Transaction } from '@tiptap/pm/state';
import { EditorView, NodeView } from '@tiptap/pm/view';

export type RowResizingOptions = {
    View?: (new (node: PmNode, cellMinHeight: number, view: EditorView, isReadOnly?: boolean) => NodeView) | undefined;
    cellMinHeight?: number;
    editor?: Editor;
    handleHeight?: number;
    isReadOnly?: boolean;
    lastRowResizable?: boolean;
    ownerDocument?: Document;
};
export declare function pointsAtCell($pos: ResolvedPos): boolean;
export type RowDragging = {
    startHeight: number;
    startY: number;
};
export declare class RowResizeState {
    activeHandle: number;
    dragging: RowDragging | false;
    constructor(activeHandle: number, dragging: RowDragging | false);
    apply(tr: Transaction): RowResizeState;
}
export declare function rowResizing({ View, cellMinHeight, handleHeight, isReadOnly, lastRowResizable, ownerDocument, }?: RowResizingOptions): Plugin;
export declare function resizableTableRow(node: TtNode): TtNode<any, any>;
