import { type LiteralStringUnion } from './type-helper'; import { TypedEvent } from './typed-event'; export type ThemeVariant = 'light' | 'dark'; declare class ThemeSwitcher { readonly prefixTheme = "theme-"; readonly suffixLight = "-light"; readonly suffixDark = "-dark"; readonly defaultTheme = "theme-classic-dark"; private mutationObserver?; readonly themeChanged: TypedEvent; readonly schemaChanged: TypedEvent; hasVariantSuffix(className: string): boolean; private isThemeClass; getMode(): ThemeVariant; private getThemeClassFromBody; setTheme(themeName: string, systemAppearance?: boolean): void; private replaceThemeClass; toggleMode(): void; getCurrentTheme(): string; setVariant(variant?: ThemeVariant): void; private splitMutations; private handleClassMutations; private handleDataMutations; private registerMutationObservers; constructor(); destroy(): void; } export type IxTheme = LiteralStringUnion<'classic' | 'classic-dark' | 'classic-light'>; export declare const getCurrentSystemAppearance: () => ThemeVariant; export declare const themeSwitcher: ThemeSwitcher; export {};