type DSDropZone = { id: string; element: E; droppables: E[]; /** items related to the target zone */ itemsDropped?: E[]; /** items that are within the targets bounds */ itemsInside?: E[]; }; declare class DropZone { id: string; element: E; private _droppables?; private _rect?; private _observers?; private _timeout?; private _itemsDropped; private _itemsInside?; private DS; private PS; private Settings; private isDestroyed; private _parentNodes?; constructor({ DS, PS, id, element, droppables, }: { DS: DragSelect; PS: PubSub; id: string; element: E; droppables?: E[]; }); private setReadyClasses; /** This zone is NOT the target of a drop */ handleNoDrop: () => void; /** This zone IS the target of a drop */ handleDrop: () => void; handleItemsInsideClasses: () => void; private start; private stop; destroy(): void; toObject: () => DSDropZone; get rect(): DOMRect | undefined; get itemsDropped(): E[] | undefined; get itemsInside(): E[] | undefined; private get parentNodes(); get droppables(): E[]; private set droppables(value); } type DSInteractionPublishEventNames = 'Interaction:init:pre' | 'Interaction:init' | 'Interaction:start:pre' | 'Interaction:start' | 'Interaction:update:pre' | 'Interaction:update' | 'Interaction:end:pre' | 'Interaction:end'; type DSInteractionPublishEventData = { event: InteractionEvent | KeyboardEvent; /** Whether the interaction is a drag or a select */ isDragging: boolean; /** Whether or not the drag interaction is via keyboard */ isDraggingKeyboard?: boolean; key?: string; scroll_directions?: DSEdges; scroll_multiplier?: number; }; type DSInteractionPublish = { 'Interaction:init:pre': {}; 'Interaction:init': {}; 'Interaction:start:pre': DSInteractionPublishEventData; 'Interaction:start': DSInteractionPublishEventData; 'Interaction:update:pre': Partial; 'Interaction:update': Partial; 'Interaction:end:pre': DSInteractionPublishEventData; 'Interaction:end': DSInteractionPublishEventData; }; type InteractionEvent = MouseEvent | PointerEvent | TouchEvent; declare class Interaction { private isInteracting?; isDragging: boolean; private DS; private PS; private Settings; constructor({ DS, PS }: { DS: DragSelect; PS: PubSub; }); init: () => void; private _init; private _canInteract; private start; private _start; private isDragEvent; /** * Triggers when a node is actively selected: