export interface DragAndDropOptions { draggingClass?: string; dragOverClass?: string; dropZoneSelector?: string; allowCrossContainer?: boolean; effectAllowed?: DataTransfer["effectAllowed"]; dataFormat?: string; onDragStart?: (element: HTMLElement, event: DragEvent) => void; onDragEnd?: (element: HTMLElement, event: DragEvent) => void; onDrop?: (dragged: HTMLElement, dropZone: HTMLElement, event: DragEvent) => void; onDragOver?: (element: HTMLElement, event: DragEvent) => boolean | void; handleSelector?: string; } export declare class DragAndDropManager { private draggables; private dropZones; private options; private currentDragged; constructor(draggableSelector: string | HTMLElement | HTMLElement[], options?: DragAndDropOptions); addDraggable(element: HTMLElement): void; removeDraggable(element: HTMLElement): void; addDropZone(element: HTMLElement): void; removeDropZone(element: HTMLElement): void; getDragged(): HTMLElement | null; setDraggable(element: HTMLElement, enabled: boolean): void; destroy(): void; static initDraggables(): DragAndDropManager[]; private initDraggables; private initDropZones; private setupDraggable; private teardownDraggable; private setupDropZone; private teardownDropZone; private handleDragStart; private handleDragEnd; private handleDragOver; private handleDragEnter; private handleDragLeave; private handleDrop; } export default DragAndDropManager; //# sourceMappingURL=DragAndDropManager.d.ts.map