import type { HotInstance } from '../../core/types'; interface CellRangeLike { forAll(callback: (row: number, col: number) => void | boolean): void; } /** * @param {string} className The full element class name to process. * @param {string} alignment The alignment class name to compare with. * @returns {string} */ export declare function prepareVerticalAlignClass(className: string, alignment: string): string; /** * @param {string} className The full element class name to process. * @param {string} alignment The alignment class name to compare with. * @returns {string} */ export declare function prepareHorizontalAlignClass(className: string, alignment: string): string; /** * @param {CellRange[]} ranges An array of the cell ranges. * @param {Function} callback The callback function. * @returns {object} */ export declare function getAlignmentClasses(ranges: CellRangeLike[], callback: (row: number, col: number) => string): Record; /** * @param {CellRange[]} ranges An array of the cell ranges. * @param {string} type The type of the alignment axis ('horizontal' or 'vertical'). * @param {string} alignment CSS class name to add. * @param {Function} cellDescriptor The function which fetches the cell meta object based in passed coordinates. * @param {Function} propertySetter The function which contains logic for added/removed alignment. */ export declare function align(ranges: CellRangeLike[], type: string, alignment: string, cellDescriptor: (row: number, col: number) => Record, propertySetter: (row: number, col: number, key: string, value: string) => void): void; /** * @param {string} label The label text. * @returns {string} */ export declare function markLabelAsSelected(label: string): string; /** * @param {CellRange[]} ranges An array of the cell ranges. * @param {Function} comparator The comparator function. * @returns {boolean} */ export declare function checkSelectionConsistency(ranges: CellRangeLike[], comparator: (row: number, col: number) => boolean): boolean; /** * Returns document offset based on the passed element. If the document objects between element and the * base document are not the same the offset as top and left properties will be returned. * * @param {Element} elementToCheck The element to compare with Document object. * @param {Document} baseDocument The base Document object. * @returns {{ top: number, left: number }} */ export declare function getDocumentOffsetByElement(elementToCheck: HTMLElement, baseDocument: Document): { top: number; left: number; }; /** * Prepares comparator function consumable by checkSelectionConsistency * Comparator function checks if the cell has the provided class name. * * @param {string} htClassName The class name to check. * @returns {Function} Returns the comparator function. * Use with .bind, .call or .apply to pass the Handsontable instance. */ export declare function getAlignmentComparatorByClass(htClassName: string): (this: HotInstance, row: number, col: number) => boolean; export {};