/**
 *              Copyright (c) 2025 Visa, Inc.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *         http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 *
 **/
import { BooleanInput } from '@angular/cdk/coercion';
import { OnInit } from '@angular/core';
import { IconLibrary, IconSize } from './icon.constants';
import * as i0 from "@angular/core";
/**
 * <code>IconComponent</code> is intended <i>only</i> for use with icons used with an icon sprite. <br />
 * <strong>Standalone icons from @visa/nova-icons-angular is recommended over using the <code>IconComponent</code>.</strong>. <br />
 * Icon component for displaying icons from VPDS' [Icon Library](https://design.visa.com/icons). <br />
 */
export declare class IconComponent implements OnInit {
    _computedSize: number;
    _iconRef: string;
    /**
     * Provides custom class&#40;es&#41; for custom styling.
     * @default .v-icon.v-icon-&lt;iconSize&gt;.v-icon-&lt;library&gt;
     */
    get class(): string;
    set class(value: string);
    _class: string;
    get hostClass(): string;
    /**
     * Flips icon from right to left when true and <code>dir="rtl" is present on a parent element.
     * @default false
     */
    get rtl(): boolean;
    set rtl(value: BooleanInput);
    _rtl: boolean;
    /**
     * Sets icon resolution/size.
     * @default 'tiny' / IconSize.TINY
     * @options 'tiny' | IconSize.TINY | <br> 'low' | IconSize.LOW | <br> 'high' | IconSize.HIGH
     */
    get iconSize(): IconSize;
    set iconSize(value: IconSize);
    _iconSize: IconSize;
    /**
     * Tells icon which library to reference.
     * @default 'visa' / IconLibrary.VISA
     * @options 'visa' | IconLibrary.VISA | <br> 'generic' | IconLibrary.GENERIC
     */
    get library(): IconLibrary;
    set library(value: IconLibrary);
    _library: IconLibrary;
    /**
     * Name of icon to display. <br />
     * Should refer to an icon in VPDS' [Icon Library](https://design.visa.com/icons).
     */
    get icon(): string;
    set icon(value: string);
    _icon: string;
    /**
     * Sets icon to badge-ellipse variant when true. <br />
     * Intended for use in badges with an indicator.
     * @default false
     */
    get isBadgeEllipse(): boolean;
    set isBadgeEllipse(value: BooleanInput);
    _isBadgeEllipse: boolean;
    get hostStyleFill(): string | void;
    get hostStyleIconHeight(): string | void;
    get hostStyleIconWidth(): string | void;
    /**
     * Set CSS variable <code>--v-icon-height</code> which customizes icon height.
     * @default '--size-scalable-8'
     */
    get customHeight(): string;
    set customHeight(value: string);
    _customHeight: string;
    /**
     * Set CSS variable <code>--v-icon-width</code> which customizes icon width.
     * @default '--size-scalable-8'
     */
    get customWidth(): string;
    set customWidth(value: string);
    _customWidth: string;
    /**
     * Name of <strong>custom</strong> icon reference. <br />
     * Should refer to an icon within an icon sprite in your application. <br />
     * The href will reference the string provided directly. No library or iconSize will be added.
     */
    get customIcon(): string;
    set customIcon(value: string);
    _customIcon: string;
    get hostViewBox(): string;
    get hostHeight(): string;
    get hostWidth(): string;
    get hostFocusable(): string;
    get hostAriaHidden(): string;
    constructor();
    ngOnInit(): void;
    setIcon(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<IconComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<IconComponent, "[v-icon]", never, { "class": { "alias": "class"; "required": false; }; "rtl": { "alias": "rtl"; "required": false; }; "iconSize": { "alias": "iconSize"; "required": false; }; "library": { "alias": "library"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "isBadgeEllipse": { "alias": "isBadgeEllipse"; "required": false; }; "customHeight": { "alias": "customHeight"; "required": false; }; "customWidth": { "alias": "customWidth"; "required": false; }; "customIcon": { "alias": "customIcon"; "required": false; }; }, {}, never, ["*"], true, never>;
}
