/** * @license * Copyright 2023 Nuraly, Laabidi Aymen * SPDX-License-Identifier: MIT */ import { ReactiveController, ReactiveControllerHost } from 'lit'; import { ThemeVariant } from '../themes.js'; /** * Theme controller that observes and reacts to theme changes on the host element or its parents * This controller watches for data-theme attribute changes and triggers re-renders */ export declare class ThemeController implements ReactiveController { private host; private observer?; private _currentTheme; constructor(host: ReactiveControllerHost & HTMLElement); /** * Get the current theme variant */ get currentTheme(): ThemeVariant | null; /** * Check if the current theme is a dark variant */ get isDark(): boolean; /** * Check if the current theme is a light variant */ get isLight(): boolean; /** * Get the theme system (default, carbon) */ get themeSystem(): string; hostConnected(): void; hostDisconnected(): void; private updateTheme; private setupObserver; private cleanup; /** * Apply a theme to the closest themed ancestor or the host element * @param theme - The theme variant to apply */ applyTheme(theme: ThemeVariant): void; /** * Toggle between light and dark variants of the current theme */ toggleVariant(): void; } //# sourceMappingURL=theme.controller.d.ts.map