import * as React from 'react'; export declare type ValidateResult = string | boolean | undefined; export declare type Validate = (data: any) => ValidateResult | Promise; export declare type ValidationOptionObject = Value | { value: Value; message: string; }; export declare type ValidationOptions = Partial<{ required: boolean | string; min: ValidationOptionObject; max: ValidationOptionObject; maxLength: ValidationOptionObject; minLength: ValidationOptionObject; pattern: ValidationOptionObject; validate: Validate | Record | { value: Validate | Record; message: string; }; }>; declare type EventFunctionResult = { value?: any; checked?: boolean; }; export declare type EventFunction = (args: any) => EventFunctionResult | Promise; export declare type Props = { children?: React.ReactNode; innerProps?: any; setValue?: (name: string, value: any, trigger?: boolean) => void; register?: (ref: any, rules: ValidationOptions) => (name: string) => void; unregister?: (name: string) => void; name: string; as: React.ElementType | React.FunctionComponent | string | any; type?: string; rules?: ValidationOptions; value?: string | boolean; onChange?: (value: any) => void; onBlur?: (value: any) => void; mode?: 'onBlur' | 'onChange' | 'onSubmit'; defaultValue?: string; defaultChecked?: boolean; onChangeName?: string; onChangeEvent?: EventFunction; onBlurName?: string; onBlurEvent?: EventFunction; }; export {};