import { BehaviorSubject } from 'rxjs'; import * as i0 from "@angular/core"; export declare enum ThemeOption { LIGHT = "light", DARK = "dark", AUTO = "auto" } export declare class ThemeService { /** * Indicates if the light theme is active. */ lightToggle: boolean; /** * Indicates if the dark theme is active. */ darkToggle: boolean; /** * Indicates if the auto theme is active. */ autoToggle: boolean; /** * The current selected theme option. */ currentOption: ThemeOption; /** * Enum with all available theme options. */ themeOptions: typeof ThemeOption; /** * Whether the system prefers dark mode. */ prefersDark: boolean; /** * The default theme option. */ default: ThemeOption; /** * Observable for the current theme. */ theme: BehaviorSubject; private readonly isBrowser; constructor(platformId: Object); private handleAutoConfiguration; private handleDarkPreference; private handleLightPreference; /** * Returns true if the system prefers dark mode. */ get IsDark(): boolean; /** * Gets the current theme option. */ get Theme(): ThemeOption; /** * Sets the current theme option and persists it. */ set Theme(theme: ThemeOption); /** * Toggles a theme class on the document body. * @param name The theme name * @param shouldAdd Whether to add or remove the class * * Ionic 8 (`dark.class.css` palette) usa `.ion-palette-dark` en `` para * conmutar el tema dark; en versiones previas leía `body.dark`. Mantenemos * el toggle sobre `body.{name}` por compat con código legacy, y además * espejamos `ion-palette-dark` en `` cuando `name === 'dark'` — esto * es lo que las apps en Ionic 8 necesitan para que el palette aplique. */ toggleTheme(name: string, shouldAdd: boolean): void; /** * Sets the user theme preference and updates toggles and theme classes. * @param option The selected theme option */ toggleUserPreference(option: ThemeOption): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; }