import { type EventHandlerResult } from './EventHandlerResult'; import type Grid from './Grid'; import { type GridPoint } from './GridUtils'; /** * Some events we listen to are a native mouse event, and others are wrapped with React's SyntheticEvent. * The GridMouseHandler shouldn't care though - the properties it accesses should be common on both types of events. */ export type GridMouseEvent = MouseEvent | React.MouseEvent; export type GridWheelEvent = WheelEvent | React.WheelEvent; export type GridMouseHandlerFunctionName = 'onDown' | 'onMove' | 'onDrag' | 'onLeave' | 'onClick' | 'onContextMenu' | 'onDoubleClick' | 'onUp' | 'onWheel'; /** * Define a region in the grid that interacts with the mouse on a grid. * Return true from any of the events to indicate they're consumed, and stopPropagation/preventDefault will be called. */ export declare class GridMouseHandler { order: number; constructor(order?: number); cursor: string | null; onDown(gridPoint: GridPoint, grid: Grid, event: GridMouseEvent): EventHandlerResult; onMove(gridPoint: GridPoint, grid: Grid, event: GridMouseEvent): EventHandlerResult; onDrag(gridPoint: GridPoint, grid: Grid, event: GridMouseEvent): EventHandlerResult; onLeave(gridPoint: GridPoint, grid: Grid, event: GridMouseEvent): EventHandlerResult; onClick(gridPoint: GridPoint, grid: Grid, event: GridMouseEvent): EventHandlerResult; onContextMenu(gridPoint: GridPoint, grid: Grid, event: GridMouseEvent): EventHandlerResult; onDoubleClick(gridPoint: GridPoint, grid: Grid, event: GridMouseEvent): EventHandlerResult; onUp(gridPoint: GridPoint, grid: Grid, event: GridMouseEvent): EventHandlerResult; onWheel(gridPoint: GridPoint, grid: Grid, event: GridMouseEvent): EventHandlerResult; } export default GridMouseHandler; //# sourceMappingURL=GridMouseHandler.d.ts.map