import { IconName as LucideDynamicName } from 'lucide-react/dynamic'; import { icons } from 'lucide-react'; /** * A lucide icon referenced by name: the PascalCase export name * (`"ArrowRight"`) or lucide's own kebab-case id (`"arrow-right"`). */ export type IconName = keyof typeof icons | LucideDynamicName; export interface DynamicIconProps { /** The icon, by name. An unknown name renders nothing. */ name: IconName; color?: string; size?: number; className?: string; "aria-label"?: string; } /** * Renders a lucide icon chosen at runtime (CMS content, user settings). The * glyph is fetched on demand through `lucide-react/dynamic`, so it appears * after hydration once its chunk has loaded, and never in server-rendered * HTML. For any icon known when the code is written, use * `` from the main entry instead. In a `$icon`-style * prop, pass it as an element: `$icon={}`. */ export declare function DynamicIcon({ name, "aria-label": ariaLabel, ...props }: DynamicIconProps): import("react").JSX.Element | null;