/// import validatorLib from 'validator'; import { ValidatorLibValidatorName } from './ValidatorLibValidatorName'; export { ValidatorLibValidatorName }; export declare type ArgsByValidatorLibValidator = { [key in ValidatorLibValidatorName]: OverloadedParametersAndRemoveFirst; }; export interface ArgsByCustomValidator { isRequired: []; } export declare type CustomValidatorName = keyof ArgsByCustomValidator; export declare type ArgsByValidator = ArgsByValidatorLibValidator & ArgsByCustomValidator; export declare type ValidatorName = keyof ArgsByValidator; export declare type ErrorMessageConfig = Record; export interface Context { fieldLabel?: string; errorMessages?: Record; errorMessageVars?: ErrorMessageConfig; } export interface ErrorContext extends Context { validatorName: string; errorMessages: ErrorMessageConfig; } export declare type ContextOrValidator = string | Context | Validator; export declare type ValidateResponse = (value: string, values: FormValues, e: ReactEvent) => Record[] | true; export declare type FormValue = string | string[] | boolean; export declare type FormValues = Record; export declare type Validator = (value: FormValue, values: FormValues, e: ReactEvent) => ValidatorResponse; export declare type CustomValidation = (value: FormValue, values: FormValues, e: ReactEvent) => boolean; export interface ValidatorResponse { validatorName: string; valid: boolean; errorMessageConfig: ErrorMessageConfig; errorMessage?: string; } export declare type ValidatorConfigurer = (validatorLibArgsOrErrorMessageConfigOrErrorMessage?: ArgsByValidator[T] | ErrorMessageConfig | string, errorMessageConfigOrErrorMessage?: ErrorMessageConfig | string, errorMessage?: string) => Validator; export declare type Maybe = T | null | undefined; declare type InputElement = HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement; export declare type ReactEvent = React.ChangeEvent | React.FocusEvent; export declare type RemoveFirstFromTuple = T['length'] extends 0 ? undefined : (((...b: T) => void) extends (a: any, ...b: infer I) => void ? I : []); declare type OverloadedParametersAndRemoveFirst = T extends { (...args: infer A1): any; (...args: infer A2): any; (...args: infer A3): any; (...args: infer A4): any; } ? RemoveFirstFromTuple | RemoveFirstFromTuple | RemoveFirstFromTuple | RemoveFirstFromTuple : T extends { (...args: infer A1): any; (...args: infer A2): any; (...args: infer A3): any; } ? RemoveFirstFromTuple | RemoveFirstFromTuple | RemoveFirstFromTuple : T extends { (...args: infer A1): any; (...args: infer A2): any; } ? RemoveFirstFromTuple | RemoveFirstFromTuple : T extends (...args: infer A) => any ? RemoveFirstFromTuple : any;