import type { ThemeConfig } from '../types'; import type { ThemeBuilder } from './builder'; interface HotInstance { rootDocument: Document; rootWrapperElement: HTMLElement; stylesHandler: { clearCache(): void; }; render(): void; runHooks(hookName: string, ...args: unknown[]): void; themeManager: ThemeManager | null | undefined; [key: string]: unknown; } /** * ThemeManager class provides methods to manage the theme styles. * * @class ThemeManager */ export declare class ThemeManager { #private; /** * The Handsontable instance. * * @type {Handsontable} */ hot: HotInstance; /** * The theme styles element. * * @type {HTMLStyleElement} */ themeStyles: HTMLStyleElement | null; /** * The theme class name. * * @type {string} */ themeClassName: string; /** * The theme config. * * @type {object} */ themeConfig: ThemeConfig | null; /** * The theme manager constructor. * * @param {object} options - The options object. * @param {Handsontable} options.hot - The Handsontable instance. * @param {object} options.themeObject - The theme object. */ constructor({ hot, themeObject }: { hot: HotInstance; themeObject: ThemeBuilder; }); /** * Gets the theme class name. * * @returns {string} The theme class name. */ getClassName(): string; /** * Updates the theme manager. * * @param {object} themeObject - The theme object. */ update(themeObject: ThemeBuilder): void; /** * Mounts the theme manager. */ mount(): void; /** * Unmounts the theme manager. */ unmount(): void; /** * Destroys the theme manager. */ destroy(): void; } /** * Creates a new ThemeManager instance. * * @param {object} options - The options object. * @param {Handsontable} options.hot - The Handsontable instance. * @param {object} options.themeObject - The theme object. * @returns {ThemeManager} The ThemeManager instance. */ export declare function createThemeManager({ hot, themeObject }: { hot: HotInstance; themeObject: ThemeBuilder; }): ThemeManager; export {};