export interface SmoothDnD { dispose: () => void; setOptions: (options: ContainerOptions, merge?: boolean) => void; } export declare type SmoothDnDCreator = ((element: HTMLElement, options?: ContainerOptions) => SmoothDnD) & { dropHandler?: any; wrapChild?: boolean; maxScrollSpeed?: number; useTransformForGhost?: boolean; cancelDrag: () => void; isDragging: () => boolean; }; declare type Callback = (params: T) => void; export interface DropResult { removedIndex: number | null; addedIndex: number | null; payload?: any; element?: HTMLElement; } export interface DropPlaceholderOptions { className?: string; animationDuration?: number; showOnTop?: boolean; } export interface DragStartParams { isSource: boolean; payload: any; willAcceptDrop: boolean; } export interface DragEndParams { isSource: boolean; payload: any; willAcceptDrop: boolean; } export declare type DragStartCallback = Callback; export declare type DragEndCallback = Callback; export declare type OnDropCallback = Callback; export declare type OnDropReadyCallback = Callback; export interface ContainerOptions { behaviour?: 'move' | 'copy' | 'drop-zone' | 'contain'; groupName?: string; orientation?: 'vertical' | 'horizontal'; dragHandleSelector?: string; nonDragAreaSelector?: string; dragBeginDelay?: number; animationDuration?: number; autoScrollEnabled?: boolean; lockAxis?: 'x' | 'y'; dragClass?: string; dropClass?: string; onDragStart?: DragStartCallback; onDrop?: OnDropCallback; getChildPayload?: (index: number) => any; shouldAnimateDrop?: (sourceContainerOptions: ContainerOptions, payload: any) => boolean; shouldAcceptDrop?: (sourceContainerOptions: ContainerOptions, payload: any) => boolean; onDragEnter?: () => void; onDragLeave?: () => void; onDropReady?: OnDropReadyCallback; removeOnDropOut?: boolean; getGhostParent?: () => HTMLElement; onDragEnd?: DragEndCallback; dropPlaceholder?: DropPlaceholderOptions | boolean; } export {};