type SVGProps = Record; /** * A Lucide icon node (an svgson-like internal format) */ type LucideIconNode = SVGProps> = [name: TName, attributes: TProps] | [name: TName, attributes: TProps, children: LucideIconNode[]]; /** * A Lucide icon object that fully describes an icon to be displayed. */ type LucideIconData = SVGProps> = { name?: string; node: LucideIconNode[]; aliases?: string[]; } & ({ size?: number; width?: never; height?: never; } | { size?: never; width?: number; height?: number; }); export type { LucideIconData, LucideIconNode, SVGProps };