import React from "react";
import { FieldValues, UseFormProps } from "react-hook-form";
import { TField } from "../model";
import { SimpleGridProps, StackProps } from "@mantine/core";
interface Props<T extends FieldValues> extends UseFormProps<T, any> {
    fields: TField<T>[];
    onSubmit?: (values: T) => void;
    resetOnSubmit?: boolean;
    wrapperProps?: StackProps;
    isLoading?: boolean;
    children?: React.ReactNode;
    formGridProps?: SimpleGridProps;
    mapDefaultValue?: (data: T | undefined) => T | undefined;
    disabledFields?: TField<T>["name"][];
    hiddenFields?: TField<T>["name"][];
    httpGet<TResponse>(url: string): Promise<TResponse>;
    getBaseUrl: (path: string) => string;
}
declare const FormBuilder: <T extends FieldValues>({ fields, onSubmit, resetOnSubmit, wrapperProps, children, isLoading, mapDefaultValue, disabledFields, hiddenFields, httpGet, getBaseUrl, ...props }: Props<T>) => import("react/jsx-runtime").JSX.Element;
export { FormBuilder };
