/** * Project a settled `INode` snapshot into the takumi node shape — * `container` / `text` / `image` — that `@takumi-rs/core`'s `Renderer` * accepts directly. No React symbols, no element-shape emulation. * * Mapping rules: * INode with tag='img' + src attribute → { type: 'image', src, … } * INode otherwise → { type: 'container', children, style } * string child → { type: 'text', text, … } */ import type { INode, IStyleCSS } from '../ui/index.js'; export type TakumiContainerNode = { type: 'container'; style?: IStyleCSS; children?: TakumiNode[]; }; export type TakumiTextNode = { type: 'text'; text: string; style?: IStyleCSS; }; export type TakumiImageNode = { type: 'image'; src: string; width?: number; height?: number; style?: IStyleCSS; }; export type TakumiNode = TakumiContainerNode | TakumiTextNode | TakumiImageNode; export declare function snapshotToTakumi(node: INode): TakumiNode;