/**
 * @license
 *-------------------------------------------------------------------------------------------
 * Copyright © 2026 Progress Software Corporation. All rights reserved.
 * Licensed under commercial license. See LICENSE.md in the package root for more information
 *-------------------------------------------------------------------------------------------
 */
import { IconThemeColor } from './models/theme-color';
import { IconSize } from './models/size';
import { IconFlip } from './models/flip';
import { IconFillMode } from './models/fill-mode';
/**
 * @hidden
 */
export interface BaseIconProps {
    /**
     * Sets the `tabIndex` of the icon element.
     */
    tabIndex?: number;
    /**
     * Sets the `id` of the icon element.
     */
    id?: string;
    /**
     * Sets the `aria-label` of the icon element.
     */
    ariaLabel?: string;
    /**
     * Sets the `title` of the icon element.
     */
    title?: string;
    /**
     * Specifies a list of CSS classes that will be added to the root DOM element.
     */
    class?: string;
    /**
     * Specifies the theme color of the Icon.
     *
     * The possible values are:
     * * `inherit` (Default)&mdash;Applies coloring based on the current color.
     * * `primary` &mdash;Applies coloring based on primary theme color.
     * * `secondary`&mdash;Applies coloring based on secondary theme color.
     * * `tertiary`&mdash; Applies coloring based on tertiary theme color.
     * * `info`&mdash;Applies coloring based on info theme color.
     * * `success`&mdash; Applies coloring based on success theme color.
     * * `warning`&mdash; Applies coloring based on warning theme color.
     * * `error`&mdash; Applies coloring based on error theme color.
     * * `inverse`&mdash; Applies coloring based on inverse theme color.
     *
     * If the property is not set, the icon inherits the color from its parent.
     *
     * You can use the `style` prop to apply custom color related properties to the icon.
     */
    themeColor?: IconThemeColor | string;
    /**
     * Specifies the size of the icon.
     *
     * The possible values are:
     * `default` (Default)&mdash;Font-size: 16px; Width: 16px; Height: 16px.
     * `xsmall`&mdash;Font-size: 12px; Width: 12px; Height: 12px.
     * `small`&mdash;Font-size: 14px; Width: 14px; Height: 14px.
     * `medium`&mdash;Font-size: 16px; Width: 16px; Height: 16px.
     * `large`&mdash;Font-size: 20px; Width: 20px; Height: 20px.
     * `xlarge`&mdash;Font-size: 24px; Width: 24px; Height: 24px.
     * `xxlarge`&mdash;Font-size: 32px; Width: 32px; Height: 32px.
     * `xxxlarge`&mdash;Font-size: 48px; Width: 48px; Height: 48px.
     *
     *
     * You can use the `style` prop to apply custom font size to the icon.
     */
    size?: IconSize | string;
    /**
     * Specifies the icon flip direction.
     *
     * The possible values are:
     * * `default` (Default)&mdash;No flipping applied.
     * * `horizontal`&mdash;Flips the icon in horizontal direction.
     * * `vertical`&mdash;Flips the icon in vertical direction.
     * * `both`&mdash;Flips the icon in both horizontal and vertical directions.
     *
     */
    flip?: IconFlip | string;
    /**
     * Specifies the fill mode of the Icon.
     *
     * The possible values are:
     * * `solid`&mdash;The default icon fill mode.
     * * `outline`&mdash;Renders an outlined version of the icon.
     * * `duotone`&mdash;Renders a two-tone version of the icon.
     *
     */
    fillMode?: IconFillMode | string;
}
