import { OnChanges, SimpleChanges, Renderer2 } from '@angular/core';
import { SafeHtml, DomSanitizer } from '@angular/platform-browser';
import { LaStackItemSizeDirective } from '../../directives/la-stack-item-size/la-stack-item-size.directive';
import { SizeProp, Styles, PullProp, RotateProp, Transform, FlipProp, IconProp } from '../../line-awesome.core';
import { LaIconLibrary } from '../../services/la-icon-library.service';
import * as i0 from "@angular/core";
export declare class LaIconComponent implements OnChanges {
    private sanitizer;
    private renderer;
    private iconRegistry;
    private stackItem;
    icon: IconProp;
    size?: SizeProp;
    fixedWidth?: boolean;
    rotate?: RotateProp;
    flip?: FlipProp;
    pull?: PullProp;
    spin?: boolean;
    pulse?: boolean;
    border?: boolean;
    inverse?: boolean;
    styles?: Styles;
    classes?: string[];
    transform?: string | Transform;
    mask?: IconProp;
    title?: string;
    renderedIconHTML: SafeHtml;
    /**
     * Specify a title for the icon.
     * This text will be displayed in a tooltip on hover and presented to the
     * screen readers.
     */
    get titleAttr(): string;
    constructor(sanitizer: DomSanitizer, renderer: Renderer2, iconRegistry: LaIconLibrary, stackItem: LaStackItemSizeDirective);
    /**
     * Programmatically trigger rendering of the icon.
     *
     * This method is useful, when creating dynamically or
     * changing its inputs programmatically as in these cases icon won't be
     * re-rendered automatically.
     */
    render(): void;
    ngOnChanges(changes: SimpleChanges): void;
    protected buildParams(): {
        title: string;
        transform: Transform;
        classes: string[];
        styles: Styles;
    };
    private renderIcon;
    private svgElementFromString;
    static ɵfac: i0.ɵɵFactoryDeclaration<LaIconComponent, [null, null, null, { optional: true; }]>;
    static ɵcmp: i0.ɵɵComponentDeclaration<LaIconComponent, "la-icon", never, { "icon": { "alias": "icon"; "required": false; }; "size": { "alias": "size"; "required": false; }; "fixedWidth": { "alias": "fixedWidth"; "required": false; }; "rotate": { "alias": "rotate"; "required": false; }; "flip": { "alias": "flip"; "required": false; }; "pull": { "alias": "pull"; "required": false; }; "spin": { "alias": "spin"; "required": false; }; "pulse": { "alias": "pulse"; "required": false; }; "border": { "alias": "border"; "required": false; }; "inverse": { "alias": "inverse"; "required": false; }; "styles": { "alias": "styles"; "required": false; }; "classes": { "alias": "classes"; "required": false; }; "transform": { "alias": "transform"; "required": false; }; "mask": { "alias": "mask"; "required": false; }; "title": { "alias": "title"; "required": false; }; }, {}, never, never, false, never>;
}
