import type { orientationType } from "../../responsive"; import { type Direction } from "./dragDropTypes"; export type MeasuredDropTarget = { currentIndex: number; dataIndex?: number; element: HTMLElement; index: number; isDraggedElement: boolean; isOverflowIndicator?: boolean; start: number; end: number; mid: number; size: number; }; export type targetType = { element: HTMLElement | null; index: number; isLast?: boolean; }; type MousePosKey = keyof Pick; type DOMRectKey = keyof Omit; type DOMRectDimensionKey = keyof Pick; type Dimension = keyof Pick; type ElementDimension = keyof Pick; export declare const measureElementSizeAndPosition: (element: HTMLElement, dimension?: Dimension, includeAutoMargin?: boolean) => number[]; export declare const dimensions: (orientation: orientationType) => { CLIENT_SIZE: ElementDimension; CONTRA: DOMRectKey; CONTRA_POS: MousePosKey; DIMENSION: DOMRectDimensionKey; END: DOMRectKey; POS: MousePosKey; SCROLL_POS: ElementDimension; SCROLL_SIZE: ElementDimension; START: DOMRectKey; } | { CLIENT_SIZE: ElementDimension; CONTRA: DOMRectKey; CONTRA_POS: MousePosKey; DIMENSION: DOMRectDimensionKey; END: DOMRectKey; POS: MousePosKey; SCROLL_POS: ElementDimension; SCROLL_SIZE: ElementDimension; START: DOMRectKey; }; export declare const getDraggedItem: (measuredItems: MeasuredDropTarget[]) => MeasuredDropTarget; export declare const moveDragItem: (measuredItems: MeasuredDropTarget[], dropTarget: MeasuredDropTarget) => MeasuredDropTarget[]; export declare const isDraggedElement: (item: MeasuredDropTarget) => boolean; export declare const measureDropTargets: (container: HTMLElement, orientation: orientationType, draggedItem: HTMLElement, itemQuery?: string) => MeasuredDropTarget[]; export declare const getNextDropTarget: (dropTargets: MeasuredDropTarget[], pos: number, direction: Direction) => MeasuredDropTarget | null; export {};