import React from "react"; import { Draggable, DropTarget } from "./data"; export interface DragDropProviderProps { children: React.ReactNode; /** * Callback fired when an item is dropped. * * Provides data about the dragged item and the drop target (if any) as arguments. */ onDrop?: (args: { dragged: Draggable; target: DropTarget | null; }) => void; /** * Callback fired when a dragged item leaves a drop target, or moves over a new one. * * Provides data about the dragged item and the drop target (if any) as arguments. */ onDropTargetChange?: (args: { dragged: Draggable; target: DropTarget | null; }) => void; } type DragDropContextType = { /** Identifier of the context instance. */ contextId: symbol; }; declare function useDragDropContext(): DragDropContextType | null; declare const DragDropProvider: ({ children, onDrop, onDropTargetChange, }: DragDropProviderProps) => React.JSX.Element; export { DragDropProvider, useDragDropContext };