import React, { HTMLAttributes, ReactNode } from 'react';
export interface DraggableProps extends HTMLAttributes {
/**
* The current index of the draggable wrapper.
*/
index: number;
/**
* Prevent this draggable wrapper from dragging.
*/
disableDrag?: boolean;
/**
* Hides the snapshot preview of the item while dragging. The most common use
* case would be if you're implementing a custom drag layer and you don't want
* the preview snapshot to clash with it.
*/
hideDragPreview?: boolean;
/**
* Prevent the move-to-location animation of this draggable.
*/
preventAnimation?: boolean;
/**
* Call instead of providing children if you wish to use the `isDragging`
* prop.
* @param isDragging Is the child dragging.
*/
onRenderChildren?(isDragging: boolean): ReactNode;
/**
* If given, will be called any time the draggable wrapper is moved. Returns
* whether the move was successful.
* @param fromIndex The previous index of the item.
* @param toIndex The next index of the item.
*/
onMove?(fromIndex: number, toIndex: number): boolean;
/**
* Called whenever the dnd property `isDragging` changes.
* @param isDragging Is the child dragging.
*/
onDragChange?(isDragging: boolean): void;
}
export declare const Draggable: React.ForwardRefExoticComponent>;