import React from 'react';
import { FormBaseProps } from '../form-input';
import { FormProps } from 'antd/lib/form';
import { SelectProps } from 'antd/lib/select';
import { WrappedFormUtils } from 'antd/lib/form/Form';
interface FormSelectProps extends FormBaseProps, Pick<FormProps, 'labelCol' | 'wrapperCol' | 'form' | 'className' | 'style'>, Omit<SelectProps, 'placeholder'> {
    fetchApi?: Function;
    showSearch?: boolean;
    onSelect?: (value: any, option: React.ReactElement<any>, form?: WrappedFormUtils) => void;
    onChange?: (value: any, option: React.ReactElement<any> | React.ReactElement<any>[], form?: WrappedFormUtils) => void;
    onDeselect?: (value: any) => void;
    popupContainerId?: string;
    changeConfirm?: (param: {
        onCancel: Function;
        value: any;
        oldValue: any;
    }) => void;
    isFormData?: boolean;
    formDataKey?: string;
    apiParamsCb?: (value: any) => any;
    options?: any[];
    mountFetchApi?: boolean;
    isHugeOptions?: boolean;
    labelInValue?: boolean;
    normalizeGetValue?: (value: any) => any;
    normalizeSetValue?: (value: any) => any;
    normalizeDeValue?: (values: any, value: any) => any;
    normalizeRowValue?: (values: any, value: any) => any;
    selectProps?: SelectProps;
    tableConfig?: any;
}
declare const FormSelect: ({ label, labelCol, wrapperCol, allowClear, fetchApi, placeholder, showSearch, onSelect, onChange, onDeselect, mode, disabled, popupContainerId, className, form, field, changeConfirm, isFormData, formDataKey, apiParamsCb, options, mountFetchApi, isHugeOptions, labelInValue, normalizeGetValue, normalizeSetValue, normalizeDeValue, normalizeRowValue, selectProps, tableConfig, ...restProps }: FormSelectProps) => JSX.Element;
export default FormSelect;
