import { Option } from 'fp-ts/lib/Option'; import { ExtractPropTypes } from 'vue'; import { FunctionN } from 'fp-ts/lib/function'; import { PropType, Ref } from 'vue'; import { BTableRow } from '../shared'; declare type DropEffect = 'none' | 'copy' | 'link' | 'move'; declare type DragHandler = FunctionN<[DragEvent], void>; declare type OnDragEffect = FunctionN<[BTableRow, DragEvent, number], void>; export declare const BTableDraggablePropsDefinition: { isDraggable: { type: BooleanConstructor; default: boolean; }; dropEffect: { type: PropType; default: "move"; }; onDragstart: { type: PropType; default: import("fp-ts/lib/function").Lazy<() => void>; }; onDragenter: { type: PropType; default: import("fp-ts/lib/function").Lazy<() => void>; }; onDragover: { type: PropType; default: import("fp-ts/lib/function").Lazy<() => void>; }; onDragleave: { type: PropType; default: import("fp-ts/lib/function").Lazy<() => void>; }; onDragend: { type: PropType; default: import("fp-ts/lib/function").Lazy<() => void>; }; onDrop: { type: PropType; default: import("fp-ts/lib/function").Lazy<() => void>; }; }; export interface BTableDraggableProps extends ExtractPropTypes { } export interface UseDraggableTable { isDraggable: Ref; isActive: Ref; target: Ref>; useRowDragListeners: FunctionN<[BTableRow, number], Record>; } export declare function useDraggableTable(props: BTableDraggableProps): UseDraggableTable; export declare function useInjectedDraggableTable(): UseDraggableTable; export {};