import { BlockNoteEditor, BlockSchemaWithBlock, DefaultBlockSchema, InlineContentSchema, StyleSchema, TableHandlesProsemirrorPlugin, TableHandlesState } from "@blocknote/core";
import { DragEvent, FC } from "react";
import { DragHandleMenuProps } from "../SideMenu/DragHandleMenu/DragHandleMenu";
export type TableHandleProps<BSchema extends BlockSchemaWithBlock<"table", DefaultBlockSchema["table"]>, I extends InlineContentSchema, S extends StyleSchema> = Pick<TableHandlesProsemirrorPlugin<BSchema, I, S>, "dragEnd" | "freezeHandles" | "unfreezeHandles"> & Omit<TableHandlesState<I, S>, "rowIndex" | "colIndex" | "referencePosCell" | "referencePosTable" | "show" | "draggingState"> & {
    orientation: "row" | "column";
    editor: BlockNoteEditor<BlockSchemaWithBlock<"table", DefaultBlockSchema["table"]>>;
    tableHandleMenu?: FC<DragHandleMenuProps<BSchema, I, S>>;
    dragStart: (e: DragEvent<HTMLDivElement>) => void;
    index: number;
    showOtherSide: () => void;
    hideOtherSide: () => void;
};
export declare const TableHandlesPositioner: <BSchema extends BlockSchemaWithBlock<"table", {
    type: "table";
    content: "table";
    propSchema: {
        backgroundColor: {
            default: "default";
        };
        textColor: {
            default: "default";
        };
        textAlignment: {
            default: "left";
            values: readonly ["left", "center", "right", "justify"];
        };
    };
}>, I extends InlineContentSchema, S extends StyleSchema>(props: {
    editor: BlockNoteEditor<BSchema, I, S>;
    tableHandle?: FC<TableHandleProps<BSchema, I, S>> | undefined;
}) => import("react/jsx-runtime").JSX.Element | null;
