import { ReactNode } from 'react';
import { Select, SelectProps } from '../select/Select';
import { ValidationMessages } from '../validator/Validator';
import Option, { OptionProps } from '../option/Option';
import OptGroup from '../option/OptGroup';
import { ViewMode } from '../radio/enum';
export interface SelectBoxProps extends SelectProps {
    /**
     * 是否垂直显示
     */
    vertical?: boolean;
    mode?: ViewMode;
}
export declare class SelectBox<T extends SelectBoxProps = SelectBoxProps> extends Select<T> {
    static displayName: string;
    static defaultProps: {
        suffixCls: string;
        vertical: boolean;
        selectAllButton: boolean;
        checkValueOnOptionsChange: boolean;
        combo: boolean;
        onOption: ({ record }: {
            record: any;
        }) => {
            disabled: any;
        };
        clearButton: boolean;
        popupPlacement: string;
        triggerShowDelay: number;
        triggerHiddenDelay: number;
        viewMode: import("../trigger-field/enum").TriggerViewMode;
        multiple: boolean;
        border: boolean;
        valueChangeAction: import("../text-field/enum").ValueChangeAction;
        waitType: import("../core/enum").WaitType;
        readOnly: boolean;
        disabled: boolean;
        noValidate: boolean;
        trim: import("../data-set/enum").FieldTrim;
    };
    static Option: typeof Option;
    static OptGroup: typeof OptGroup;
    static __IS_IN_CELL_EDITOR: boolean;
    get defaultValidationMessages(): ValidationMessages;
    get searchable(): boolean;
    get name(): string | undefined;
    get mode(): ViewMode | undefined;
    isSearchFieldInPopup(): boolean | undefined;
    getOmitPropsKeys(): string[];
    getClassName(...props: any[]): string | undefined;
    getWrapperClassNamesExcludeOutput(prefixCls: any, _: any): object | undefined;
    renderSearcher(): ReactNode;
    getOptionOtherProps(_: boolean): OptionProps;
    renderWrapper(): ReactNode;
    renderSelectItems(items: ReactNode): ReactNode;
    handleQueryMore(): void;
    handleInput(e: any): void;
    handleItemChange(value: any, oldValue: any): void;
    isChecked(value: any, checkedValue: any): boolean;
    renderItem(props: any): JSX.Element;
}
export default class ObserverSelectBox extends SelectBox<SelectBoxProps> {
    static defaultProps: {
        suffixCls: string;
        vertical: boolean;
        selectAllButton: boolean;
        checkValueOnOptionsChange: boolean;
        combo: boolean;
        onOption: ({ record }: {
            record: any;
        }) => {
            disabled: any;
        };
        clearButton: boolean;
        popupPlacement: string;
        triggerShowDelay: number;
        triggerHiddenDelay: number;
        viewMode: import("../trigger-field/enum").TriggerViewMode;
        multiple: boolean;
        border: boolean;
        valueChangeAction: import("../text-field/enum").ValueChangeAction;
        waitType: import("../core/enum").WaitType;
        readOnly: boolean;
        disabled: boolean;
        noValidate: boolean;
        trim: import("../data-set/enum").FieldTrim;
    };
    static Option: typeof Option;
    static OptGroup: typeof OptGroup;
    static __IS_IN_CELL_EDITOR: boolean;
}
