import { JSX } from 'solid-js';
/** Render an item icon.
 *
 *  Resolution order:
 *  1. Known icon name (e.g. `"paperclip"`) → lucide-solid component.
 *  2. URL / absolute path / data-URI → `<img>`.
 *  3. Anything else → `<span>` text fallback.
 *  Returns `null` when `icon` is undefined/empty.
 *
 *  The img and span branches render different markup, so they accept different
 *  class options: `imgClass` for the `<img>`, `spanClass` for the `<span>`.
 *  `class` is a shared fallback. Pass `ariaHidden` to mark the span decorative. */
export declare function renderIcon(icon: string | undefined, opts?: {
    class?: string;
    imgClass?: string;
    spanClass?: string;
    ariaHidden?: boolean;
}): JSX.Element;
