import type { PropType } from 'vue';
import type { TypeSelectProps } from './type';
export declare const SelectProps: {
    autoWidth: BooleanConstructor;
    borderless: BooleanConstructor;
    clearable: BooleanConstructor;
    collapsedItems: {
        type: PropType<(h: import("vue").CreateElement, props: {
            value: import("./type").SelectOption[];
            collapsedSelectedItems: import("./type").SelectOption[];
            count: number;
        }) => import("vue/types/vnode").ScopedSlotReturnValue>;
    };
    creatable: BooleanConstructor;
    disabled: BooleanConstructor;
    empty: {
        type: PropType<string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
    };
    filter: {
        type: PropType<(filterWords: string, option: import("./type").SelectOption) => boolean | Promise<boolean>>;
    };
    filterable: BooleanConstructor;
    inputProps: {
        type: PropType<import("../input").TypeInputProps>;
    };
    inputValue: {
        type: PropType<string>;
    };
    defaultInputValue: {
        type: PropType<string>;
    };
    keys: {
        type: PropType<import("./type").SelectKeysType>;
    };
    loading: BooleanConstructor;
    loadingText: {
        type: PropType<string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
    };
    max: {
        type: NumberConstructor;
        default: number;
    };
    minCollapsedNum: {
        type: NumberConstructor;
        default: number;
    };
    multiple: BooleanConstructor;
    options: {
        type: PropType<import("./type").SelectOption[]>;
    };
    panelBottomContent: {
        type: PropType<string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
    };
    panelTopContent: {
        type: PropType<string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
    };
    placeholder: {
        type: StringConstructor;
        default: String;
    };
    popupProps: {
        type: PropType<import("../popup").TypePopupProps>;
    };
    popupVisible: BooleanConstructor;
    defaultPopupVisible: BooleanConstructor;
    prefixIcon: {
        type: PropType<(h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue>;
    };
    readonly: BooleanConstructor;
    reserveKeyword: BooleanConstructor;
    scroll: {
        type: PropType<import("../../common.type").TScroll>;
    };
    selectInputProps: {
        type: PropType<import("../select-input").TypeSelectInputProps>;
    };
    showArrow: {
        type: BooleanConstructor;
        default: boolean;
    };
    size: {
        type: PropType<import("../../common.type").SizeType>;
        default: import("../../common.type").SizeType;
        validator(val: TypeSelectProps['size']): boolean;
    };
    status: {
        type: PropType<"default" | "error" | "warning" | "success">;
        validator(val: TypeSelectProps['status']): boolean;
    };
    tagInputProps: {
        type: PropType<import("../tag-input").TypeTagInputProps>;
    };
    tagProps: {
        type: PropType<import("../tag").TypeTagProps>;
    };
    tips: {
        type: PropType<string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
    };
    value: {
        type: PropType<import("./type").SelectValue<import("./type").SelectOption>>;
    };
    defaultValue: {
        type: PropType<import("./type").SelectValue<import("./type").SelectOption>>;
    };
    valueDisplay: {
        type: PropType<string | ((h: import("vue").CreateElement, props: {
            value: import("./type").SelectValue<import("./type").SelectOption>;
            onClose: (index: number, item?: any) => void;
        }) => import("vue/types/vnode").ScopedSlotReturnValue)>;
    };
    valueType: {
        type: PropType<"object" | "value">;
        default: "object" | "value";
        validator(val: TypeSelectProps['valueType']): boolean;
    };
    onBlur: PropType<(context: {
        value: import("./type").SelectValue<import("./type").SelectOption>;
        e: FocusEvent | KeyboardEvent;
    }) => void>;
    onChange: PropType<(value: import("./type").SelectValue<import("./type").SelectOption>, context: {
        option?: import("./type").SelectOption;
        selectedOptions: import("./type").SelectOption[];
        trigger: import("./type").SelectValueChangeTrigger;
        e?: MouseEvent | KeyboardEvent;
    }) => void>;
    onClear: PropType<(context: {
        e: MouseEvent;
    }) => void>;
    onCreate: PropType<(value: string | number) => void>;
    onEnter: PropType<(context: {
        inputValue: string;
        e: KeyboardEvent;
        value: import("./type").SelectValue<import("./type").SelectOption>;
    }) => void>;
    onFocus: PropType<(context: {
        value: import("./type").SelectValue<import("./type").SelectOption>;
        e: FocusEvent | KeyboardEvent;
    }) => void>;
    onInputChange: PropType<(value: string, context?: import("../select-input").SelectInputValueChangeContext) => void>;
    onPopupVisibleChange: PropType<(visible: boolean, context: import("../popup").PopupVisibleChangeContext) => void>;
    onRemove: PropType<(options: import("./type").SelectRemoveContext<import("./type").SelectOption>) => void>;
    onSearch: PropType<(filterWords: string) => void>;
};
export declare const SelectOptionGroupProps: {
    divider: {
        type: BooleanConstructor;
        default: boolean;
    };
    label: {
        type: StringConstructor;
        default: string;
    };
};
export declare const SelectOptionProps: {
    checkAll: BooleanConstructor;
    content: {
        type: PropType<string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
    };
    default: {
        type: PropType<string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
    };
    disabled: BooleanConstructor;
    label: {
        type: StringConstructor;
        default: string;
    };
    value: {
        type: PropType<string | number>;
    };
};
declare const _default: {
    SelectProps: {
        autoWidth: BooleanConstructor;
        borderless: BooleanConstructor;
        clearable: BooleanConstructor;
        collapsedItems: {
            type: PropType<(h: import("vue").CreateElement, props: {
                value: import("./type").SelectOption[];
                collapsedSelectedItems: import("./type").SelectOption[];
                count: number;
            }) => import("vue/types/vnode").ScopedSlotReturnValue>;
        };
        creatable: BooleanConstructor;
        disabled: BooleanConstructor;
        empty: {
            type: PropType<string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
        };
        filter: {
            type: PropType<(filterWords: string, option: import("./type").SelectOption) => boolean | Promise<boolean>>;
        };
        filterable: BooleanConstructor;
        inputProps: {
            type: PropType<import("../input").TypeInputProps>;
        };
        inputValue: {
            type: PropType<string>;
        };
        defaultInputValue: {
            type: PropType<string>;
        };
        keys: {
            type: PropType<import("./type").SelectKeysType>;
        };
        loading: BooleanConstructor;
        loadingText: {
            type: PropType<string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
        };
        max: {
            type: NumberConstructor;
            default: number;
        };
        minCollapsedNum: {
            type: NumberConstructor;
            default: number;
        };
        multiple: BooleanConstructor;
        options: {
            type: PropType<import("./type").SelectOption[]>;
        };
        panelBottomContent: {
            type: PropType<string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
        };
        panelTopContent: {
            type: PropType<string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
        };
        placeholder: {
            type: StringConstructor;
            default: String;
        };
        popupProps: {
            type: PropType<import("../popup").TypePopupProps>;
        };
        popupVisible: BooleanConstructor;
        defaultPopupVisible: BooleanConstructor;
        prefixIcon: {
            type: PropType<(h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue>;
        };
        readonly: BooleanConstructor;
        reserveKeyword: BooleanConstructor;
        scroll: {
            type: PropType<import("../../common.type").TScroll>;
        };
        selectInputProps: {
            type: PropType<import("../select-input").TypeSelectInputProps>;
        };
        showArrow: {
            type: BooleanConstructor;
            default: boolean;
        };
        size: {
            type: PropType<import("../../common.type").SizeType>;
            default: import("../../common.type").SizeType;
            validator(val: import("../../common.type").SizeType): boolean;
        };
        status: {
            type: PropType<"default" | "error" | "warning" | "success">;
            validator(val: "default" | "error" | "warning" | "success"): boolean;
        };
        tagInputProps: {
            type: PropType<import("../tag-input").TypeTagInputProps>;
        };
        tagProps: {
            type: PropType<import("../tag").TypeTagProps>;
        };
        tips: {
            type: PropType<string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
        };
        value: {
            type: PropType<import("./type").SelectValue<import("./type").SelectOption>>;
        };
        defaultValue: {
            type: PropType<import("./type").SelectValue<import("./type").SelectOption>>;
        };
        valueDisplay: {
            type: PropType<string | ((h: import("vue").CreateElement, props: {
                value: import("./type").SelectValue<import("./type").SelectOption>;
                onClose: (index: number, item?: any) => void;
            }) => import("vue/types/vnode").ScopedSlotReturnValue)>;
        };
        valueType: {
            type: PropType<"object" | "value">;
            default: "object" | "value";
            validator(val: "object" | "value"): boolean;
        };
        onBlur: PropType<(context: {
            value: import("./type").SelectValue<import("./type").SelectOption>;
            e: FocusEvent | KeyboardEvent;
        }) => void>;
        onChange: PropType<(value: import("./type").SelectValue<import("./type").SelectOption>, context: {
            option?: import("./type").SelectOption;
            selectedOptions: import("./type").SelectOption[];
            trigger: import("./type").SelectValueChangeTrigger;
            e?: MouseEvent | KeyboardEvent;
        }) => void>;
        onClear: PropType<(context: {
            e: MouseEvent;
        }) => void>;
        onCreate: PropType<(value: string | number) => void>;
        onEnter: PropType<(context: {
            inputValue: string;
            e: KeyboardEvent;
            value: import("./type").SelectValue<import("./type").SelectOption>;
        }) => void>;
        onFocus: PropType<(context: {
            value: import("./type").SelectValue<import("./type").SelectOption>;
            e: FocusEvent | KeyboardEvent;
        }) => void>;
        onInputChange: PropType<(value: string, context?: import("../select-input").SelectInputValueChangeContext) => void>;
        onPopupVisibleChange: PropType<(visible: boolean, context: import("../popup").PopupVisibleChangeContext) => void>;
        onRemove: PropType<(options: import("./type").SelectRemoveContext<import("./type").SelectOption>) => void>;
        onSearch: PropType<(filterWords: string) => void>;
    };
    SelectOptionGroupProps: {
        divider: {
            type: BooleanConstructor;
            default: boolean;
        };
        label: {
            type: StringConstructor;
            default: string;
        };
    };
    SelectOptionProps: {
        checkAll: BooleanConstructor;
        content: {
            type: PropType<string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
        };
        default: {
            type: PropType<string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
        };
        disabled: BooleanConstructor;
        label: {
            type: StringConstructor;
            default: string;
        };
        value: {
            type: PropType<string | number>;
        };
    };
};
export default _default;
