/** * These are our render types from `api` for use alongside `RuntimeClient`, * replacing instances of `Cell` with `CellHandle` for `Props`, `VNode`, * and `RenderNode`. */ import { UI } from "@commontools/runner/shared"; import { CellHandle } from "./cell-handle.ts"; export type Props = { [key: string]: | string | number | boolean | object | Array | null | undefined | CellHandle; }; export type RenderNode = | InnerRenderNode | CellHandle | Array; export type InnerRenderNode = | VNode | string | number | boolean | undefined; export type VNode = { type: "vnode"; name: string; props: Props | undefined; children?: RenderNode | undefined; [UI]?: VNode; };