import type { HotInstance } from '../../../core/types'; /** * @class * @private */ declare class BaseUI { /** * Instance of Handsontable. * * @type {Core} */ hot: HotInstance; /** * DOM element representing the ui element. * * @type {HTMLElement} * @private */ _element: HTMLElement | null; /** * Flag which determines build state of element. * * @type {number} */ state: number; /** * Defines the "start" physical CSS property name used within the class depending on what document * layout direction the library runs. * * @type {string} */ inlineProperty: 'left' | 'right'; /** * Initializes the base UI element with the Handsontable instance and sets the inline CSS property name based on the document layout direction. */ constructor(hotInstance: HotInstance); /** * Add created UI elements to table. * * @param {HTMLElement} wrapper Element which are parent for our UI element. */ appendTo(wrapper: HTMLElement): void; /** * Method for create UI element. Only create, without append to table. */ build(): void; /** * Method for remove UI element. */ destroy(): void; /** * Check if UI element are appended. * * @returns {boolean} */ isAppended(): boolean; /** * Check if UI element are built. * * @returns {boolean} */ isBuilt(): boolean; /** * Setter for position. * * @param {number} top New top position of the element. * @param {number} inlinePosition New left/right (depends on LTR/RTL document mode) position of the element. */ setPosition(top?: number, inlinePosition?: number): void; /** * Getter for the element position. * * @returns {object} Object contains left and top position of the element. */ getPosition(): { top: number; start: number; }; /** * Setter for the element size. * * @param {number} width New width of the element. * @param {number} height New height of the element. */ setSize(width?: number, height?: number): void; /** * Getter for the element position. * * @returns {object} Object contains height and width of the element. */ getSize(): { width: number; height: number; }; /** * Setter for the element offset. Offset means marginTop and marginLeft of the element. * * @param {number} top New margin top of the element. * @param {number} inlineOffset New margin left/right (depends on LTR/RTL document mode) of the element. */ setOffset(top: number, inlineOffset: number): void; /** * Getter for the element offset. * * @returns {object} Object contains top and left offset of the element. */ getOffset(): { top: number; start: number; }; } export default BaseUI;