/** * Project a resolved snapshot (`ResolvedNode`) 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: * tag='img' + `src` attribute → { type: 'image', src, … } * any other node → { type: 'container', children, style } * string child → { type: 'text', text, … } */ import type { IStyleCSS } from '../ui/index.js'; import type { ResolvedNode } from './snapshot.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: ResolvedNode): TakumiNode;