import { ThemeName, BackgroundMode } from "../components/theme/Theme"; /** * ThemeManager is a class that manages the global theme state. * It provides observable properties that can be observed by other classes * to set properties on their components, such as whether dark mode is enabled. */ declare class ThemeManager { /** * Observable property to indicate if dark mode is enabled * Is needed by components styled outside of the web components */ isDarkMode: boolean; /** * Observable property to store the current theme name */ themeName: ThemeName; /** * Observable property to store the current background mode */ backgroundMode: BackgroundMode; /** * Observable property to indicate if visual rebrand is enabled * Will be used to allow users to toggle to updated visuals */ isVisualRebrandEnabled: boolean; /** * Observable property to indicate if Momentum Avatar is enabled * Should be used to set the new momentum style on avatars and sue * correct momentum presence states */ isMomentumAvatarEnabled: boolean; /** * Computed property to check if the current theme is Momentum V2. * @returns {boolean} True if the current theme is Momentum V2, otherwise false */ get isMomentumV2Enabled(): boolean; constructor(other?: Partial); /** * Action to update multiple properties of the ThemeManager. * This method allows batch updates to the observable properties. * @param {Partial} other - An object containing the properties to update. */ update(other: Partial): void; /** * Action to set the dark mode state. * @param {boolean} value - The new value for dark mode. */ setDarkMode(value: boolean): void; /** * Action to set the theme name. * @param {ThemeName} value - The new theme name. */ setThemeName(value: ThemeName): void; /** * Action to set the theme name. * @param {ThemeName} value - The new theme name. */ setBackgroundMode(value: BackgroundMode): void; /** * Action to enable or disable the visual rebrand. * @param {boolean} value - The new value for visual rebrand. */ setVisualRebrandEnabled(value: boolean): void; /** * Action to enable or disable the Momentum Avatar feature. * @param {boolean} value - The new value for Momentum Avatar. */ setMomentumAvatar(value: boolean): void; } declare const themeManager: ThemeManager; /** * Registers the ThemeManager globally for access from any JavaScript bundle * @param globalName - Optional custom global name (defaults to 'MomentumUIThemeManager') * @param instance - Optional specific instance to register (defaults to default themeManager) */ export declare function registerThemeManagerGlobally(globalName?: string, instance?: ThemeManager): void; declare global { interface Window { MomentumUIThemeManager?: ThemeManager; } interface Global { MomentumUIThemeManager?: ThemeManager; } var MomentumUIThemeManager: ThemeManager | undefined; } export { themeManager, ThemeManager };