import type { WalkontableInstance } from '../types'; import type Selection from './selection'; /** * Selection scanner module scans the rendered cells and headers and if it finds an intersection with * the coordinates of the Selection class (highlight) it returns the DOM elements. * * @private */ export declare class SelectionScanner { #private; /** * Sets the Walkontable instance that will be taking into account while scanning the table. * * @param {Walkontable} activeOverlaysWot The Walkontable instance. * @returns {SelectionScanner} */ setActiveOverlay(activeOverlaysWot: WalkontableInstance | null): this; /** * Sets the Selection instance to process. * * @param {Selection} selection The Selection instance. * @returns {SelectionScanner} */ setActiveSelection(selection: Selection | null): this; /** * Scans the rendered table with selection and returns elements that intersects * with selection coordinates. * * @returns {HTMLTableElement[]} */ scan(): Set; /** * Scans the table (only rendered headers) and collect all column headers (TH) that match * the coordinates passed in the Selection instance. * * @param {function(HTMLTableElement): void} callback The callback function to trigger. */ scanColumnsInHeadersRange(callback: (element: HTMLElement) => void): void; /** * Scans the table (only rendered headers) and collect all row headers (TH) that match * the coordinates passed in the Selection instance. * * @param {function(HTMLTableElement): void} callback The callback function to trigger. */ scanRowsInHeadersRange(callback: (element: HTMLElement) => void): void; /** * Scans the table (only rendered cells) and collect all cells (TR) that match * the coordinates passed in the Selection instance. * * @param {function(HTMLTableElement): void} callback The callback function to trigger. */ scanCellsRange(callback: (element: HTMLElement) => void): void; /** * Scans the table (only rendered cells) and collects all cells (TR) that match the coordinates * passed in the Selection instance but only for the X axis (rows). * * @param {function(HTMLTableElement): void} callback The callback function to trigger. */ scanRowsInCellsRange(callback: (element: HTMLElement) => void): void; /** * Scans the table (only rendered cells) and collects all cells (TR) that match the coordinates * passed in the Selection instance but only for the Y axis (columns). * * @param {function(HTMLTableElement): void} callback The callback function to trigger. */ scanColumnsInCellsRange(callback: (element: HTMLElement) => void): void; }