import { FormErrors, FormRulesRecord, UseFormInput, UseFormReturnType } from './types';
export declare function useForm<Values extends Record<string, any>, TransformedValues = Values, R extends FormErrors | Promise<FormErrors> = FormErrors>(input: UseFormInput<Values, TransformedValues> & {
    validate: (values: Values) => R;
}): UseFormReturnType<Values, TransformedValues, (values: Values) => R>;
export declare function useForm<Values extends Record<string, any>, TransformedValues = Values, Rules extends FormRulesRecord<Values> = FormRulesRecord<Values>>(input: UseFormInput<Values, TransformedValues> & {
    validate: Rules;
}): UseFormReturnType<Values, TransformedValues, Rules>;
export declare function useForm<Values extends Record<string, any> = Record<string, any>, TransformedValues = Values>(input?: UseFormInput<Values, TransformedValues>): UseFormReturnType<Values, TransformedValues, undefined>;
