import * as i1 from '@eui/components/shared';
import { BaseStatesDirective } from '@eui/components/shared';
import * as i0 from '@angular/core';

/**
 * Displays an icon with semantic state styling (primary, success, info, warning, danger).
 * Combines icon rendering with state-based color variants for status indicators, alerts, and contextual UI elements.
 * Inherits state inputs from BaseStatesDirective for consistent theming across the application.
 *
 * @usageNotes
 * ### Success state icon
 * ```html
 * <eui-icon-state
 *   euiSuccess
 *   size="m"
 *   ariaLabel="Success">
 * </eui-icon-state>
 * ```
 *
 * ### Warning indicator
 * ```html
 * <eui-icon-state
 *   euiWarning
 *   size="l"
 *   ariaLabel="Warning: Action required">
 * </eui-icon-state>
 * ```
 *
 * ### Accessibility
 * - Always provide descriptive `ariaLabel` for meaningful icons
 * - Color is not the only indicator (icon shape also conveys meaning)
 * - Sufficient contrast maintained in all state variants
 *
 * ### Notes
 * - State variants: euiPrimary, euiSuccess, euiInfo, euiWarning, euiDanger
 * - Icon automatically matches the state color
 * - Use in feedback messages, form validation, and status displays
 * - Combine with text labels for clarity
 */
declare class EuiIconStateComponent {
    get cssClasses(): string;
    /**
     * Controls the rendered size of the icon.
     * @default 'm'
     */
    size: '2xs' | 'xs' | 's' | 'm' | 'l' | 'xl' | '2xl' | '3xl' | '4xl';
    /**
     * Accessible label for screen readers describing the icon's purpose or meaning.
     * Required for accessibility when the icon conveys semantic information.
     */
    ariaLabel: string;
    baseStatesDirective: BaseStatesDirective;
    static ɵfac: i0.ɵɵFactoryDeclaration<EuiIconStateComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<EuiIconStateComponent, "eui-icon-state", never, { "size": { "alias": "size"; "required": false; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; }; }, {}, never, never, true, [{ directive: typeof i1.BaseStatesDirective; inputs: { "euiPrimary": "euiPrimary"; "euiSuccess": "euiSuccess"; "euiInfo": "euiInfo"; "euiWarning": "euiWarning"; "euiDanger": "euiDanger"; "euiVariant": "euiVariant"; }; outputs: {}; }]>;
}

declare const EUI_ICON_STATE: readonly [typeof EuiIconStateComponent];

export { EUI_ICON_STATE, EuiIconStateComponent };
//# sourceMappingURL=eui-components-eui-icon-state.d.ts.map
