import { type DragRef } from '../dragRef'; import { Delta, Orientation } from '../type'; export interface DragDropListStrategy { start(items: readonly T[]): void; sort(item: T, pointerX: number, pointerY: number, pointerDelta: Delta): { previousIndex: number; currentIndex: number; } | null; enter(item: T, pointerX: number, pointerY: number, index?: number): void; reset(): void; getItemIndex(item: T): number; withItems(items: T[]): void; updateOnScroll(top: number, left: number): void; getActiveItemsSnapshot(): readonly T[]; } export declare class DefaultDragDropListStrategy implements DragDropListStrategy { rootElement: HTMLElement; private registry; private previousSwapItem; private itemsPosition; private activeDrags; orientation: Orientation; constructor(rootElement: HTMLElement); start(items: readonly T[]): void; sort(item: T, pointerX: number, pointerY: number, pointerDelta: Delta): { previousIndex: number; currentIndex: number; } | null; enter(item: T, pointerX: number, pointerY: number, index?: number | undefined): void; reset(): void; getItemIndex(item: T): number; /** * * @param items * * @internal */ withItems(items: T[]): void; updateOnScroll(top: number, left: number): void; getActiveItemsSnapshot(): readonly T[]; private cacheItemsPositions; private getItemOffset; private getSiblingOffset; private getIndexFromPosition; private enterIsFirstChild; } //# sourceMappingURL=defaultStrategy.d.ts.map