import { type DataRect } from "../../index.js"; import type { GridSections, PositionGridCell, PositionUnion } from "../../types.js"; export interface HandleRangeSelectionArgs { readonly gridId: string; readonly rtl: boolean; readonly ev: MouseEvent; readonly cellSelections: DataRect[]; readonly viewport: HTMLElement; readonly gridSections: GridSections; readonly isMultiRange: boolean; readonly ignoreFirst: boolean; readonly cellRoot: (row: number, column: number) => PositionUnion | null; readonly anchorRef: { get: () => PositionGridCell | null; set: (pos: PositionGridCell | null) => void; }; readonly currentFocus: PositionUnion | null; readonly clearOnSelfSelect: boolean; readonly onActiveRangeChange: (change: DataRect | null) => void; readonly onDeselectChange: (b: boolean) => void; readonly onSelectionChange: (change: DataRect[]) => void; readonly onDragChange: (dragging: boolean) => void; } /** * Handles the range selection for mouse events. This handles both single and multi range selection. */ export declare function handleRangeSelect({ ev, gridId, cellSelections, viewport, rtl, gridSections, isMultiRange, ignoreFirst, cellRoot, anchorRef, currentFocus, clearOnSelfSelect, onActiveRangeChange, onSelectionChange, onDeselectChange, onDragChange, }: HandleRangeSelectionArgs): void;