import { type Ref, type ComputedRef } from 'vue'; import SelectionArea from '@viselect/vanilla'; export interface UseSelectionDeps { itemsPerRow: Ref; totalHeight: Ref; getItemPosition: (itemIndex: number) => { row: number; col: number; }; getItemsInRange: (items: U[], minRow: number, maxRow: number, minCol: number, maxCol: number) => U[]; getKey: (item: T) => string; selectionObject: Ref; rowHeight: Ref | ComputedRef; itemWidth: number | Ref | ComputedRef; osInstance?: Ref | null>; } export declare function useSelection(deps: UseSelectionDeps): { explorerId: string; isDragging: Ref; initializeSelectionArea: () => void; updateSelectionArea: () => void; handleContentClick: (event: Event | PointerEvent) => void; };