import type Grid from '../Grid'; import { type GridPoint } from '../GridUtils'; import GridMouseHandler, { type GridMouseEvent } from '../GridMouseHandler'; import { type EventHandlerResult } from '../EventHandlerResult'; import type { VisibleIndex, ModelIndex, MoveOperation, Coordinate } from '../GridMetrics'; import type { BoundedAxisRange } from '../GridAxisRange'; export interface DraggingColumn { range: BoundedAxisRange; depth: number; left: Coordinate; width: number; } interface ColumnInfo { visibleIndex: VisibleIndex; modelIndex: ModelIndex; left: number; right: number; width: number; isColumnGroup: boolean; range: BoundedAxisRange; depth: number; } declare class GridColumnMoveMouseHandler extends GridMouseHandler { cursor: string | null; private draggingOffset?; private initialOffset?; private initialGridPoint?; private scrollingInterval?; private scrollingDirection?; private draggingColumn; private setScrollInterval; private clearScrollInterval; onLeave(): EventHandlerResult; onDown(gridPoint: GridPoint, grid: Grid): EventHandlerResult; onDrag(gridPoint: GridPoint, grid: Grid, event: GridMouseEvent): EventHandlerResult; /** * Moves a dragging column, if possible, the specified distance * @param mouseX The point the move was initiated from * @param grid The Grid component * @param deltaX The distance of the move */ moveDraggingColumn(mouseX: number, grid: Grid, deltaX: number): void; /** * Applies the column move and updates draggingColumn in the mouse handler * Does not check if the move is valid * @param draggingColumn The dragging column info * @param to The index to move the column or range to * @param movedColumns The array of column moves * @returns A new array of column moves */ moveColumn(draggingColumn: ColumnInfo, to: number, movedColumns: readonly MoveOperation[]): readonly MoveOperation[]; onUp(gridPoint: GridPoint, grid: Grid): EventHandlerResult; } export default GridColumnMoveMouseHandler; //# sourceMappingURL=GridColumnMoveMouseHandler.d.ts.map