import { TemplateRef, ViewContainerRef, Injector, AfterViewInit, Renderer2, NgZone } from '@angular/core';
import { XIcon } from "./XIcon";
import { BaseControlTheme } from "igniteui-angular-core";
import * as i0 from "@angular/core";
export declare class IgxXIconComponent implements AfterViewInit {
    private renderer;
    private _elRef;
    private ngZone;
    private injector;
    container: Element;
    private _wrapper;
    private _portalManager;
    private _root;
    _dynamicContent: ViewContainerRef;
    _childTemplateRef: TemplateRef<any>;
    constructor(renderer: Renderer2, _elRef: ViewContainerRef, ngZone: NgZone, injector: Injector);
    updateStyle(): void;
    ngOnDestroy(): void;
    private _implementation;
    ngAfterViewInit(): void;
    protected createImplementation(): XIcon;
    get i(): XIcon;
    private _icon;
    /**
 * Gets or sets the base built in theme to use for the button.
*/
    get baseTheme(): BaseControlTheme;
    set baseTheme(v: BaseControlTheme);
    static ngAcceptInputType_baseTheme: BaseControlTheme | string;
    /**
     * Gets the fill color currently used by the icon.
    */
    get actualFill(): string;
    set actualFill(v: string);
    /**
     * Gets the stroke color currently used by the icon.
    */
    get actualStroke(): string;
    set actualStroke(v: string);
    /**
     * Gets the text color currently used by the icon.
    */
    get actualTextColor(): string;
    set actualTextColor(v: string);
    /**
     * Gets the stroke width currently used by the icon.
    */
    get actualStrokeWidth(): number;
    set actualStrokeWidth(v: number);
    static ngAcceptInputType_actualStrokeWidth: number | string;
    /**
     * Gets or sets the fill color to use for the icon.
    */
    get fill(): string;
    set fill(v: string);
    /**
     * Gets or sets the stroke color to use for the icon.
    */
    get stroke(): string;
    set stroke(v: string);
    /**
     * Gets or sets the stroke thickness to use for the icon.
    */
    get strokeWidth(): number;
    set strokeWidth(v: number);
    static ngAcceptInputType_strokeWidth: number | string;
    /**
     * Gets or sets the text color to use for the icon.
    */
    get textColor(): string;
    set textColor(v: string);
    /**
     * Gets or sets the fill color to use when the icon is hovered.
    */
    get hoverFill(): string;
    set hoverFill(v: string);
    /**
     * Gets or sets the stroke color to use when the icon is hovered.
    */
    get hoverStroke(): string;
    set hoverStroke(v: string);
    /**
     * Gets or sets the stroke thickness to use when the icon is hovered.
    */
    get hoverStrokeThickness(): number;
    set hoverStrokeThickness(v: number);
    static ngAcceptInputType_hoverStrokeThickness: number | string;
    /**
     * Gets or sets the text color to use when the icon is hovered.
    */
    get hoverTextColor(): string;
    set hoverTextColor(v: string);
    /**
     * Gets or sets a collection of fill colors to use in the icon.
     * These colors can be used by SVG elements that have been marked with the
     * ig-icon-fill-#
     * class where # is a number from 0 to count - 1.
    */
    get fillColors(): string[];
    set fillColors(v: string[]);
    static ngAcceptInputType_fillColors: string[] | string;
    /**
     * Gets or sets a collection of stroke colors to use in the icon.
     * These colors can be used by SVG elements that have been marked with the
     * ig-icon-stroke-#
     * class where # is a number from 0 to count - 1.
    */
    get strokeColors(): string[];
    set strokeColors(v: string[]);
    static ngAcceptInputType_strokeColors: string[] | string;
    /**
     * Gets or sets a primary fill color for the icon.
     * This color is used by SVG elements that have been marked
     * with the
     * ig-icon-primary-fill
     * class.
    */
    get primaryFillColor(): string;
    set primaryFillColor(v: string);
    /**
     * Gets or sets a primary stroke color for the icon.
     * This color is used by SVG elements that have been marked
     * with the
     * ig-icon-primary-stroke
     * class.
    */
    get primaryStrokeColor(): string;
    set primaryStrokeColor(v: string);
    /**
     * Gets or sets a secondary fill color for the icon.
     * This color is used by SVG elements that have been marked
     * with the
     * ig-icon-secondary-fill
     * class.
    */
    get secondaryFillColor(): string;
    set secondaryFillColor(v: string);
    /**
     * Gets or sets a secondary stroke color for the icon.
     * This color is used by SVG elements that have been marked
     * with the
     * ig-icon-secondary-stroke
     * class.
    */
    get secondaryStrokeColor(): string;
    set secondaryStrokeColor(v: string);
    /**
     * Gets or sets the image source for the icon. Used if none of the other icon types are not used.
    */
    get source(): any;
    set source(v: any);
    /**
     * Gets or sets data url for the icon to use.
    */
    get dataURL(): string;
    set dataURL(v: string);
    /**
     * Gets or sets path data for the icon to use.
    */
    get svgPath(): string;
    set svgPath(v: string);
    /**
     * Gets or sets svg text for the icon to use.
    */
    get svg(): string;
    set svg(v: string);
    /**
     * Gets or sets an array of path data for the icon to use.
    */
    get sVGPaths(): string[];
    set sVGPaths(v: string[]);
    static ngAcceptInputType_sVGPaths: string[] | string;
    /**
     * Gets or sets the use for the button.
    */
    get textStyle(): string;
    set textStyle(v: string);
    /**
     * Gets or sets the id to use for the checkbox.
    */
    get id(): string;
    set id(v: string);
    /**
     * Gets or sets TabIndex to use for the checkbox.
    */
    get tabIndex(): number;
    set tabIndex(v: number);
    static ngAcceptInputType_tabIndex: number | string;
    /**
     * Gets or sets the value of the aria-label attribute.
    */
    get ariaLabel(): string;
    set ariaLabel(v: string);
    /**
     * Gets or sets whether the icon is hovered.
    */
    get isHover(): boolean;
    set isHover(v: boolean);
    static ngAcceptInputType_isHover: boolean | string;
    /**
     * Gets or sets whether the checkbox is disabled.
    */
    get disabled(): boolean;
    set disabled(v: boolean);
    static ngAcceptInputType_disabled: boolean | string;
    get opacity(): number;
    set opacity(v: number);
    static ngAcceptInputType_opacity: number | string;
    /**
     * Gets the actual viewbox left for the svg icon.
    */
    get actualViewBoxLeft(): number;
    set actualViewBoxLeft(v: number);
    static ngAcceptInputType_actualViewBoxLeft: number | string;
    /**
     * Gets or sets the viewbox left for the svg icon.
    */
    get viewBoxLeft(): number;
    set viewBoxLeft(v: number);
    static ngAcceptInputType_viewBoxLeft: number | string;
    /**
     * Gets the actual viewbox top for the svg icon.
    */
    get actualViewBoxTop(): number;
    set actualViewBoxTop(v: number);
    static ngAcceptInputType_actualViewBoxTop: number | string;
    /**
     * Gets or sets the viewbox top for the svg icon.
    */
    get viewBoxTop(): number;
    set viewBoxTop(v: number);
    static ngAcceptInputType_viewBoxTop: number | string;
    /**
     * Gets the actual viewbox width for the svg icon.
    */
    get actualViewBoxWidth(): number;
    set actualViewBoxWidth(v: number);
    static ngAcceptInputType_actualViewBoxWidth: number | string;
    /**
     * Gets or sets the viewbox width for the svg icon.
    */
    get viewBoxWidth(): number;
    set viewBoxWidth(v: number);
    static ngAcceptInputType_viewBoxWidth: number | string;
    /**
     * Gets the actual viewbox height for the svg icon.
    */
    get actualViewBoxHeight(): number;
    set actualViewBoxHeight(v: number);
    static ngAcceptInputType_actualViewBoxHeight: number | string;
    /**
     * Gets or sets the viewbox height for the svg icon.
    */
    get viewBoxHeight(): number;
    set viewBoxHeight(v: number);
    static ngAcceptInputType_viewBoxHeight: number | string;
    /**
     * Gets or sets the width of the icon.
    */
    get width(): number;
    set width(v: number);
    static ngAcceptInputType_width: number | string;
    /**
     * Gets or sets the height of the icon.
    */
    get height(): number;
    set height(v: number);
    static ngAcceptInputType_height: number | string;
    findByName(name: string): any;
    protected __p: string;
    protected _hasUserValues: Set<string>;
    protected get hasUserValues(): Set<string>;
    protected __m(propertyName: string): void;
    protected _stylingContainer: any;
    protected _stylingParent: any;
    protected _inStyling: boolean;
    protected _styling(container: any, component: any, parent?: any): void;
    onDetachedFromUI(): void;
    onAttachedToUI(): void;
    /**
     * Exports visual information about the current state of the grid.
    
    */
    exportVisualModel(): any;
    /**
     * Returns a serialized copy of the exported visual model
    
    */
    exportSerializedVisualModel(): string;
    protected _zoneRunner: (act: () => void) => void;
    protected _runInZone(act: () => void): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<IgxXIconComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<IgxXIconComponent, "igx-x-icon", never, { "baseTheme": { "alias": "baseTheme"; "required": false; }; "actualFill": { "alias": "actualFill"; "required": false; }; "actualStroke": { "alias": "actualStroke"; "required": false; }; "actualTextColor": { "alias": "actualTextColor"; "required": false; }; "actualStrokeWidth": { "alias": "actualStrokeWidth"; "required": false; }; "fill": { "alias": "fill"; "required": false; }; "stroke": { "alias": "stroke"; "required": false; }; "strokeWidth": { "alias": "strokeWidth"; "required": false; }; "textColor": { "alias": "textColor"; "required": false; }; "hoverFill": { "alias": "hoverFill"; "required": false; }; "hoverStroke": { "alias": "hoverStroke"; "required": false; }; "hoverStrokeThickness": { "alias": "hoverStrokeThickness"; "required": false; }; "hoverTextColor": { "alias": "hoverTextColor"; "required": false; }; "fillColors": { "alias": "fillColors"; "required": false; }; "strokeColors": { "alias": "strokeColors"; "required": false; }; "primaryFillColor": { "alias": "primaryFillColor"; "required": false; }; "primaryStrokeColor": { "alias": "primaryStrokeColor"; "required": false; }; "secondaryFillColor": { "alias": "secondaryFillColor"; "required": false; }; "secondaryStrokeColor": { "alias": "secondaryStrokeColor"; "required": false; }; "source": { "alias": "source"; "required": false; }; "dataURL": { "alias": "dataURL"; "required": false; }; "svgPath": { "alias": "svgPath"; "required": false; }; "svg": { "alias": "svg"; "required": false; }; "sVGPaths": { "alias": "sVGPaths"; "required": false; }; "textStyle": { "alias": "textStyle"; "required": false; }; "id": { "alias": "id"; "required": false; }; "tabIndex": { "alias": "tabindex"; "required": false; }; "ariaLabel": { "alias": "aria-label"; "required": false; }; "isHover": { "alias": "isHover"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "opacity": { "alias": "opacity"; "required": false; }; "actualViewBoxLeft": { "alias": "actualViewBoxLeft"; "required": false; }; "viewBoxLeft": { "alias": "viewBoxLeft"; "required": false; }; "actualViewBoxTop": { "alias": "actualViewBoxTop"; "required": false; }; "viewBoxTop": { "alias": "viewBoxTop"; "required": false; }; "actualViewBoxWidth": { "alias": "actualViewBoxWidth"; "required": false; }; "viewBoxWidth": { "alias": "viewBoxWidth"; "required": false; }; "actualViewBoxHeight": { "alias": "actualViewBoxHeight"; "required": false; }; "viewBoxHeight": { "alias": "viewBoxHeight"; "required": false; }; "width": { "alias": "width"; "required": false; }; "height": { "alias": "height"; "required": false; }; }, {}, never, ["*"], true, never>;
}
