import { TypedEvent } from './typed-event'; export type ThemeVariant = 'light' | 'dark' | 'system'; export type ThemeMode = Exclude; export type ThemeChangeEventDetail = { theme?: string; colorSchema: ThemeVariant; mode: ThemeMode; isMediaChange?: boolean; }; declare class ThemeSwitcher { private mutationObserver?; private mediaQueryList?; private emitThemeChange; private readonly handleMediaQueryChange; readonly themeChanged: TypedEvent; /** * @internal */ getComputedStyleColorSchema(): string | undefined; getComputedStyleTheme(): string | undefined; private getComputedStyleProperty; getColorSchema(): ThemeVariant; getMode(): ThemeMode; setTheme(themeName: string, colorSchema?: ThemeVariant): void; toggleMode(): void; getTheme(): string | undefined; setColorSchema(variant?: ThemeVariant): void; constructor(); destroy(): void; } export declare const getCurrentSystemAppearance: () => ThemeMode; export declare const themeSwitcher: ThemeSwitcher; export {};