import { z } from 'zod'; import { SyllabusRootSchema, LessonAstNodeSchema, DialogueNodeSchema } from './nodes.js'; export * from './base.js'; export * from './nodes.js'; export * from './extensions.js'; /** * Validation result type */ export interface ValidationResult { /** Whether validation succeeded */ valid: boolean; /** Validated data (if successful) */ data?: T; /** Zod errors (if failed) */ errors: z.ZodError | null; /** Warning messages */ warnings: string[]; } /** * Validation options */ export interface ValidateOptions { /** Throw on validation failure instead of returning result */ strict?: boolean; } /** * Get the appropriate schema for a node based on its type */ export declare function getSchemaForNodeType(type: string): z.ZodTypeAny | undefined; /** * Validate any syllst node using the appropriate schema */ export declare function validateNode(node: unknown, options?: ValidateOptions): ValidationResult; /** * Validate a lesson node */ export declare function validateLesson(lesson: unknown, options?: ValidateOptions): ValidationResult>; /** * Validate a syllabus root node */ export declare function validateSyllabus(syllabus: unknown, options?: ValidateOptions): ValidationResult>; /** * Validate a dialogue node */ export declare function validateDialogue(dialogue: unknown, options?: ValidateOptions): ValidationResult>; /** * Format validation errors for display */ export declare function formatValidationErrors(errors: z.ZodError): string[]; /** * Validate for ContentLayer generation * Returns a simpler result format suitable for build scripts */ export declare function validateBeforeContentLayer(lesson: unknown): { valid: boolean; errors: string[]; }; //# sourceMappingURL=index.d.ts.map