import type { FieldValues } from "react-hook-form";
import type { BaseRecord, HttpError } from "@refinedev/core";
import { type UseFormProps, type UseFormReturnType } from "../useForm";
export type UseStepsFormReturnType<TQueryFnData extends BaseRecord = BaseRecord, TError extends HttpError = HttpError, TVariables extends FieldValues = FieldValues, TContext extends object = {}, TData extends BaseRecord = TQueryFnData, TResponse extends BaseRecord = TData, TResponseError extends HttpError = TError> = UseFormReturnType<TQueryFnData, TError, TVariables, TContext, TData, TResponse, TResponseError> & {
    steps: {
        currentStep: number;
        gotoStep: (step: number) => void;
    };
};
export type UseStepsFormProps<TQueryFnData extends BaseRecord = BaseRecord, TError extends HttpError = HttpError, TVariables extends FieldValues = FieldValues, TContext extends object = {}, TData extends BaseRecord = TQueryFnData, TResponse extends BaseRecord = TData, TResponseError extends HttpError = TError> = UseFormProps<TQueryFnData, TError, TVariables, TContext, TData, TResponse, TResponseError> & {
    /**
       * @description Configuration object for the steps.
       * `defaultStep`: Allows you to set the initial step.
       *
       * `isBackValidate`: Whether to validation the current step when going back.
       * @type `{
        defaultStep?: number;
        isBackValidate?: boolean;
        }`
       * @default `defaultStep = 0` `isBackValidate = false`
       */
    stepsProps?: {
        defaultStep?: number;
        isBackValidate?: boolean;
    };
};
export declare const useStepsForm: <TQueryFnData extends BaseRecord = BaseRecord, TError extends HttpError = HttpError, TVariables extends FieldValues = FieldValues, TContext extends object = {}, TData extends BaseRecord = TQueryFnData, TResponse extends BaseRecord = TData, TResponseError extends HttpError = TError>({ stepsProps, ...rest }?: UseStepsFormProps<TQueryFnData, TError, TVariables, TContext, TData, TResponse, TResponseError>) => UseStepsFormReturnType<TQueryFnData, TError, TVariables, TContext, TData, TResponse, TResponseError>;
//# sourceMappingURL=index.d.ts.map