import * as React from 'react';

/**
 * useDraggableList — pointer-driven reorder hook used by drawer sort cards,
 * column rows, and conditional-rule lists. Generic over item shape via
 * `getId(item) => string | number`.
 */

interface DraggableListHandle {
    dragId: string | null;
    overId: string | null;
    getItemProps: (id: string) => {
        draggable: true;
        onDragStart: (e: React.DragEvent) => void;
        onDragOver: (e: React.DragEvent) => void;
        onDrop: (e: React.DragEvent) => void;
        onDragEnd: () => void;
        "data-dragging": boolean;
        "data-over": boolean;
    };
}
declare function useDraggableList<T>(items: T[], getId: (item: T) => string, onReorder: (newItems: T[]) => void): DraggableListHandle;

export { type DraggableListHandle, useDraggableList };
