///
import * as yup from 'yup';
import { FieldValues } from 'react-hook-form';
import { Fields, CustomComponents } from './types';
/**
* Creates a single object with all default values of the fields
* @param fields Fields used in the form
* @param customComponents Custom components used in the form
*/
export declare const getDefaultValues: (fields: Fields, customComponents?: CustomComponents | undefined, mergeValues?: Record | undefined) => FieldValues;
/**
* Creates a Yup object schema to validate the entire form
* @param fields Fields used in the form
* @param customComponents Custom components used in the form
*/
export declare const getValidationSchema: (fields: Fields, customComponents?: CustomComponents | undefined) => yup.ObjectSchema | import("yup/lib/Reference").default | import("yup/lib/Lazy").default>, Record>, Record, import("yup/lib/object").TypeOfShape | import("yup/lib/Reference").default | import("yup/lib/Lazy").default>, Record>>, import("yup/lib/object").AssertsShape | import("yup/lib/Reference").default | import("yup/lib/Lazy").default>, Record>>>;
/**
* Gets the form values that have changed
* @param current Current form values
* @param changed Changed form values (a subset of form values)
* @returns An object with only the form values that changed
*/
export declare const diffChanges: (current: {
[key: string]: any;
}, changed: {
[key: string]: any;
}) => import("lodash").Dictionary;
/**
* Stubs Controller render props
*/
export declare const controllerRenderPropsStub: any;