import { ReactNode } from 'react';
import { ThemeTypings } from '@chakra-ui/react';
import { FieldValues, SubmitErrorHandler, SubmitHandler, ValidationMode } from 'react-hook-form';
import { CustomField } from './formTypes';
import { ButtonProps } from '../Button/Button';
export interface FormButtonProps {
    text: string | ReactNode;
    label: string;
    colorScheme?: ThemeTypings['colorSchemes'];
    variant?: ButtonProps['variant'];
    spanFullWidth?: boolean;
}
export interface FormProps {
    onValid: SubmitHandler<FieldValues>;
    onInvalid?: SubmitErrorHandler<FieldValues>;
    fields: CustomField[];
    button: FormButtonProps;
    autofocus?: boolean;
    mode?: keyof ValidationMode;
    developerView?: boolean;
    isDisabled?: boolean;
    isFetching?: boolean;
    actions?: ReactNode;
    onInvalidFormValidation?: () => unknown;
}
declare function Form({ onValid, onInvalid, fields, button, autofocus, mode, developerView, isDisabled, isFetching, actions, onInvalidFormValidation, }: FormProps): import("react/jsx-runtime").JSX.Element;
export default Form;
