import type { Node as PmNode, ResolvedPos } from 'prosemirror-model';
import { type Predicate } from 'prosemirror-utils';
import type { EditorView } from 'prosemirror-view';
export declare const isTableNode: Predicate;
export declare const isTableBodyNode: Predicate;
export declare const isTableRowNode: Predicate;
export declare const isTableCellNode: Predicate;
export declare const findParentTable: ({ $from, $to }: import("prosemirror-state").Selection, validateSameParent?: boolean) => import("node_modules/prosemirror-utils/dist/types").FindResult;
export declare const findParentTableBody: ({ $from, $to }: import("prosemirror-state").Selection, validateSameParent?: boolean) => import("node_modules/prosemirror-utils/dist/types").FindResult;
export declare const findParentTableRow: ({ $from, $to }: import("prosemirror-state").Selection, validateSameParent?: boolean) => import("node_modules/prosemirror-utils/dist/types").FindResult;
export declare const findParentTableCell: ({ $from, $to }: import("prosemirror-state").Selection, validateSameParent?: boolean) => import("node_modules/prosemirror-utils/dist/types").FindResult;
export declare const findParentTableFromPos: ($pos: ResolvedPos) => import("node_modules/prosemirror-utils/dist/types").FindResult;
export declare const findParentTableBodyFromPos: ($pos: ResolvedPos) => import("node_modules/prosemirror-utils/dist/types").FindResult;
export declare const findParentTableRowFromPos: ($pos: ResolvedPos) => import("node_modules/prosemirror-utils/dist/types").FindResult;
export declare const findParentTableCellFromPos: ($pos: ResolvedPos) => import("node_modules/prosemirror-utils/dist/types").FindResult;
export declare const findChildTableRows: (node: PmNode) => {
    node: PmNode;
    pos: number;
}[];
export declare const findChildTableCells: (node: PmNode) => {
    node: PmNode;
    pos: number;
}[];
export declare const findChildTableBody: (node: PmNode) => {
    node: PmNode;
    pos: number;
}[];
export declare const getTableDimensions: (node: PmNode) => {
    rows: number;
    cols: number;
};
export declare function atEndOfCell(view: EditorView, dir: number): number | null;
