import { EventEmitter } from '../../stencil-public-runtime';
/**
 * An SVG loader / helper. Comes bundled with font-awesome pro icons & ONT pictogram and device icons.
 * Lazily loads SVG as icons become visible.
 *
 * @status stable
 * @version 1.0.0
 */
export declare class Icon {
    private io?;
    el: HTMLNanoIconElement;
    svgContent?: string;
    isVisible: boolean;
    isLoading: boolean;
    /**
     * Specifies the color of the icon. If not specified, the icon will inherit the color of the parent element.
     */
    color: 'primary' | 'neutral';
    /**
     * Specifies the role to use for accessibility. Defaults to 'presentation' (invisible to screen-readers)
     */
    role: string;
    setAriaLabel(): void;
    /**
     * Specifies the label to use for accessibility. Defaults to the icon name.
     */
    ariaLabel: string;
    updateRole(): void;
    /**
     * Specifies whether the icon should horizontally flip when `dir` is `"rtl"`.
     * By default, when an 'arrow' or 'chevron' icon is used, it will flip automatically when detecting `dir="rtl"` on the document or closest ancestor.
     */
    flipRtl?: boolean;
    /**
     * Specifies which icon to use from the built-in set of icons.
     */
    name?: string;
    /**
     * Specifies the exact `src` of an SVG file to use.
     */
    src?: string;
    /**
     * A combination of both `name` and `src`. If a `src` url is detected
     * it will set the `src` property. Otherwise it assumes it's a built-in named
     * SVG and set the `name` property.
     */
    icon?: any;
    /**
     * The size of the icon. `auto` automatically sizes according to the font-size of the parent element.
     * *Note*: size will be different on 'pictogram' and 'device' vs 'font awesome' icons.
     */
    size?: 'small' | 'regular' | 'large' | 'xl' | 'auto';
    /**
     * If enabled, nano-icon will be loaded lazily when it's visible in the viewport.
     * Default, `true`.
     */
    lazy: boolean;
    loadIcon(): void;
    /** Emitted when the icon has finished loading. */
    nanoLoad: EventEmitter;
    /** Emitted when the icon fails to load. */
    nanoError: EventEmitter;
    private waitUntilVisible;
    private isRtl;
    connectedCallback(): void;
    disconnectedCallback(): void;
    componentWillLoad(): void;
    render(): any;
}
