import { type ZodType, type ZodTypeAny } from "zod"; /** * Tag a string schema so the auto-editor renders it with the shared inline * rich-markdown editor (Notion-style editing) instead of a plain textarea. * Survives `.optional()` because `unwrap` reads the inner description. */ export declare function markdown(schema?: ZodTypeAny): ZodTypeAny; /** Alias for {@link markdown} — tags a string field as rich text. */ export declare function richtext(schema?: ZodTypeAny): ZodTypeAny; export type FieldKind = "markdown" | "richtext" | "text" | "longtext" | "number" | "boolean" | "enum" | "array" | "object" | "unsupported"; export interface FieldDescriptor { key: string; /** Humanized key for the field label. */ label: string; kind: FieldKind; optional: boolean; enumValues?: string[]; /** Element schema for arrays / inner schema for objects. */ inner?: ZodTypeAny; /** Element descriptors for object fields (one level of nesting). */ fields?: FieldDescriptor[]; /** Description tag, when present (used to detect markdown/richtext). */ description?: string; } /** * Introspect a block's `data` schema into a flat list of field descriptors. The * input is unwrapped to its object schema first (so an `.optional()`-wrapped or * `.refine()`-wrapped object still yields its fields). */ export declare function introspect(schema: ZodType): FieldDescriptor[]; //# sourceMappingURL=introspect.d.ts.map