import { Editor } from '@tiptap/react';
import { IBEditorTableCellAddress } from '../core/types';
interface IBEditorTableMenuProps {
    commandCellAddresses?: IBEditorTableCellAddress[];
    commandCells?: HTMLTableCellElement[];
    editor: Editor | null;
    id?: string;
    interactionRoot?: HTMLElement | null;
    onAfterCommand?: (result: IBEditorTableCommandResult) => void;
    onBeforeCommand?: () => void;
    onRequestClose?: () => void;
    position: {
        left: number;
        top: number;
    } | null;
    rootId?: string;
}
export interface IBEditorTableCommandResult {
    didRun: boolean;
    selectionAction?: 'clear';
}
interface ITableMenuSize {
    height: number;
    width: number;
}
type TColorPanelPlacement = 'bottom' | 'top';
export declare function areBEditorTableMenuPropsEqual(current: Readonly<IBEditorTableMenuProps>, next: Readonly<IBEditorTableMenuProps>): boolean;
export declare function resolveBEditorTableMenuPosition(position: {
    left: number;
    top: number;
}, containerSize: ITableMenuSize, menuSize: ITableMenuSize): {
    left: number;
    top: number;
};
export declare function resolveBEditorTableMenuRenderPosition(position: {
    left: number;
    top: number;
}, containerSize: ITableMenuSize | null | undefined, menuSize: ITableMenuSize | null | undefined): {
    left: number;
    top: number;
};
export declare function resolveBEditorTableMenuVisibility(_position: {
    left: number;
    top: number;
}, positionedSource: {
    left: number;
    top: number;
} | null | undefined): 'hidden' | 'visible';
export declare function resolveBEditorTableColorPanelPlacement(menuRect: Pick<DOMRect, 'bottom' | 'top'>, panelSize: Pick<ITableMenuSize, 'height'>, containerSize: Pick<ITableMenuSize, 'height'>): TColorPanelPlacement;
export declare const BEditorTableMenu: import('react').NamedExoticComponent<Readonly<IBEditorTableMenuProps>>;
export {};
