import { ReactElement } from 'react';
import type { SelectKeysType, SelectOption, SelectValue, TdOptionProps, TdSelectProps } from '../type';
export type ValueToOption = {
    [value: string | number]: TdOptionProps;
};
export declare const getKeyMapping: (keys: SelectKeysType) => {
    valueKey: string;
    labelKey: string;
    disabledKey: string;
};
export declare const setValueToOptionFormOptionDom: (dom: ReactElement, valueToOption: ValueToOption, keys: SelectKeysType) => void;
export declare const getValueToOption: (children: ReactElement, options: SelectOption[], keys: SelectKeysType) => ValueToOption;
export declare const getLabel: (children: ReactElement, value: SelectValue<TdOptionProps>, options: TdOptionProps[], keys: SelectKeysType) => string;
export declare const getMultipleTags: (values: SelectValue[], keys: SelectKeysType) => {
    label: any;
    value: any;
}[];
/**
 * 计算多选时的 `value` 数组
 */
export declare const getSelectValueArr: (values: SelectValue | SelectValue[], activeValue: SelectValue, selected?: boolean, valueType?: TdSelectProps["valueType"], keys?: SelectKeysType, objVal?: SelectValue) => any[];
/**
 * 计算 `onChange` 事件回调的 `selectedOptions` 参数
 * @param value 所有已选中的值
 * @param selectedValue 当前选择/取消选择的特定选项
 */
export declare const getSelectedOptions: (value: SelectValue, multiple: TdSelectProps["multiple"], valueType: TdSelectProps["valueType"], keys: SelectKeysType, valueToOption: ValueToOption, selectedValue?: SelectValue) => {
    currentSelectedOptions: any[];
    currentOption: SelectOption;
    allSelectedValue: SelectValue[];
};
