///
interface DraggableState {
isDragging: boolean;
dragOffset: {
x: number;
y: number;
};
}
interface DraggableOptions {
enabled?: boolean;
resizableEnabled?: boolean;
onDragStart?: (startPosition: {
x: number;
y: number;
}) => void;
onDrag?: (newPosition: {
x: number;
y: number;
}, delta: {
x: number;
y: number;
}) => void;
onDragEnd?: (finalPosition: {
x: number;
y: number;
}) => void;
containerRef?: React.RefObject;
dragHandle?: string;
getCurrentPosition?: () => {
left: number;
top: number;
};
}
export declare const useDraggable: (options?: DraggableOptions) => {
state: DraggableState;
isDragging: boolean;
dragOffset: {
x: number;
y: number;
};
hasDragged: boolean;
justFinishedDrag: boolean;
};
export {};