/**
* @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