export interface DragAndDropState {
    isDragging: boolean;
    draggedItemId: string | null;
    dragOverItemId: string | null;
}
export interface UseDragAndDropOptions {
    onReorder?: (fromIndex: number, toIndex: number) => void;
    liveReorder?: boolean;
    throttleMs?: number;
}
export interface DragHandlers {
    onDragStart: (e: React.DragEvent, itemId: string, index: number) => void;
    onDragEnd: (e: React.DragEvent) => void;
    onDragOver: (e: React.DragEvent, itemId: string, index: number) => void;
    onDragLeave: (e: React.DragEvent) => void;
    onDrop: (e: React.DragEvent, itemId: string, index: number) => void;
}
/**
 * Hook personalizado para manejar drag and drop con optimización de rendimiento
 * Proporciona handlers y estado para implementar reordenamiento de items
 */
export declare const useDragAndDrop: (options?: UseDragAndDropOptions) => {
    state: DragAndDropState;
    handlers: DragHandlers;
    isDragging: boolean;
    draggedItemId: string | null;
    dragOverItemId: string | null;
};
//# sourceMappingURL=useDragAndDrop.d.ts.map