import type { IconData } from '@stacksjs/iconify-core'; /** * Fetch available icon collections from Iconify */ export declare function fetchCollections(): Promise>; /** * Fetch icons from a specific collection */ export declare function fetchCollectionIcons(prefix: string, icons?: string[]): Promise; /** * Convert Iconify icon data to our IconData format */ export declare function convertIconData(data: IconifyIconData, defaultWidth?: number, defaultHeight?: number): IconData; /** * Generate TypeScript icon data file */ export declare function generateIconData(name: string, iconData: IconData): string; /** * Generate stx icon component file */ export declare function generateIconComponent(_name: string, iconData: IconData): string; /** * Generate index file for a collection */ export declare function generateIndexFile(iconNames: string[]): string; /** * Generate types file */ export declare function generateTypesFile(prefix: string): string; /** * Generate package.json for a collection */ export declare function generatePackageJson(prefix: string, collectionInfo: IconifyCollection, _iconCount: number): string; /** * Generate build.ts file for a collection */ export declare function generateBuildFile(prefix: string): string; /** * Generate README for a collection */ export declare function generateReadme(prefix: string, collectionInfo: IconifyCollection, iconCount: number): string; /** * Generate documentation file for a collection */ export declare function generateDocumentation(prefix: string, collectionInfo: IconifyCollection, iconNames: string[]): string; /** * Generate a complete icon package */ export declare function generatePackage(prefix: string, outputDir: string, icons?: string[], docsDir?: string): Promise; /** * Convert kebab-case to a valid JS identifier in camelCase form. * Iconify allows names that start with digits (e.g. "2", "3d-move") and * names containing dots/slashes — none of which are legal JS identifiers. * Prefix with `_` when the first char isn't [A-Za-z_$], and replace any * remaining illegal chars with `_` so downstream `export { default as X }` * always parses. */ export declare function toCamelCase(str: string): string; /** * Convert kebab-case to PascalCase */ export declare function toPascalCase(str: string): string; export declare interface IconifyCollection { prefix: string name: string total: number author?: { name: string url?: string } license?: { title: string spdx: string url?: string } height?: number category?: string palette?: boolean } export declare interface IconifyIconData { body: string width?: number height?: number left?: number top?: number rotate?: number hFlip?: boolean vFlip?: boolean } export declare interface IconifyCollectionData { prefix: string lastModified: number icons: Record aliases?: Record width?: number height?: number }