import { z } from 'zod'; /** * Tipos permitidos para los campos del schema de templates */ export declare const FieldTypeSchema: z.ZodEnum<["string", "array_string", "array_object"]>; export type FieldType = z.infer; /** * Definición recursiva de un campo del schema * * Soporta hasta 2 niveles de anidación de array_object */ export declare const SchemaFieldSchema: z.ZodType; export type SchemaField = { name: string; label: string; type: FieldType; required: boolean; objectFields?: SchemaField[]; }; /** * Schema del template que define la estructura de campos */ export declare const TemplateSchemaSchema: z.ZodObject<{ fields: z.ZodEffects, "many">, SchemaField[], SchemaField[]>; }, "strip", z.ZodTypeAny, { fields: SchemaField[]; }, { fields: SchemaField[]; }>; export type TemplateSchema = z.infer; /** * Definición completa de un Landing Page Template */ export declare const LandingPageTemplateSchema: z.ZodObject<{ /** Nombre descriptivo del template */ name: z.ZodString; /** Slug único para identificar el template (formato kebab-case) */ slug: z.ZodString; /** Schema que define los campos requeridos */ schema: z.ZodObject<{ fields: z.ZodEffects, "many">, SchemaField[], SchemaField[]>; }, "strip", z.ZodTypeAny, { fields: SchemaField[]; }, { fields: SchemaField[]; }>; }, "strip", z.ZodTypeAny, { name: string; slug: string; schema: { fields: SchemaField[]; }; }, { name: string; slug: string; schema: { fields: SchemaField[]; }; }>; export type LandingPageTemplate = z.infer; //# sourceMappingURL=types.d.ts.map