import { ReactNode, FormHTMLAttributes } from 'react';
import { FormData, FormError } from './FormContext';
export { useForm, FormData } from './FormContext';
export { FormControl, FormControlProps, withFromControl } from './FormControl';
export { default as FormSubmitError } from './FormSubmitError';
export declare type FormStates = {
data: FormData;
errors: FormError;
isSubmitting: boolean;
isSubmitted: boolean;
isSuccessful: boolean;
submitTimes: number;
isError: boolean;
};
declare type FormProps = Omit, 'onSubmit' | 'defaultValue'> & Partial<{
defaultValue: FormData;
readOnly: boolean;
debounce: boolean;
className: string;
successMessage: string;
errorMessage: string;
onSubmit: (state: FormStates) => Promise;
onSubmitted: (state: FormStates & {
reset(): void;
response: T;
}) => void;
children: ReactNode;
}>;
export default function Form({ defaultValue, readOnly, successMessage, errorMessage, debounce, className, children, onSubmit, onSubmitted, ...rest }: FormProps): JSX.Element;