import React from 'react'; import { ClassNames, PlateElementProps, TEditor } from '@udecode/plate-common'; import { DragItemNode } from '@udecode/plate-dnd'; import { DropTargetMonitor } from 'react-dnd'; export interface DraggableProps extends PlateElementProps, ClassNames<{ /** * Block and gutter. */ blockAndGutter: string; /** * Block. */ block: string; /** * Gutter at the left side of the editor. * It has the height of the block */ gutterLeft: string; /** * Block toolbar wrapper in the gutter left. * It has the height of a line of the block. */ blockToolbarWrapper: string; /** * Block toolbar in the gutter. */ blockToolbar: string; blockWrapper: string; /** * Button to dnd the block, in the block toolbar. */ dragHandle: string; /** * Icon of the drag button, in the drag icon. */ dragIcon: string; /** * Show a dropline above or below the block when dragging a block. */ dropLine: string; }> { /** * Intercepts the drop handling. * If `false` is returned, the default drop behavior is called after. * If `true` is returned, the default behavior is not called. */ onDropHandler?: (editor: TEditor, props: { monitor: DropTargetMonitor; dragItem: DragItemNode; nodeRef: any; id: string; }) => boolean; } declare const Draggable: React.ForwardRefExoticComponent & React.RefAttributes>; export { Draggable };