import { Node } from '@tiptap/pm/model';
import { EditorState, Selection, Transaction } from '@tiptap/pm/state';
import { CellSelection } from '@tiptap/pm/tables';
import { Mappable } from '@tiptap/pm/transform';
import { DecorationSource } from '@tiptap/pm/view';

/**
 * @public
 */
export interface CellSelectionJSON {
    anchor: number;
    head: number;
    type: string;
}
export declare class CellBookmark {
    anchor: number;
    head: number;
    constructor(anchor: number, head: number);
    map(mapping: Mappable): CellBookmark;
    resolve(doc: Node): CellSelection | Selection;
}
export declare function drawCellSelection(state: EditorState): DecorationSource | null;
export declare function normalizeSelection(state: EditorState, tr: Transaction | undefined, allowTableNodeSelection: boolean): Transaction | undefined;
