export interface FieldOption { id: string; name: string; order: number; } export interface FieldSchemaDef { /** InputType enum name as string: 'TEXT', 'TEXTAREA', 'SELECT', etc. */ type: string; name: string; labelKey?: string; label?: string; labelEs?: string; labelEn?: string; placeholder?: string; placeholderText?: string; placeholderEs?: string; placeholderEn?: string; hint?: string; hintText?: string; hintEs?: string; hintEn?: string; required: boolean; /** e.g. 'required', 'email', 'maxLength:500', 'minLength:3' */ validators?: string[]; options?: FieldOption[]; order: number; } export interface FormSchemaConfig { schemaId: string; schemaVersion?: string; labelEs?: string; labelEn?: string; canonicalMap?: Record; fieldSchema: FieldSchemaDef[]; }