/// <reference types="react" />
import type { ICommonFormFieldProps } from './interface';
import type { IValidator } from '../validation';
export interface IFormikFieldProps<T> {
    /**
     * 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 declare type IFormikFormFieldProps<T> = ICommonFormFieldProps & IFormikFieldProps<T>;
/** Returns a Validator composed of all the `validate` functions (and `isRequired` if `required` is truthy) */
export declare function createFieldValidator<T>(label: IFormikFormFieldProps<T>['label'], required: boolean, validate: IValidator[]): IValidator;
export declare function FormikFormField<T = any>(props: IFormikFormFieldProps<T>): JSX.Element;
