import { ElementRef, Injector, OnDestroy, Renderer2 } from '@angular/core'; import 'rxjs/add/observable/combineLatest'; import { CompilerService } from './compiler/compiler.service'; import { ComponentStyle } from './meta/component'; import { StateSetter } from './meta/state'; import { StylerElement } from './styler-element'; import { StylerDirective } from './styler.directive'; import { StylerService } from './styler.service'; /** * @todo optimize & add cache * @todo logger (debugger) * @todo units register */ export declare class StylerComponent implements OnDestroy { private el; private renderer; private stylerService; private injector; private compiler; private stylerDirective; /** * Class prefix used for native css styling by user. * Is prefix is set, styler elements attach class based on prefix, elementName and state. */ classPrefix: string; elements: StylerElement[]; style: ComponentStyle[]; /** * Component state, some sort of a global state. */ private _state; private hostClasses; private hostSid; private stateSize; constructor(componentStyle: ComponentStyle | ComponentStyle[], el: ElementRef, renderer: Renderer2, stylerService: StylerService, injector: Injector, compiler: CompilerService, stylerDirective: StylerDirective); readonly host: StylerElement; state: StateSetter; ngOnDestroy(): void; applyState(setter: StateSetter): void; createElement(name: string): StylerElement; getStyle(name: string): any[]; /** * Proxy to stylerService. * Part of API (do not delete). * * @param def * @returns {string} */ keyframes(def: any): string; register(style: ComponentStyle | ComponentStyle[]): void; setElClasses(el: Element, prevClasses: Set, currClasses: Set): void; update(): void; private createHostElement(); private isChanged(newState); private setHostSid(sid); }