import type { IPoint } from '../Core/Types'; /** * Collision detection result. * * @public */ export interface ICollisionResult { /** * Element that was hit. */ element: HTMLElement; /** * Distance from pointer to element center. */ distance: number; /** * Index in the list (if applicable). */ index: number; } /** * Find element at a specific point. * * @param point - Point to check. * @param elements - Elements to check against. * @returns Element at point or null. * * @public */ export declare function getElementAtPoint(point: IPoint, elements: Array): HTMLElement | null; /** * Find all elements at a specific point. * * @param point - Point to check. * @param elements - Elements to check against. * @returns Array of elements at point. * * @public */ export declare function getAllElementsAtPoint(point: IPoint, elements: Array): Array; /** * Find nearest element to a point. * * @param point - Reference point. * @param elements - Elements to check. * @returns Collision result or null. * * @public */ export declare function getNearestElement(point: IPoint, elements: Array): ICollisionResult | null; /** * Get elements sorted by distance from a point. * * @param point - Reference point. * @param elements - Elements to check. * @returns Array of collision results sorted by distance. * * @public */ export declare function getElementsByDistance(point: IPoint, elements: Array): Array; /** * Find drop index in a vertical list. * * @param elements - List elements or rects. * @param point - Pointer position. * @returns Drop index. * * @public */ export declare function getVerticalDropIndex(elements: Array, point: IPoint): number; /** * Find drop index in a horizontal list. * * @param elements - List elements or rects. * @param point - Pointer position. * @returns Drop index. * * @public */ export declare function getHorizontalDropIndex(elements: Array, point: IPoint): number; /** * Find drop index in a mixed/grid layout. * * @param elements - List elements or rects. * @param point - Pointer position. * @returns Drop index. * * @public */ export declare function getMixedDropIndex(elements: Array, point: IPoint): number; /** * Check if two rects intersect. * * @param rect1 - First rect. * @param rect2 - Second rect. * @returns True if rects intersect. * * @public */ export declare function rectsIntersect(rect1: DOMRect, rect2: DOMRect): boolean; /** * Calculate intersection area of two rects. * * @param rect1 - First rect. * @param rect2 - Second rect. * @returns Intersection area in pixels². * * @public */ export declare function getIntersectionArea(rect1: DOMRect, rect2: DOMRect): number; //# sourceMappingURL=CollisionDetection.d.ts.map