import type { EditorState } from 'prosemirror-state';
import type { Node, NodeType, ResolvedPos, Schema } from '../../../tiptap/pm/model';
import { TableMap } from '../tablemap.js';
import type { Rect, TableRect, TableRole } from './types.js';
export declare function isEmpty(cell: Node): boolean;
export declare function cellsOverlapRectangle({ width, height, map }: TableMap, rect: Rect): boolean;
/**
 * @public
 */
export declare function cellAround($pos: ResolvedPos): ResolvedPos | null;
export declare function cellWrapping($pos: ResolvedPos): null | Node;
/**
 * @public
 */
export declare function cellNear($pos: ResolvedPos): ResolvedPos | undefined;
/**
 * @public
 */
export declare function nextCell($pos: ResolvedPos, axis: 'horiz' | 'vert', dir: number): ResolvedPos | null;
/**
 * @public
 */
export declare function isInTable(state: EditorState): boolean;
/**
 * @internal
 */
export declare function selectionCell(state: EditorState): ResolvedPos;
/**
 * Helper to get the selected rectangle in a table, if any. Adds table
 * map, table node, and table start offset to the object for
 * convenience.
 *
 * @public
 */
export declare function selectedRect(state: EditorState): TableRect;
/**
 * @public
 */
export declare function tableNodeTypes(schema: Schema): Record<TableRole, NodeType>;
/**
 * @public
 */
export declare function columnIsHeader(map: TableMap, table: Node, col: number): boolean;
export declare function rowIsHeader(map: TableMap, table: Node, row: number): boolean;
export declare function isHeaderEnabledByType(type: 'row' | 'column', rect: TableRect, types: Record<string, NodeType>): {
    enabled: boolean;
    spansCrossBoundary: boolean;
};
export declare function getTableRectFromDoc(doc: Node, tableStart: number): TableRect;
//# sourceMappingURL=queries.d.ts.map