import { VNode } from 'vue';
import { IconName, IconSize, IconColor, IconRotate } from './types';
/**
* 创建 Iconify 图标组件
* 这是 @yh-ui/icons 核心组件,提供高性能的图标渲染
*
* @example
* ```vue
*
*
*
*
*
*
*
*
*
*
*
*
*/
export interface IconifyProps {
/** 图标名称,支持格式:mdi:home, ep:search, lucide:home */
icon: IconName;
/** 图标尺寸 */
size?: IconSize;
/** 图标颜色 */
color?: IconColor;
/** 是否旋转动画 */
spin?: boolean;
/** 旋转角度(0, 90, 180, 270) */
rotate?: IconRotate;
}
/**
* Iconify 图标组件 - 渲染用组件
*/
export declare function createIconifyComponent(): (props: IconifyProps) => VNode;
/**
* Iconify Vue 组件 - 可直接导入使用
* 需要配合 unplugin-icons 实现按需加载
*/
export declare const Icon: (props: IconifyProps) => VNode;
/**
* Iconify Icon 组件 - 别名
*/
export { Icon as Iconify };
/**
* 解析图标名称
* 支持多种格式:mdi:home, mdi/home, @iconify-icons/mdi/home
*
* @param name - 图标名称
* @returns 解析后的图标名称
*/
export declare function parseIconName(name: string): string;
/**
* 同步检查图标格式是否可以被解析
* @param name - 图标名称
* @returns 是否符合解析格式
*/
export declare function canResolve(name: string): boolean;
/**
* 检查图标是否存在(异步严格检查网络与缓存)
* @param name - 图标名称
* @returns 是否存在
*/
export declare function iconExists(name: string): Promise;
/**
* 获取图标数据
* @param name - 图标名称
* @returns 图标的 SVG 数据
*/
export declare function getIconData(name: string): Promise>;