import { InertiaFormProps } from '@inertiajs/inertia-react';
import { FormikHelpers, FormikValues } from 'formik';
import { AnyObjectSchema } from 'yup';
export interface UseInertiaFormProps<Values, TOutputValues> {
    defaultValues: Values;
    validationSchema?: AnyObjectSchema;
    initialValid?: boolean;
    transform?(data: Values): TOutputValues;
    submit: (<ExtendedValues extends TOutputValues>(form: InertiaFormProps<Values>, data: ExtendedValues, formik: FormikHelpers<Values>) => Promise<void> | void) | string;
    method?: 'post' | 'put' | 'patch';
}
export declare const useInertiaForm: <Values extends FormikValues, TOutputValues = Values>({ defaultValues, transform, submit, method, initialValid, ...otherFormikProps }: UseInertiaFormProps<Values, TOutputValues>) => {
    initialValues: Values;
    inertia: InertiaFormProps<Values>;
    validationSchema?: AnyObjectSchema | undefined;
    onSubmit(values: any, formik: any): void;
    initialValid: undefined | boolean;
};
