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>;