import type { OakTheme } from '../theme'; import { Feature } from '../types/Feature'; import { ETheme, IThemeState } from '../types/Theme'; import { LocalStorage } from './localStorage'; export { ETheme } from '../types/Theme'; export type { IThemeState } from '../types/Theme'; export type { OakTheme } from '../theme'; export declare class Theme extends Feature { private themeState; private storage; private storageKey; constructor(storage: LocalStorage, storageKey?: string); private initialize; private shouldUseStorage; private loadSavedState; private persist; private applyTheme; private applyThemeMode; private applyOakTheme; private getThemeCssSelector; get(): IThemeState; getOakTheme(): OakTheme; set(themeState: IThemeState, themeName?: string): void; setOakTheme(oakTheme: OakTheme): void; updateOakTheme(oakTheme: OakTheme): void; toggleSetting(): void; switchThemeMode(finalThemeMode: ETheme): void; openSystemTheme(): void; getColor(): string; switchColor(color: string, themeName?: string): void; insertThemeStylesheet(color: string, mode: ETheme, themeName?: string): void; } export default Theme;