export declare class Icon { private io?; el: HTMLElement; private svgContent?; private isVisible; /** * The color to use for the background of the item. */ color?: string; /** * The mode determines which platform styles to use. * Possible values are: `"ios"` or `"md"`. */ mode?: 'ios' | 'md'; /** * Specifies the label to use for accessibility. Defaults to the icon name. */ ariaLabel?: string; /** * Specifies which icon to use on `ios` mode. */ ios?: string; /** * Specifies which icon to use on `md` mode. */ md?: string; /** * Specifies whether the icon should horizontally flip when `dir` is `"rtl"`. */ 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?: string; /** * The size of the icon. * Available options are: `"small"` and `"large"`. */ size?: string; /** * The hex color of the icon. */ hexColor?: string; /** * @Deprecated Allows button role for the icon. Input is the only thing using this... until there is time to refactor lu-input please don't include anywhere else */ buttonRole: boolean; connectedCallback(): void; disconnectedCallback(): void; private waitUntilVisible; loadIcon(): void; getName(): string; getUrl(): string; private getNamedUrl; hostData(): { class: { [x: string]: boolean; 'flip-rtl': boolean; }; style: { color: string; }; role: string; tabIndex: number; onKeyDown: (event: any) => void; onKeyUp: (event: any) => void; }; render(): any; }