import DataEngine from './data-engine'; import { Actions, AddNewItemArgs, ClassNames, ClassNamesList, Cursor, DataItem, Distances, DropLocation, EventListeners, ListElement, ListInterface, ListTagName, MappedDataItem, Options, PlaceholderMaintenanceActions, PropertyMap, RenderListItemFn, TargetNode } from './types'; declare class NestedSort { actions: Actions; classNames: ClassNames; cursor: Cursor; data: Array; dataEngine: DataEngine; distances: Partial; draggedNode?: HTMLElement; initialised: boolean; listClassNames: Array; listEventListeners: EventListeners; listInterface: ListInterface; listItemClassNames: Array; mainListClassName: string; nestingLevels: number; placeholderList: HTMLElement; placeholderInUse: HTMLElement; propertyMap: Partial; renderListItem: RenderListItemFn; sortableList: ListElement; targetedNode?: HTMLElement; targetNode: TargetNode; wrapper?: Element; constructor({ actions, data, droppingEdge, el, init, listClassNames, listItemClassNames, nestingLevels, propertyMap, renderListItem, }: Options); getListInterface(): ListInterface; getDataEngine(): DataEngine; createListClassNamesArray(listClassNames: ClassNamesList): Array; maybeInitDataDom(): void; getListTagName(): ListTagName; getSortableList(): ListElement; addListAttributes(): void; toggleMainListLifeCycleClassName(enabled?: boolean): void; toggleListItemAttributes(enable?: boolean): void; toggleListEventListeners(remove?: boolean): void; initDragAndDrop(): void; init(): void; destroy(): void; removeClassFromEl(className: string, el?: HTMLElement): void; canBeTargeted(el: HTMLElement): boolean; onDragStart(e: DragEvent): void; onDragOver(e: DragEvent): void; onDragEnter(e: DragEvent): void; onDragEnd(e: DragEvent): void; onDrop(e: DragEvent): void; updateCoordination(e: DragEvent): void; getDropLocation(): DropLocation | undefined; maybeDrop(): void; dropTheItem(place: DropLocation): void; calcMouseCoords(e: DragEvent): void; calcMouseToTargetedElDist(): void; areNested(child: HTMLElement | undefined, parent: HTMLElement | undefined): boolean; cursorIsIndentedEnough(): boolean; mouseIsTooCloseToTop(): boolean; managePlaceholderLists(): void; targetedNodeIsPlaceholder(): boolean; getNodeDepth(el: HTMLElement): number; nestingThresholdReached(el: HTMLElement, isPlaceHolderCheck?: boolean): boolean; analysePlaceHolderSituation(): PlaceholderMaintenanceActions; animatePlaceholderList(): void; addPlaceholderList(): void; targetNodeIsIdentified(): boolean; targetNodeIsBeingDragged(): boolean; targetNodeIsListWithItems(): boolean; canBeDropped(): boolean; cleanupPlaceholderLists(): void; initPlaceholderList(): void; getPlaceholderList(): HTMLElement; addNewItem({ item, asLastChild }: AddNewItemArgs): { data: MappedDataItem[]; }; } export default NestedSort;