import * as i0 from '@angular/core';
import { AfterContentInit, OnChanges, OnInit, SimpleChanges } from '@angular/core';
/**
* @description
* `eui-icon-svg` component for displaying scalable vector graphics from icon sets.
* Supports multiple icon libraries, customizable sizing, colors, and transformations.
* Icons can be loaded from configured asset paths or specified URLs.
* Provides accessibility features including ARIA labels and role attributes.
* Commonly used throughout the application for consistent iconography in buttons, menus, and UI elements.
*
* @usageNotes
* ### Basic icon
* ```html
*
* ```
*
* ### Icon with color
* ```html
*
*
* ```
*
* ### Custom icon from URL
* ```html
*
*
* ```
*
* ### Accessibility
* - Set `ariaHidden="false"` and provide `ariaLabel` for meaningful icons
* - Decorative icons should keep `ariaHidden="true"` (default)
* - Use `focusable="true"` only for interactive icon elements
*
* ### Notes
* - Icon sets are configured via EUI_CONFIG_TOKEN
* - Use colon notation for specific sets: `icon="check:material"`
* - Size tokens: 2xs, xs, s, m, l, xl, 2xl, 3xl, 4xl
* - Apply `transform` for rotations (e.g., "rotate-90", "flip-horizontal")
*/
declare class EuiIconSvgComponent implements AfterContentInit, OnChanges, OnInit {
ariaRole: string;
/**
* Name of the icon to display, optionally including the icon set using 'iconName:setName' format.
* When format includes colon separator, automatically splits into icon and set properties.
* Required for icon display unless iconUrl is provided.
*/
icon: string;
/**
* Fill color for the SVG icon using EUI color token names.
* Applies CSS custom property in format '--eui-c-{fillColor}'.
* Affects both fill and color properties for comprehensive icon styling.
*/
fillColor: string;
/**
* Icon set library to load the icon from.
* Determines the source directory for icon SVG files.
* @default 'eui'
*/
set: string;
/**
* Size variant for the icon using predefined scale or custom value.
* Predefined sizes: '2xs', 'xs', 's', 'm', 'l', 'xl', '2xl', '3xl', '4xl'.
* Custom string values can be provided for non-standard sizing.
* @default 'm'
*/
size: '2xs' | 'xs' | 's' | 'm' | 'l' | 'xl' | '2xl' | '3xl' | '4xl' | string;
/**
* Custom inline CSS styles applied directly to the icon element.
* Allows for additional styling beyond component properties.
* @default ''
*/
style: string;
/**
* Direct URL to an SVG icon file, bypassing the icon set resolution.
* Useful for loading custom or external icons not in configured icon sets.
*/
iconUrl: string;
/**
* CSS transform class modifier applied to the icon.
* Common values include rotation or flip transformations.
* Applied as 'eui-icon-svg--{transform}' class.
* @default ''
*/
transform: string;
get cssClasses(): string;
/**
* Accessible label for screen readers describing the icon's purpose.
* Provides semantic meaning when icon conveys information beyond decoration.
* @default 'Icon'
*/
ariaLabel: string;
iconName: string;
assetsBaseUrl: string;
iconStyle: string;
/**
* Hides the icon from assistive technologies when purely decorative.
* Set to false when icon conveys meaningful information requiring announcement.
* @default true
*/
ariaHidden: boolean;
/**
* Makes the icon focusable via keyboard navigation.
* Enables tab-stop behavior for interactive icon elements.
* @default false
*/
focusable: boolean;
/**
* Displays a loading animation or state on the icon.
* Applies 'eui-icon-svg--loading' class for loading-specific styling.
* @default false
*/
isLoading: boolean;
/**
* Applies styling specific to icons used within input fields.
* Adjusts positioning and spacing for input-embedded icons.
* @default false
*/
isInputIcon: boolean;
/**
* Positions the icon at the start (left in LTR, right in RTL) of its container.
* Commonly used for leading icons in buttons or list items.
* @default false
*/
euiStart: boolean;
/**
* Positions the icon at the end (right in LTR, left in RTL) of its container.
* Commonly used for trailing icons in buttons or list items.
* @default false
*/
euiEnd: boolean;
private config;
ngOnInit(): void;
ngOnChanges(c: SimpleChanges): void;
ngAfterContentInit(): void;
private _setIconAndSet;
private _setStyle;
static ɵfac: i0.ɵɵFactoryDeclaration;
static ɵcmp: i0.ɵɵComponentDeclaration;
static ngAcceptInputType_ariaHidden: unknown;
static ngAcceptInputType_focusable: unknown;
static ngAcceptInputType_isLoading: unknown;
static ngAcceptInputType_isInputIcon: unknown;
static ngAcceptInputType_euiStart: unknown;
static ngAcceptInputType_euiEnd: unknown;
}
declare const EUI_ICON: readonly [typeof EuiIconSvgComponent];
export { EUI_ICON, EuiIconSvgComponent };
//# sourceMappingURL=eui-components-eui-icon.d.ts.map