import { DirectiveOptions } from 'vue'; import { PluginObject } from 'vue/types/plugin'; import { MElementDomPlugin, MountFunction, RefreshFunction } from '../domPlugin'; import './sortable.scss'; export interface MSortableOptions { items: any[]; acceptedActions: string[]; canSort?: any; encapsulate?: boolean; } export declare enum MSortableEventNames { OnAdd = "sortable:add", OnMove = "sortable:move", OnRemove = "sortable:remove" } export declare enum MSortInsertPositions { Before = "before", In = "in", After = "after" } export interface MSortEvent extends CustomEvent { sortInfo: MSortInfo; } export declare enum MSortableClassNames { Sortable = "m--is-sortable", CantSort = "m--cant-sort", SortBefore = "m--is-sortbefore", SortIn = "m--is-sortin", SortAfter = "m--is-sortafter", EmptyPlaceholder = "m--is-sortable-placeholder" } export interface MSortInfo { action: string; grouping?: string; data: any; canDrop: boolean; oldPosition: number; newPosition: number; } export declare enum MSortableAction { Default = "any", Move = "move", MoveGroup = "move_group" } export declare class MSortable extends MElementDomPlugin { static defaultMountPoint: string; static activeSortContainer: MSortable | undefined; static fromSortContainer: MSortable | undefined; private emptyPlaceHolderElement; private observer; constructor(element: HTMLElement, options: MSortableOptions); doCleanUp(): void; attach(mount: MountFunction): void; update(options: MSortableOptions, refresh: RefreshFunction): void; detach(): void; private manageMutation; private setOptions; private canDrag; private canDrop; private attachChilds; private detachChilds; private attachEmptyPlaceholder; private onDragEnter; private onDragLeave; private onDragOver; private onDragIn; private onDrop; private onRemove; private onChildDragEnd; private onChildDragStart; private insertInsertionMarker; private getInsertionMarkerBehavior; private getNewPosition; private isHoveringOverDraggedElement; private isInsertingOnChild; private hasItems; private getCurrentInsertPosition; private cleanUpInsertionClasses; } export declare const SortableDirective: DirectiveOptions; declare const SortablePlugin: PluginObject; export default SortablePlugin; //# sourceMappingURL=sortable.d.ts.map