import type { ThemeConfig, ThemeParams, ThemeColorScheme, DensityType } from '../types'; /** * ThemeBuilder class provides methods to build and configure themes. * * @class ThemeBuilder */ export declare class ThemeBuilder { #private; /** * The theme builder constructor. * * @param {object} themeConfig - The theme config object with `name`, `sizing`, `density`, `icons`, `colors`, `tokens`, and `colorScheme` properties. */ constructor(themeConfig: ThemeParams); /** * Subscribes to theme configuration changes. * * @param {Function} listener The callback invoked with the updated theme configuration. * @returns {Function} An unsubscribe function. */ subscribe(listener: (config: ThemeConfig) => void): () => boolean; /** * Sets theme configuration parameters. * * @param {object} paramsObject An object with theme configuration parameters. * @returns {ThemeBuilder} The ThemeBuilder instance for chaining. */ params(paramsObject: ThemeParams): ThemeBuilder; /** * Sets the color mode (light, dark, or auto). * * @param {string} mode The color mode ('light', 'dark', or 'auto'). * @returns {ThemeBuilder} The ThemeBuilder instance for chaining. */ setColorScheme(mode: ThemeColorScheme): ThemeBuilder; /** * Sets the density type (compact, default, or comfortable). * * @param {string} type The density type ('compact', 'default', or 'comfortable'). * @returns {ThemeBuilder} The ThemeBuilder instance for chaining. */ setDensityType(type: DensityType): ThemeBuilder; /** * Gets the current theme configuration. * * @returns {ThemeConfig} The theme configuration object. */ getThemeConfig(): ThemeConfig; } /** * Creates a new ThemeBuilder instance. * * @param {object} baseTheme The base theme object with theme configuration parameters. * @returns {ThemeBuilder} The ThemeBuilder instance. */ export declare function createTheme(baseTheme: ThemeParams): ThemeBuilder;