import { FormElementType } from '../constants'; export declare type FieldType = FT | FormElementType; export declare type ValidateFieldType = FieldType | '*'; export declare type ValidateValueType = { autofill: boolean; fieldType: FieldType; value: VT | string | number | string[] | number[] | string[][]; [extra: string]: any; }; export declare type SupportLanguage = 'zh' | 'en'; export interface ValidateRule { lang: SupportLanguage; trim?: boolean; required?: boolean; pattern?: RegExp; max?: number; min?: number; len?: number | { min?: number; max?: number; item?: { max: number; min: number; }; }; } export declare type ValidateErrorType = 'required' | 'max' | 'min' | 'len' | 'len:min' | 'len:max' | 'pattern' | 'lang'; export declare type ValidateResult = { valid: true; } | { valid: false; errType: ValidateErrorType; message: string; [extra: string]: any; }; export interface Validator { lang: string; validateFieldType: ValidateFieldType; (rules: ValidateRule[], valueObject: ValidateValueType): ValidateResult; } export declare const getValidateMessage: (path: string) => string; export declare function validatorWrapper(validator: Validator): Validator;