import { z } from "zod"; import type { BlockMdxConfig } from "../types.js"; /** * Pure (React-free) part of the PLAN-SPECIFIC mermaid block: its data schema and * MDX round-trip config. Shared by the server MDX adapter (`plan-mdx.ts` via * `plan-block-registry.ts`) and the client spec (`planBlocks.tsx`). Keeping this * React-free means importing it into a server module never pulls React (or the * client-only `mermaid` runtime) into the Nitro/SSR bundle. * * The schema MUST stay data-compatible with the `mermaid` branch of * `planBlockSchema` (`plan-content.ts`), and the MDX `tag` + flat `source` / * `caption` attribute shape MUST match the `` encoding * so stored `.mdx` round-trips. The diagram code lives in the `source` ATTRIBUTE * (not MDX children) — the shared `prop()` encoder round-trips multiline strings * cleanly, and keeping it an attribute avoids the source being reflowed as prose. */ export interface MermaidData { /** Mermaid diagram definition (flowchart/sequence/etc.) edited as raw text. */ source: string; /** Optional short caption rendered (muted) under the diagram. */ caption?: string; } export declare const mermaidSchema: z.ZodType; /** * MDX config: `source` and `caption` are flat attributes — the `` self-closing form. Insertion order of `toAttrs` is the * on-disk attribute order (`source` → `caption`). `fromAttrs` mirrors a * forgiving parse (`source ?? ""`, `caption` undefined when absent) so a plan * missing the attribute still parses. */ export declare const mermaidMdx: BlockMdxConfig; //# sourceMappingURL=mermaid.config.d.ts.map