import { OnChanges, ElementRef } from '@angular/core';
import { FudisIcon, FudisIconColor, FudisIconRotate } from '../../types/icons';
import { FudisComponentChanges } from '../../types/miscellaneous';
import { BehaviorSubject } from 'rxjs';
import * as i0 from "@angular/core";
export declare class IconComponent implements OnChanges {
    elementRef: ElementRef;
    constructor(elementRef: ElementRef);
    /**
     * Binding host CSS class to component wrapper
     */
    private _classes;
    /**
     * Displayed SVG icon
     */
    icon: FudisIcon;
    /**
     * Icon color
     */
    color: FudisIconColor;
    /**
     * Icon rotation
     */
    rotate: FudisIconRotate;
    /**
     * CSS class list
     */
    protected _classList: BehaviorSubject<string[]>;
    /**
     * Determines icon size by its name. If icon name has suffix "-small", iconSize is set to sm,
     * otherwise lg.
     */
    private _iconSize;
    ngOnChanges(changes: FudisComponentChanges<IconComponent>): void;
    /**
     * Get CSS classes with correct color, rotate and size suffixes
     */
    private _getClasses;
    static ɵfac: i0.ɵɵFactoryDeclaration<IconComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<IconComponent, "fudis-icon", never, { "icon": { "alias": "icon"; "required": true; }; "color": { "alias": "color"; "required": false; }; "rotate": { "alias": "rotate"; "required": false; }; }, {}, never, never, false, never>;
}
