import type { default as CellCoords } from '../3rdparty/walkontable/src/cell/coords'; import type { default as CellRange } from '../3rdparty/walkontable/src/cell/range'; import type { default as SelectionManager } from './selection'; interface MouseDownOptions { isShiftKey: boolean; isLeftClick: boolean; isRightClick: boolean; coords: CellCoords; selection: SelectionManager; controller: { row?: boolean; column?: boolean; cell?: boolean; }; cellCoordsFactory: (row: number, col: number) => CellCoords; } /** * MouseDown handler. * * @param {object} options The handler options. * @param {boolean} options.isShiftKey The flag which indicates if the shift key is pressed. * @param {boolean} options.isLeftClick The flag which indicates if the left mouse button is pressed. * @param {boolean} options.isRightClick The flag which indicates if the right mouse button is pressed. * @param {CellRange} options.coords The CellCoords object with defined visual coordinates. * @param {Selection} options.selection The Selection class instance. * @param {object} options.controller An object with keys `row`, `column`, `cell` which indicate what * operation will be performed in later selection stages. * @param {Function} options.cellCoordsFactory The function factory for CellCoords objects. */ export declare function mouseDown({ isShiftKey, isLeftClick, isRightClick, coords, selection, controller, cellCoordsFactory, }: MouseDownOptions): void; interface MouseOverOptions { isLeftClick: boolean; coords: CellCoords; selection: SelectionManager; controller: { row?: boolean; column?: boolean; cell?: boolean; }; cellCoordsFactory: (row: number, col: number) => CellCoords; } /** * MouseOver handler. * * @param {object} options The handler options. * @param {boolean} options.isLeftClick Indicates that event was fired using the left mouse button. * @param {CellRange} options.coords The CellCoords object with defined visual coordinates. * @param {Selection} options.selection The Selection class instance. * @param {object} options.controller An object with keys `row`, `column`, `cell` which indicate what * operation will be performed in later selection stages. * @param {Function} options.cellCoordsFactory The function factory for CellCoords objects. */ export declare function mouseOver({ isLeftClick, coords, selection, controller, cellCoordsFactory }: MouseOverOptions): void; interface MouseUpOptions { isLeftClick: boolean; selection: SelectionManager; cellRangeMapper: { toRenderable: (range: CellRange) => CellRange; }; } /** * Mouse up handler. * * @param {object} options The handler options. * @param {boolean} options.isLeftClick Indicates that event was fired using the left mouse button. * @param {Selection} options.selection The Selection class instance. * @param {CellRangeToRenderableMapper} options.cellRangeMapper Mapper for converting cell ranges * to renderable indexes. */ export declare function mouseUp({ isLeftClick, selection, cellRangeMapper }: MouseUpOptions): void; /** * Mouse handler for selection functionality. * * @param {Event} event An native event to handle. * @param {object} options The handler options. * @param {CellRange} options.coords The CellCoords object with defined visual coordinates. * @param {Selection} options.selection The Selection class instance. * @param {object} options.controller An object with keys `row`, `column`, `cell` which indicate what * operation will be performed in later selection stages. * @param {Function} options.cellCoordsFactory The function factory for CellCoords objects. */ export declare function handleMouseEvent(event: Event, options: Record): void; export {};