/** A single icon in the index. */ export interface IconInfo { /** Exported function name, e.g. `iconLucideArrowUp`. */ name: string; /** Family directory, e.g. `lucide` or `phosphor/regular`. */ family: string; /** Import subpath, e.g. `lucide/iconLucideArrowUp`. */ path: string; } /** A family of icons from one provider, in one style. */ export interface IconFamilyInfo { /** Family directory, e.g. `phosphor/duotone`. */ family: string; /** Prefix shared by every function name in the family, e.g. `iconPhDuotone`. */ prefix: string; /** How many icons the family contains. */ count: number; } /** Options for {@linkcode searchIcons}. */ export interface SearchIconsOptions { /** Restrict to one family, e.g. `lucide` or `heroicons/outline`. */ family?: string; /** Maximum number of results. Defaults to 50; pass `0` for no limit. */ limit?: number; } /** Every family directory, in generation order. */ export declare function listFamilies(): string[]; /** Every family with its shared function-name prefix and icon count. */ export declare function listFamilyInfo(): IconFamilyInfo[]; /** * Every icon, optionally restricted to one family. * * @param family Family directory, e.g. `phosphor/thin`. Omit for all families. */ export declare function listIcons(family?: string): IconInfo[]; /** * Looks up one icon by its exact function name. * * @param name e.g. `iconLucideArrowUp`. Matched case-sensitively. * @returns The icon, or `undefined` if no such name exists. */ export declare function findIcon(name: string): IconInfo | undefined; /** * Finds icons whose name matches every whitespace-separated term in `query`, * case-insensitively. * * Results are ordered by how well they match: exact name matches first, then * names starting with the query, then the rest — each group alphabetically. * An empty query returns the first `limit` icons. * * @param query One or more terms, e.g. `"arrow up"` or `"ArrowUp"`. * @param options Family filter and result cap. */ export declare function searchIcons(query: string, options?: SearchIconsOptions): IconInfo[];