import { ComponentInterface } from '../../stencil-public-runtime';
import { BalConfigObserver, BalConfigState, BalIcons } from '../../utils/config';
import { BalElementStateInfo } from '../../utils/element-states';
export declare class Icon implements BalConfigObserver, BalElementStateInfo, ComponentInterface {
    icons: BalIcons;
    svgContent: string;
    innerColor: string;
    innerSize: string;
    /**
     * PUBLIC API
     * ------------------------------------------------------
     */
    /**
     * Name of the baloise icon.
     */
    name: string | undefined;
    /**
     * Svg content.
     */
    svg: string;
    /**
     * Defines the size of the icon.
     */
    size: BalProps.BalIconSize;
    /**
     * The theme type of the button.
     */
    color: BalProps.BalIconColor;
    colorHovered: BalProps.BalIconColor;
    colorPressed: BalProps.BalIconColor;
    /**
     * If `true` the icon acts as a tile with a background color.
     */
    tile: boolean;
    /**
     * If `true` the icon acts as a tile with a background color. Default is purple
     */
    tileColor: BalProps.BalIconTileColor;
    /**
     * If `true` the icon has display inline style
     */
    inline: boolean;
    /**
     * If `true` the icon is inverted
     */
    inverted: boolean;
    /**
     * If `true` the icon is rotated 180deg
     */
    turn: boolean;
    /**
     * If `true` adds a box shadow to improve readability on image background
     * */
    shadow: boolean;
    /**
     * If `true`, the element is not mutable, focusable, or even submitted with the form. The user can neither edit nor focus on the control, nor its form control descendants.
     */
    disabled?: boolean;
    /**
     * If `true` the component gets a invalid red style.
     */
    invalid?: boolean;
    /**
     * @internal
     */
    hovered: boolean;
    /**
     * @internal
     */
    pressed: boolean;
    /**
     * LIFE CYCLE
     * ------------------------------------------------------
     */
    connectedCallback(): void;
    componentWillRender(): Promise<void> | void;
    /**
     * LISTENERS
     * ------------------------------------------------------
     */
    /**
     * @internal define config for the component
     */
    configChanged(state: BalConfigState): Promise<void>;
    /**
     * PRIVATE METHODS
     * ------------------------------------------------------
     */
    private generateSvgContent;
    private parseColor;
    /**
     * RENDER
     * ------------------------------------------------------
     */
    render(): any;
}
