import React from 'react';
type Validators<FormValues> = Partial<{
    [key in keyof FormValues]: (value: FormValues[key]) => boolean | string;
}>;
export type FormErrors<FormValues> = Partial<{
    [key in keyof FormValues]: boolean | string;
}>;
interface SyntheticFormEvent {
    currentTarget: {
        name: string;
        value: string | string[] | number | number[] | Date | null;
    };
}
export declare const useNativeForm: <FormValues>(initialState: FormValues, initialErrors: Partial<{ [key in keyof FormValues]: string | boolean; }>, validation: Partial<{ [key_1 in keyof FormValues]: (value: FormValues[key_1]) => boolean | string; }>) => {
    formErrors: Partial<{ [key in keyof FormValues]: string | boolean; }>;
    formPayload: FormValues | undefined;
    formState: FormValues;
    handleChange: (e: React.FormEvent<HTMLInputElement> | SyntheticFormEvent) => void;
    handleCheckboxGroup: ({ currentTarget: { name, value, checked }, }: React.FormEvent<HTMLInputElement>) => void;
    handleRadioGroup: ({ currentTarget: { name, value }, }: React.FormEvent<HTMLInputElement>) => void;
    isSubmitting: boolean;
    onSubmit: (e: React.FormEvent) => Promise<void>;
};
export {};
//# sourceMappingURL=useNativeForm.d.ts.map