/**
 * Dynamic icon loader utility for react-icons
 * Supports loading icons from various react-icons sets (io5, fa, md, lu, etc.)
 */
import React from 'react';
/**
 * Load an icon dynamically from a react-icons set
 *
 * @param icon_name - The icon component name (e.g., 'IoCheckmarkCircle', 'FaCheck')
 * @param icon_set - The icon set identifier (e.g., 'io5', 'fa', 'md')
 * @returns Promise resolving to the icon component, or null if not found
 *
 * @example
 * const Icon = await load_icon('IoCheckmarkCircle', 'io5');
 * if (Icon) {
 *   return <Icon className="h-5 w-5" />;
 * }
 */
export declare function load_icon(icon_name: string, icon_set?: string): Promise<React.ComponentType<any> | null>;
/**
 * Load multiple icons at once
 *
 * @param icons - Array of { name, set } objects
 * @returns Promise resolving to a map of cache_key -> component
 */
export declare function load_icons(icons: Array<{
    name: string;
    set?: string;
}>): Promise<Record<string, React.ComponentType<any> | null>>;
/**
 * Hook to load an icon with React state management
 * Returns the icon component when loaded, or null while loading
 *
 * @param icon_name - The icon component name
 * @param icon_set - The icon set identifier (default: 'io5')
 * @returns The icon component or null
 *
 * @example
 * function MyComponent() {
 *   const CheckIcon = use_icon('IoCheckmarkCircle', 'io5');
 *   return CheckIcon ? <CheckIcon className="h-5 w-5" /> : null;
 * }
 */
export declare function use_icon(icon_name: string | undefined, icon_set?: string): React.ComponentType<any> | null;
/**
 * Preload icons into cache for faster access later
 * Call this early in your app to preload commonly used icons
 *
 * @param icons - Array of { name, set } objects to preload
 */
export declare function preload_icons(icons: Array<{
    name: string;
    set?: string;
}>): Promise<void>;
/**
 * Clear the icon cache (useful for testing or memory management)
 */
export declare function clear_icon_cache(): void;
/**
 * Get list of supported icon sets
 */
export declare function get_supported_icon_sets(): string[];
//# sourceMappingURL=icon_loader.d.ts.map