import { Base, EventBase, ILoadFromJSONOptions, ISaveToJSONOptions } from "survey-core"; import { ICreatorTheme } from "./creator-themes"; export declare class CreatorThemeModel extends Base implements ICreatorTheme { static defaultThemeName: string; static defaultColorPalette: string; static varBaseUnitFontSize: string; static varBaseUnitLineHeight: string; static varBaseUnitSize: string; static varBaseUnitSpacing: string; static varBaseUnitRadius: string; static varBaseUnitBorderWidth: string; static varColorProjectBrand: string; static varColorUtilitySurface: string; private baseThemeVariables; initialCssVariables: { [index: string]: string; }; themeCssVariablesChanges?: { [index: string]: string; }; unitDictionary: { [index: string]: number; }; themeName: string; colorPalette: "light" | "dark" | string; scale: number; fontScale: number; get isLight(): boolean; set isLight(val: boolean); onThemeSelected: EventBase; onThemePropertyChanged: EventBase; getRootElement: () => HTMLElement; hasVariations(palette: boolean): boolean; private getThemeFromCreatorThemes; private isSpecialBackgroundFromCurrentTheme; private findAppropriateSpecialBackground; private updateBackgroundColor; constructor(); private initializeBaseThemeVariables; getType(): string; get cssVariables(): { [index: string]: string; }; private cssVariableChangedHandler; private setThemeCssVariablesChanges; private resetColorThemeCssVariablesChanges; private onThemePropertyValueChangedCallback; private scalePropertiesChanged; private scalingProperties; private scaleValue; private scaleCssVariables; private getScaleFactor; private updateScaleProperties; private blockThemeChangedNotifications; loadTheme(theme?: ICreatorTheme): void; setTheme(theme: ICreatorTheme): void; fromJSON(json: ICreatorTheme, options?: ILoadFromJSONOptions): void; toJSON(options?: ISaveToJSONOptions): ICreatorTheme; }