export declare const BlockMenuKit: (import('platejs/react').PlatePlugin; shadowInputRef?: React.RefObject; isSelectable?: (element: import('platejs').TElement, path: import('platejs').Path) => boolean; onKeyDownSelecting?: (editor: import('platejs').SlateEditor, e: KeyboardEvent) => void; }, { blockSelection: { addOnContextMenu: import('platejs').OmitFirst<(editor: import('platejs/react').PlateEditor, { disabledWhenFocused, element, event }: { element: import('platejs').TElement; event: React.MouseEvent; disabledWhenFocused?: boolean; }) => void>; setSelectedIds: import('platejs').OmitFirst<(editor: import('platejs').SlateEditor, { added, ids, removed }: Partial<{ added: Element[]; removed: Element[]; }> & { ids?: string[]; }) => void>; add: (id: string[] | string) => void; addSelectedRow: (id: string, options?: { clear?: boolean; delay?: number; }) => void; clear: () => void; delete: (id: string[] | string) => void; deselect: () => void; first: () => import('platejs').NodeEntry | null; focus: () => void; getNodes: (options?: { collapseTableRows?: boolean; selectionFallback?: boolean; sort?: boolean; }) => import('platejs').NodeEntry[]; has: (id: string[] | string) => boolean; isSelectable: (element: import('platejs').TElement, path: import('platejs').Path) => boolean; moveSelection: (direction: "down" | "up") => void; resetSelectedIds: () => void; selectAll: () => void; set: (id: string[] | string) => void; shiftSelection: (direction: "down" | "up") => void; unselect: () => void; }; } & Record<"blockSelection", Partial<{ addOnContextMenu: import('platejs').OmitFirst<(editor: import('platejs/react').PlateEditor, { disabledWhenFocused, element, event }: { element: import('platejs').TElement; event: React.MouseEvent; disabledWhenFocused?: boolean; }) => void>; setSelectedIds: import('platejs').OmitFirst<(editor: import('platejs').SlateEditor, { added, ids, removed }: Partial<{ added: Element[]; removed: Element[]; }> & { ids?: string[]; }) => void>; add: (id: string[] | string) => void; addSelectedRow: (id: string, options?: { clear?: boolean; delay?: number; }) => void; clear: () => void; delete: (id: string[] | string) => void; deselect: () => void; first: () => import('platejs').NodeEntry | null; focus: () => void; getNodes: (options?: { collapseTableRows?: boolean; selectionFallback?: boolean; sort?: boolean; }) => import('platejs').NodeEntry[]; has: (id: string[] | string) => boolean; isSelectable: (element: import('platejs').TElement, path: import('platejs').Path) => boolean; moveSelection: (direction: "down" | "up") => void; resetSelectedIds: () => void; selectAll: () => void; set: (id: string[] | string) => void; shiftSelection: (direction: "down" | "up") => void; unselect: () => void; }>>, Record<"blockSelection", { duplicate: () => void; insertBlocksAndSelect: (nodes: import('platejs').TElement[], args_1: { at: import('platejs').Path; insertedCallback?: () => void; }) => void; removeNodes: () => void; select: () => void; selectBlocks: (at: import('platejs').Path | import('platejs').TNode) => void; setIndent: (indent: number, options?: import('platejs').SetNodesOptions | undefined) => void; setNodes: (props: Partial>, options?: import('platejs').SetNodesOptions | undefined) => void; setTexts: (props: Partial>, options?: Omit | undefined) => void; }>, { isSelected?: (id?: string) => boolean; isSelectingSome?: () => boolean; }>> | import('platejs/react').PlatePlugin void; show: (id: (string & {}) | "context", position?: { x: number; y: number; }) => void; showContextMenu: (blockId: string, position: { x: number; y: number; }) => void; }; } & Record<"blockMenu", Partial<{ hide: () => void; show: (id: (string & {}) | "context", position?: { x: number; y: number; }) => void; showContextMenu: (blockId: string, position: { x: number; y: number; }) => void; }>>, {}, {}>>)[];