///
import type { Option, OptionValues, ReactSelectProps } from 'react-select';
import type { IFormInputProps, OmitControlledInputPropsFrom } from './interface';
export interface IReactSelectInputProps extends IFormInputProps, OmitControlledInputPropsFrom> {
stringOptions?: string[];
mode?: 'TETHERED' | 'VIRTUALIZED' | 'PLAIN' | 'CREATABLE';
}
export declare const reactSelectValidationErrorStyle: {
borderColor: string;
WebkitBoxShadow: string;
boxShadow: string;
};
/**
* Given a IControlledInputProps "field" (i.e., from Formik), returns an onChange handler
* somewhat compatible with the controlled input pattern
*/
export declare const reactSelectOnChangeAdapter: (name: string, onChange: IReactSelectInputProps['onChange']) => (selection: Option | Option[]) => any;
/**
* Given a IControlledInputProps "field" (i.e., from Formik), returns an onBlur handler
* somewhat compatible with the controlled input pattern
*/
export declare const reactSelectOnBlurAdapter: (name: string, value: any, onBlur: IReactSelectInputProps['onBlur']) => () => any;
/**
* A react-select Input
*
* This input supports error validation state rendering. It adapts the onChange event to a controlled input event.
*
* This component does not attempt to support async loading
*/
export declare function ReactSelectInput(props: IReactSelectInputProps): JSX.Element;