import { ElementRef, OnChanges, OnInit, Renderer2 } from '@angular/core';
import { DomSanitizer, SafeHtml } from '@angular/platform-browser';
import { RIconLibrary } from './icon-library';
export interface RIconConfig {
    icon: string;
    pack?: string;
    status?: any;
    options?: {
        [name: string]: any;
    };
}
export declare class RIconComponent implements RIconConfig, OnChanges, OnInit {
    private readonly sanitizer;
    private readonly iconLibrary;
    private readonly el;
    private readonly renderer;
    iconDef: any;
    prevClasses: any[];
    html: SafeHtml;
    get primary(): boolean;
    get info(): boolean;
    get success(): boolean;
    get warning(): boolean;
    get danger(): boolean;
    get basic(): boolean;
    get control(): boolean;
    /**
     * Icon name
     * @param {string} status
     */
    icon: string;
    /**
     * Icon pack name
     * @param {string} status
     */
    pack: string;
    /**
     * Additional icon settings
     * @param {[name: string]: any}
     */
    options: {
        [name: string]: any;
    };
    /**
     * Icon status (adds specific styles):
     * `basic`, `primary`, `info`, `success`, `warning`, `danger`, `control`
     */
    status?: any;
    /**
     * Sets all icon configurable properties via config object.
     * If passed value is a string set icon name.
     * @docs-private
     */
    get config(): string | RIconConfig;
    set config(value: string | RIconConfig);
    _config: string | RIconConfig;
    constructor(sanitizer: DomSanitizer, iconLibrary: RIconLibrary, el: ElementRef, renderer: Renderer2);
    ngOnInit(): void;
    ngOnChanges(): void;
    renderIcon(name: string, pack?: string, options?: {
        [name: string]: any;
    }): import("./icon-library").RIconDefinition;
    clearIcon(): void;
    assignClasses(classes: string[]): void;
}
