export interface IconDetails { name: string; path: string; type: string; } /** * Generates the SVG sprite template. * * @param {string} content - The SVG content to be wrapped. * @returns {string} The complete SVG sprite as a string. */ export declare function generateSpriteTemplate(content: string): string; /** * Generates the file name for an SVG sprite. * * @param {string} type - The type of the icon (e.g., 'solid', 'outline'). * @returns {string} The file name for the SVG sprite. */ export declare function generateSpriteFileName(type: string): string; /** * Prefixes every id and id reference with the icon type, e.g. * `id="ArrowDown"` -> `id="solid-ArrowDown"`, `url(#a)` -> `url(#solid-a)`. * * All sprite types reuse the same ids (icon name as symbol id, plus SVGO's * minified `id="a"`), so Icon inlining them into one document would collide. * * @param {string} spriteContent - The concatenated `` markup for one type. * @param {string} iconType - The icon type used as the id prefix (e.g. 'solid'). * @returns {string} The sprite content with every id and id reference prefixed. */ export declare function namespaceSpriteIds(spriteContent: string, iconType: string): string; /** * Retrieves all SVG icon files from a directory. * * @param {string} directory - The directory to search for SVG files. * @returns {string[]} An array of file paths. */ export declare function getIconFiles(directory: string): Array; /** * Extracts details from an icon file path. * * @param {string} iconFile - The file path of the icon. * @returns {IconDetails} An object containing the icon's name, path, and type. */ export declare function extractIconDetails(iconFile: string): IconDetails; /** * Finds missing icons that are not available in all types. * * @param {IconDetails[]} icons - An array of icon details. * @param {string[]} iconTypes - An array of icon types. * @returns {IconDetails[]} An array of missing icons. */ export declare function findMissingIcons(icons: Array, iconTypes: Array): Array; /** * Removes duplicate icons from an array of icon details. * * @param {IconDetails[]} icons - An array of icon details. * @returns {IconDetails[]} An array of unique icons. */ export declare function removeDuplicateIcons(icons: Array): Array; /** * Generates TypeScript types and constants for icons. * * @param {IconDetails[]} iconsToGenerate - An array of icon details. * @returns {string} The TypeScript code as a string. */ export declare function generateTypes(iconsToGenerate: Array): string;