import { FormField, FormData, ValidationResult } from "./types"; export declare class FormValidator { /** * Validates a single field against its configuration */ validateField(field: FormField, value: any, formData: FormData): ValidationResult; /** * Validates entire form data against field configurations */ validateForm(fields: FormField[], formData: FormData): ValidationResult; /** * Checks if a field should be validated based on dependencies */ private shouldValidateField; /** * Validates a single validation rule */ private validateRule; /** * Evaluates a field condition */ private evaluateCondition; /** * Checks if a value is considered empty */ private isEmpty; /** * Gets validation error message for a specific field */ getFieldError(field: FormField, formData: FormData): string | null; /** * Checks if a field is visible based on dependencies */ isFieldVisible(field: FormField, formData: FormData): boolean; /** * Gets all visible fields for current form data */ getVisibleFields(fields: FormField[], formData: FormData): FormField[]; /** * Validates only visible fields */ validateVisibleFields(fields: FormField[], formData: FormData): ValidationResult; /** * Real-time validation for form changes */ validateOnChange(fields: FormField[], formData: FormData, changedField: string): { fieldValidation: ValidationResult; formValidation: ValidationResult; affectedFields: string[]; }; } export declare const formValidator: FormValidator; export declare const ValidationHelpers: { /** * Validates numeric input with optional min/max */ validateNumber(value: any, min?: number, max?: number): ValidationResult; /** * Validates required field */ validateRequired(value: any, fieldName: string): ValidationResult; /** * Validates conditional requirement */ validateConditional(condition: boolean, value: any, fieldName: string): ValidationResult; };