import React from 'react';
import FormControlBasic from '../form-control/form-control-basic';
export interface SelectorValueItem {
    value: any;
    text: any;
}
export declare type SelectorValuesDescription = {
    /** value 为显示的 title */
    [value: string]: any;
} | SelectorValueItem[];
export interface SelectorBasicProps {
    /** Selector 的基本要素 */
    values?: SelectorValuesDescription;
    /** 默认值 */
    defaultValue?: any;
    /** 与 React 受控组件行为一致，详情请参考 react 受控控件 https://reactjs.org/docs/forms.html */
    value?: any;
    /** className */
    className?: string;
    /** 是否输出 number 类型 */
    isNum?: boolean;
    /** 是否可以多选 */
    isMultiple?: boolean;
    /** style */
    style?: React.CSSProperties;
    /** onChange callback */
    onChange?: (...args: any[]) => void;
}
export interface SelectorBasicState {
    selectedValue: any;
}
export default class SelectorBasic<P extends SelectorBasicProps, S = SelectorBasicState, SS = {}> extends FormControlBasic<P, S & SelectorBasicState, SS> {
    values: any;
    valuesObj: any;
    onChangeValue: any;
    state: any;
    constructor(props: any);
    shouldComponentUpdate(nextProps: any, prevState: any): boolean;
    changeValue: (value?: any, idx?: any) => void;
    wrapValues(values?: P["values"]): {
        valArr: any;
        valObj: any;
    };
    wrapObjValToArr(values: any): {};
    wrapArrayValToObj: (values: any) => {};
    /**
     * 选择器统一的更改 value 接口，会自动根据自身是否受控组件来更改
     * @param {*} nextValue 下一个 value
     * @param  {...any} other
     */
    changeEvent: (nextValue: any, ...other: any[]) => void;
    emitChange: (...args: any[]) => void;
    selectAll(): void;
    clearAll(): void;
    checkIsSelectedAll(): boolean;
}
