/** * @license * Copyright 2023 Nuraly Laabidi Aymen * SPDX-License-Identifier: MIT */ import { LitElement } from 'lit'; import { IconTypes } from './icon.types.js'; /** * Enhanced Icon component with clickable functionality, custom styling, and comprehensive theming * * @example * ```html * * * * * ``` * * @fires icon-click - Dispatched when icon is clicked (contains iconName, iconType, originalEvent, timestamp) * @fires icon-keyboard-activation - Dispatched when icon is activated via keyboard (contains iconName, iconType, key, originalEvent, timestamp) */ declare const IconBaseMixin: (new (...args: any[]) => import("./mixins/clickable-mixin.js").ClickableCapable) & (new (...args: any[]) => import("@nuralyui/common/mixins").DependencyAware) & (new (...args: any[]) => import("@nuralyui/common/mixins").ThemeAware) & (new (...args: any[]) => import("@nuralyui/common/mixins").EventHandlerCapable) & typeof LitElement; export declare class HyIconElement extends IconBaseMixin { static readonly styles: import("lit").CSSResult[]; /** The FontAwesome icon name */ name: string; /** The icon type (solid or regular) */ type: IconTypes; /** Alternative text for accessibility */ alt: string; /** Icon size (small, medium, large, xlarge, xxlarge) */ size?: 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge'; /** Icon color override */ color?: string; /** Custom width override */ width?: string; /** Custom height override */ height?: string; /** * Validate component properties on update */ willUpdate(changedProperties: Map): void; render(): import("lit").TemplateResult<1>; getIconPath(): string; /** * Get the appropriate ARIA role for the icon */ getIconRole(): string; /** * Get the appropriate tabindex for the icon */ getIconTabIndex(): string; /** * Get the appropriate aria-disabled value */ getAriaDisabled(): string | undefined; } export {}; //# sourceMappingURL=icon.component.d.ts.map