import 'reflect-metadata'; import { ColorScheme } from '../../configuration/models/colorScheme'; import { IStorytellerTheme } from '../../configuration/models/theme/storytellerTheme'; import { IUiTheme, UiTheme } from '../../configuration/models/theme/uiTheme'; import { IThemeBase } from '../../configuration/models/theme/themeBase'; import { UiStyle } from '../../configuration/models/uiStyle'; import { BaseService } from '../../services/abstract/baseService'; import { Subset } from '../../../types/subset'; export declare enum PlayerType { Clips = "clips", Stories = "stories", None = "none" } declare class ThemeService extends BaseService { static sharedInstance: ThemeService; protected logTag: string; static _defaultTheme: UiTheme; get defaultTheme(): UiTheme; private getStyleElContentRecursive_; /** * Appends a style tag with the CSS for the given element. */ setDocumentStyle({ element, id: _id, playerType, selector, theme, }: { element: HTMLElement; id: string; playerType?: PlayerType; selector: string; theme: IStorytellerTheme; }): void; clone(theme: Subset): IUiTheme; merge(baseTheme: Subset, theme: Subset): IUiTheme; copyProperties(obj: IThemeBase, section: IThemeBase, path?: string[]): void; private mergeProperties; toSerializableTheme(theme: Subset, playerType?: PlayerType): IUiTheme; private getNonDefaultProps; private shouldIncludeKey; setNestedThemeProperty(obj: any, value: any, propPath: string[]): void; getNestedThemeProperty(obj: any, propPath: string[]): any; prefersDarkMode(uiStyle: UiStyle): boolean; getColorScheme(): ColorScheme; } declare const _default: ThemeService; export default _default;