import * as React from 'react';
import { HTMLAttributes } from 'react';
import { JsonObject } from '@inf-monkeys-tech/monkeys';
type BaseAssetIconDescriptor = {
kind: 'emoji';
value: string;
backgroundColor?: string;
} | {
kind: 'image';
src: string;
} | {
kind: 'lucide';
name: string;
};
interface BaseAssetIconProps extends Omit, 'children'> {
icon: BaseAssetIconDescriptor;
alt: string;
normalizeImageIcon?: boolean;
}
declare const BASE_ASSET_ICON_DESCRIPTOR_SCHEMA: JsonObject;
type AssetIconTag = 'circle' | 'ellipse' | 'line' | 'path' | 'polygon' | 'polyline' | 'rect';
type AssetIconNode = readonly [
tag: AssetIconTag,
attributes: Readonly>
];
/** Host data remains untrusted until the component validates every node. */
type AssetIconResolver = (name: string) => Promise;
type AssetImageResolver = (reference: string, signal: AbortSignal) => Promise;
declare function parseAssetIconNodes(value: unknown): readonly AssetIconNode[] | undefined;
declare const BaseAssetIcon: React.ForwardRefExoticComponent>;
export { type AssetIconNode as A, BASE_ASSET_ICON_DESCRIPTOR_SCHEMA as B, type AssetIconResolver as a, type AssetIconTag as b, BaseAssetIcon as c, type BaseAssetIconDescriptor as d, type BaseAssetIconProps as e, type AssetImageResolver as f, parseAssetIconNodes as p };