///
import type { ICommonFormFieldProps } from './interface';
import type { IValidator } from '../validation';
export interface IFormikFieldProps {
/**
* The name/path to the field in the Formik form.
* Accepts lodash paths; see: https://lodash.com/docs/#get
*/
name: string;
/**
* Toggles between `Field` (false) and `FastField` (true)
* Defaults to `FastField` (true)
*
* Use `fastField={true}` if the field doesn't depend on any other fields or external (i.e., async) data
* See: https://jaredpalmer.com/formik/docs/api/fastfield#when-to-use-fastfield
*/
fastField?: boolean;
/** A callback that is invoked whenever the field value changes */
onChange?: (value: T, prevValue: T) => void;
/** Configures SpEL-awareness of the input.
* Overrides configuration set on FormikSpelContext.
*/
spelAware?: boolean;
}
export type IFormikFormFieldProps = ICommonFormFieldProps & IFormikFieldProps;
/** Returns a Validator composed of all the `validate` functions (and `isRequired` if `required` is truthy) */
export declare function createFieldValidator(label: IFormikFormFieldProps['label'], required: boolean, validate: IValidator[]): IValidator;
export declare function FormikFormField(props: IFormikFormFieldProps): JSX.Element;