import type { NodeBase, NodeDragItem, EdgeBase, CoordinateExtent, NodeOrigin, OnError, SnapGrid, Transform, PanBy, OnSelectionDrag, UpdateNodePositions, InternalNodeBase } from '../types'; export type OnDrag = (event: MouseEvent, dragItems: Map, node: NodeBase, nodes: NodeBase[]) => void; type StoreItems = { nodes: NodeBase[]; nodeLookup: Map; edges: EdgeBase[]; nodeExtent: CoordinateExtent; snapGrid: SnapGrid; snapToGrid: boolean; nodeOrigin: NodeOrigin; multiSelectionActive: boolean; domNode?: Element | null; transform: Transform; autoPanOnNodeDrag: boolean; nodesDraggable: boolean; selectNodesOnDrag: boolean; nodeDragThreshold: number; panBy: PanBy; unselectNodesAndEdges: (params?: { nodes?: NodeBase[]; edges?: EdgeBase[]; }) => void; onError?: OnError; onNodeDragStart?: OnNodeDrag; onNodeDrag?: OnNodeDrag; onNodeDragStop?: OnNodeDrag; onSelectionDragStart?: OnSelectionDrag; onSelectionDrag?: OnSelectionDrag; onSelectionDragStop?: OnSelectionDrag; updateNodePositions: UpdateNodePositions; autoPanSpeed?: number; }; export type XYDragParams = { getStoreItems: () => StoreItems; onDragStart?: OnDrag; onDrag?: OnDrag; onDragStop?: OnDrag; onNodeMouseDown?: (id: string) => void; autoPanSpeed?: number; }; export type XYDragInstance = { update: (params: DragUpdateParams) => void; destroy: () => void; }; export type DragUpdateParams = { noDragClassName?: string; handleSelector?: string; isSelectable?: boolean; nodeId?: string; domNode: Element; nodeClickDistance?: number; }; export declare function XYDrag void | undefined>({ onNodeMouseDown, getStoreItems, onDragStart, onDrag, onDragStop, }: XYDragParams): XYDragInstance; export {}; //# sourceMappingURL=XYDrag.d.ts.map