import type { IconColor, IconProp, IconSize } from './types'; type Props = { /** Icon to render — string SVG source, `{ src, color?, size? }` object, or custom snippet. */ icon?: IconProp | null; /** * Values applied only when the `icon` object omits its own (ignored for snippets). `size` / `color` * fill the gaps; `scale: 'large'` bumps the fallback `size` one step up. An explicit `icon.size` / * `icon.color` always wins — scale never touches it. */ fallbacks?: { size?: IconSize; color?: IconColor; scale?: 'default' | 'large'; }; }; /** * Renders an `IconProp` — discriminates between snippet, string SVG, and `{ src, color?, size? }` object. * Use this wherever a component model carries an `icon: IconProp` field, so the discrimination logic * lives in one place. `fallbacks.size` / `fallbacks.color` apply only when the icon object omits its own * (ignored for snippets); `fallbacks.scale='large'` bumps the fallback size one step. An explicit * `icon.size` / `icon.color` always wins. */ declare const Cmp: import("svelte").Component; type Cmp = ReturnType; export default Cmp;