import { z } from "zod";
import type { BlockMdxConfig } from "../types.js";
/**
* Pure (React-free) part of the shared `callout` block: its data schema and MDX
* round-trip config. Lives in core so BOTH apps' server/shared registries
* (`plan-block-registry.ts`, `nfm-registry.ts`) and the client spec
* (`callout.tsx`) consume one definition. Keeping it React-free means importing
* it into a server module never pulls React into the Nitro/SSR bundle.
*
* The MDX `tag` + attribute/children shape MUST match the legacy
* `…body…` encoding so stored `.mdx` round-trips
* byte-compatibly (the block originated in the plan template before moving here).
*/
export type CalloutTone = "info" | "decision" | "risk" | "warning" | "success";
export interface CalloutData {
tone?: CalloutTone;
/** Markdown body. Tagged `markdown()` so the auto-editor edits it inline. */
body: string;
}
export declare const CALLOUT_TONES: CalloutTone[];
export declare const calloutSchema: z.ZodType;
/**
* MDX config: `tone` is an attribute, `body` is MDX children — exactly the
* legacy `\n\n{body}\n\n` form. `toAttrs` returns
* only `tone` (body is `childrenField`, excluded from attributes); `fromAttrs`
* reads `tone` and uses the stringified prose children as `body`.
*/
export declare const calloutMdx: BlockMdxConfig;
//# sourceMappingURL=callout.config.d.ts.map