///
import { FormikConfig, FormikHelpers } from 'formik';
import * as yup from 'yup';
export declare type FormFieldType = 'boolean' | 'string' | 'number' | 'date' | 'file' | 'files' | 'array' | 'object';
declare type AnySchema = yup.Schema;
export interface ICreateFormOptions {
fields: {
[key in keyof T]: FormFieldType;
};
validation?: {
[key in keyof T]?: AnySchema;
};
}
export declare function createForm(options: ICreateFormOptions, modifyValidation?: (schema: yup.ObjectSchema) => void): (props: Pick, "children" | "validate" | "component" | "render" | "initialStatus" | "initialErrors" | "initialTouched" | "onReset" | "innerRef" | "validateOnChange" | "validateOnBlur" | "validateOnMount" | "isInitialValid" | "enableReinitialize"> & {
initialValues?: any;
onSubmit: (values: any, formikHelpers: FormikHelpers) => void | Promise;
}) => JSX.Element;
export {};