import { z } from 'zod'; import { type SchemaField, type LandingPageTemplate } from '../types'; /** * Valida que un SchemaField cumpla con las reglas de negocio * @param field - Campo a validar * @param depth - Nivel de anidación (0 = raíz, 1 = primer nivel, etc.) * @throws {z.ZodError} Si el campo no es válido */ export declare function validateSchemaField(field: SchemaField, depth?: number): void; /** * Valida que un LandingPageTemplate sea correcto * @param template - Template a validar * @throws {z.ZodError} Si el template no es válido */ export declare function validateTemplate(template: LandingPageTemplate): void; /** * Valida el content de una landing page contra el schema del template * * Esta función genera dinámicamente un schema de Zod basado en el template * y valida que el content cumpla con la estructura esperada. * * @param content - El contenido a validar (JSON) * @param template - El template que define la estructura esperada * @returns El content validado y tipado * @throws {z.ZodError} Si el content no cumple con el schema */ export declare function validateContent(content: unknown, template: LandingPageTemplate): T; /** * Valida el content de forma segura sin lanzar errores * * @param content - El contenido a validar * @param template - El template que define la estructura * @returns Objeto con { success: boolean, data?: T, error?: z.ZodError } */ export declare function safeValidateContent(content: unknown, template: LandingPageTemplate): { success: true; data: T; } | { success: false; error: z.ZodError; }; //# sourceMappingURL=index.d.ts.map