import { Renderer2, RendererFactory2, ElementRef } from '@angular/core'; import { AlyleServiceConfig } from './alyle-config-service'; import { Subject } from 'rxjs/Subject'; import { DomSanitizer } from '@angular/platform-browser'; export declare class ThemeColor { name: string; color: { [key: string]: string; }; contrast: 'light' | 'dark'; } /** * DEPRECATED */ export declare function themeProperty(color: string): boolean; export declare class LyTheme { private document; private sanitizer; private rendererFactory; renderer: Renderer2; Id: string; containerStyle: any; _styleMap: Map; AlyleUI: { currentTheme: AlyleServiceConfig; palette: any; }; primary: Subject; accent: Subject; other: Subject; palette: Subject; scheme: Subject; typography: Subject; shade: Subject; /** * OBSOLETO */ colors: ThemeColor[]; private findColor(data); private sanitizerStyle(val); private _setColorPalette(key, palette); /** get class name of color */ getClassKey(color: string, of: 'color' | 'bg'): string; constructor(config: AlyleServiceConfig, document: any, sanitizer: DomSanitizer, rendererFactory: RendererFactory2); private _gradStop(colors, stops); private _getGrad(color); createShades(color: string): {}; setTheme(config: AlyleServiceConfig): void; color(color: string, colors?: any, shade?: string): string; /** * get color of `string` in palette * @param value */ colorOf(value: string): string; private getColorv2(colorName, colors, shade?); paletteOf(colorName: string): ThemeColor; createStyle(_id: string, fn: (...arg) => string, ...arg: any[]): StyleData; /** #style */ createClassContent(value: string, id: string): string; /** #style */ createStyleContent(styleData: StyleData): any; /** Update style of StyleData */ private updateStyleValue(style, styleText); /** #style: Update all styles */ private updateOthersStyles(); /** Replace old class by newClass */ updateClass(elementRef: ElementRef, renderer: Renderer2, newClass: string, oldClass?: string): void; } export interface StyleData { /** Class Id */ id: string; key: string; styleContainer: any; styleContent: any; value: { fn: (...arg) => string; arg: any[]; }; } export declare function isObject(item: any): boolean; export declare function mergeDeep(target: any, source: any): any; export declare function parsePalette(palette: { [key: string]: any; }): any;