/** * SVG Icon Loader Utility * Loads SVG icons from files and caches them for performance */ interface IconOptions { width?: number; height?: number; className?: string; } declare class IconLoader { private basePath; private cache; private loading; constructor(basePath?: string); /** * Load an SVG icon * @param {string} name - Icon name (without .svg extension) * @param {Object} options - Icon options * @param {number} options.width - Icon width (default: 16) * @param {number} options.height - Icon height (default: 16) * @param {string} options.className - Additional CSS class * @returns {Promise} SVG string */ load(name: string, options?: IconOptions): Promise; /** * Load SVG synchronously (uses cached version or returns placeholder) * @param {string} name - Icon name * @param {Object} options - Icon options * @returns {string} SVG string */ loadSync(name: string, options?: IconOptions): string; /** * Fetch SVG from server */ fetchSvg(name: string): Promise; /** * Format SVG with custom attributes */ formatSvg(svg: string, { width, height, className }: Required): string; /** * Get fallback icon (box) */ getFallbackIcon(width: number, height: number): string; /** * Preload multiple icons * @param {string[]} names - Array of icon names */ preload(names: string[]): Promise; /** * Clear cache */ clearCache(): void; /** * Get cache size */ getCacheSize(): number; } declare const iconLoader: IconLoader; export { iconLoader, IconLoader };