import { PluginObject } from 'vue'; import { MElementDomPlugin, MountFunction, RefreshFunction } from '../../domPlugin'; import { MDraggable } from '../draggable/draggable'; import './droppable.scss'; export declare enum MDroppableClassNames { Droppable = "m--is-droppable", Overing = "m--is-dragover", CanDrop = "m--can-drop", CantDrop = "m--cant-drop" } export declare enum MDropEffect { MMove = "move", MNone = "none" } export interface MDropEvent extends CustomEvent { dropInfo: MDropInfo; } export interface MDroppableOptions { acceptedActions: string[]; canDrop?: boolean; alwaysMount?: boolean; } export interface MDropInfo { action: string; grouping?: string; data: any; canDrop: any; } export declare enum MDroppableEventNames { OnDrop = "droppable:drop", OnDragEnter = "droppable:dragenter", OnDragLeave = "droppable:dragleave", OnDragOver = "droppable:dragover" } export declare class MDroppable extends MElementDomPlugin { static defaultMountPoint: string; static currentHoverDroppable?: MDroppable; static previousHoverContainer?: MDroppable; private grabEvents; private cancelGrabEvents; private intputTouchUpListener; constructor(element: HTMLElement, options: MDroppableOptions); attach(mount: MountFunction): void; update(options: MDroppableOptions, refresh: RefreshFunction): void; detach(): void; cleanupCssClasses(): void; leaveDroppable(event: DragEvent): void; private canDropTarget; canDrop(draggable?: MDraggable | undefined): boolean; private attachAll; private attachDragOverOnly; private isDropRestrictedByEncapsuledSortable; private setOptions; private onDragLeave; private isLeavingDroppable; private onDragEnter; private onDragOver; private onDragIn; private onDrop; private dispatchEvent; private extractDropInfo; private isHoveringOverDraggedElementChild; private allowInputTextSelection; private turnDragOn; } declare const DroppablePlugin: PluginObject; export default DroppablePlugin; //# sourceMappingURL=droppable.d.ts.map