import { type BaseKey, type BaseRecord, type FormWithSyncWithLocationParams, type HttpError } from "@refinedev/core";
import { type UseFormProps, type UseFormReturnType } from "../useForm";
import type { UseFormInput } from "@mantine/form/lib/types";
export type UseModalFormReturnType<TQueryFnData extends BaseRecord = BaseRecord, TError extends HttpError = HttpError, TVariables = Record<string, unknown>, TTransformed = TVariables, TData extends BaseRecord = TQueryFnData, TResponse extends BaseRecord = TData, TResponseError extends HttpError = TError> = UseFormReturnType<TQueryFnData, TError, TVariables, TTransformed, TData, TResponse, TResponseError> & {
    modal: {
        submit: (values: ReturnType<NonNullable<UseFormInput<TVariables, (values: TVariables) => TTransformed>["transformValues"]>>) => void;
        close: () => void;
        show: (id?: BaseKey) => void;
        visible: boolean;
        title: string;
    };
};
export type UseModalFormProps<TQueryFnData extends BaseRecord = BaseRecord, TError extends HttpError = HttpError, TVariables = Record<string, unknown>, TTransformed = TVariables, TData extends BaseRecord = TQueryFnData, TResponse extends BaseRecord = TData, TResponseError extends HttpError = TError> = UseFormProps<TQueryFnData, TError, TVariables, TTransformed, TData, TResponse, TResponseError> & {
    modalProps?: {
        defaultVisible?: boolean;
        autoSubmitClose?: boolean;
        autoResetForm?: boolean;
        autoResetFormWhenClose?: boolean;
    };
} & FormWithSyncWithLocationParams;
export declare const useModalForm: <TQueryFnData extends BaseRecord = BaseRecord, TError extends HttpError = HttpError, TVariables = Record<string, unknown>, TTransformed = TVariables, TData extends BaseRecord = TQueryFnData, TResponse extends BaseRecord = TData, TResponseError extends HttpError = TError>({ modalProps, refineCoreProps, syncWithLocation, ...rest }?: UseModalFormProps<TQueryFnData, TError, TVariables, TTransformed, TData, TResponse, TResponseError>) => UseModalFormReturnType<TQueryFnData, TError, TVariables, TTransformed, TData, TResponse, TResponseError>;
//# sourceMappingURL=index.d.ts.map