// Generated by dts-bundle-generator v8.1.2 import { Dispatch, LegacyRef, PropsWithChildren, RefCallback, SetStateAction } from 'react'; import Sortable from 'sortablejs'; import { MoveEvent, Options, SortableEvent, Utils } from 'sortablejs'; export declare const SortableProvider: ({ children }: PropsWithChildren) => import("react").ReactElement>; export interface UseSortableProps { setItems: Dispatch>; options?: ExtendedOptions; cloneItem?: (item: T) => T; sortableRef?: LegacyRef; } export interface RootProps { ref: RefCallback; } export interface ItemProps { ref: RefCallback; } export interface MultiDragUtils extends Utils { deselect: (e: HTMLElement) => void; } export type methods = "onStart" | "onEnd" | "onAdd" | "onClone" | "onChoose" | "onUnchoose" | "onUpdate" | "onSort" | "onRemove" | "onFilter" | "onMove" | "onChange"; export interface ExtendedOptions extends Omit { /** * Element dragging started */ onStart?: (event: SortableEventExtended) => void; /** * Element dragging ended */ onEnd?: (event: SortableEventExtended) => void; /** * Element is dropped into the list from another list */ onAdd?: (event: SortableEventExtended) => void; /** * Created a clone of an element */ onClone?: (event: SortableEventExtended) => void; /** * Element is chosen */ onChoose?: (event: SortableEventExtended) => void; /** * Element is unchosen */ onUnchoose?: (event: SortableEventExtended) => void; /** * Changed sorting within list */ onUpdate?: (event: SortableEventExtended) => void; /** * Called by any change to the list (add / update / remove) */ onSort?: (event: SortableEventExtended) => void; /** * Element is removed from the list into another list */ onRemove?: (event: SortableEventExtended) => void; /** * Attempt to drag a filtered element */ onFilter?: (event: SortableEventExtended) => void; /** * Event when you move an item in the list or between lists */ onMove?: (evt: MoveEventExtended, originalEvent: Event) => boolean | -1 | 1 | void; /** * Called when dragging element changes position */ onChange?: (evt: SortableEventExtended) => void; } export interface SortableEventExtended extends SortableEvent { stateItem: T; swapStateItem?: T; stateItems?: T[]; } export interface MoveEventExtended extends MoveEvent { stateItem: T; stateItems?: T[]; } export declare const useSortable: ({ setItems, options, cloneItem, sortableRef: userSortableRef }: UseSortableProps) => { getRootProps: () => RootProps; getItemProps: (item: T) => ItemProps; }; export {};