import type { SelectOption, TdOptionGroupProps, TdOptionProps, TdSelectProps } from './type';
import './style';
export * from './type';
export declare type SelectProps<T = SelectOption> = TdSelectProps<T>;
export declare type OptionProps = TdOptionProps;
export declare type OptionGroupProps = TdOptionGroupProps;
export declare const Select: {
    new (...args: any[]): {
        $: import("vue").ComponentInternalInstance;
        $data: {};
        $props: Partial<{
            max: number;
            value: string | number | import("..").PlainObject | TdOptionProps | import("./type").SelectOptionGroup | import("./type").SelectValue<SelectOption>[];
            loading: boolean;
            autofocus: boolean;
            disabled: boolean;
            multiple: boolean;
            options: SelectOption[];
            size: import("..").SizeEnum;
            readonly: boolean;
            status: "error" | "default" | "success" | "warning";
            placeholder: string;
            modelValue: string | number | import("..").PlainObject | TdOptionProps | import("./type").SelectOptionGroup | import("./type").SelectValue<SelectOption>[];
            showArrow: boolean;
            autoWidth: boolean;
            clearable: boolean;
            inputValue: string;
            minCollapsedNum: number;
            borderless: boolean;
            popupVisible: boolean;
            defaultPopupVisible: boolean;
            valueType: "object" | "value";
            reserveKeyword: boolean;
            creatable: boolean;
            filterable: boolean;
            bordered: boolean;
        }> & Omit<Readonly<import("vue").ExtractPropTypes<{
            autoWidth: BooleanConstructor;
            autofocus: BooleanConstructor;
            bordered: {
                type: BooleanConstructor;
                default: boolean;
            };
            borderless: BooleanConstructor;
            clearable: BooleanConstructor;
            collapsedItems: {
                type: import("vue").PropType<(h: typeof import("vue").h, props: {
                    value: SelectOption[];
                    collapsedSelectedItems: SelectOption[];
                    count: number;
                }) => import("..").SlotReturnValue>;
            };
            creatable: BooleanConstructor;
            disabled: BooleanConstructor;
            empty: {
                type: import("vue").PropType<string | ((h: typeof import("vue").h) => import("..").SlotReturnValue)>;
            };
            filter: {
                type: import("vue").PropType<(filterWords: string, option: SelectOption) => boolean | Promise<boolean>>;
            };
            filterable: BooleanConstructor;
            inputProps: {
                type: import("vue").PropType<import("..").TdInputProps>;
            };
            inputValue: {
                type: import("vue").PropType<string>;
                default: any;
            };
            defaultInputValue: {
                type: import("vue").PropType<string>;
            };
            keys: {
                type: import("vue").PropType<import("./type").SelectKeysType>;
            };
            label: {
                type: import("vue").PropType<string | ((h: typeof import("vue").h) => import("..").SlotReturnValue)>;
            };
            loading: BooleanConstructor;
            loadingText: {
                type: import("vue").PropType<string | ((h: typeof import("vue").h) => import("..").SlotReturnValue)>;
            };
            max: {
                type: NumberConstructor;
                default: number;
            };
            minCollapsedNum: {
                type: NumberConstructor;
                default: number;
            };
            multiple: BooleanConstructor;
            options: {
                type: import("vue").PropType<SelectOption[]>;
                default: () => SelectOption[];
            };
            panelBottomContent: {
                type: import("vue").PropType<string | ((h: typeof import("vue").h) => import("..").SlotReturnValue)>;
            };
            panelTopContent: {
                type: import("vue").PropType<string | ((h: typeof import("vue").h) => import("..").SlotReturnValue)>;
            };
            placeholder: {
                type: StringConstructor;
                default: any;
            };
            popupProps: {
                type: import("vue").PropType<import("..").TdPopupProps>;
            };
            popupVisible: {
                type: BooleanConstructor;
                default: any;
            };
            defaultPopupVisible: BooleanConstructor;
            prefixIcon: {
                type: import("vue").PropType<(h: typeof import("vue").h) => import("..").SlotReturnValue>;
            };
            readonly: BooleanConstructor;
            reserveKeyword: BooleanConstructor;
            scroll: {
                type: import("vue").PropType<import("..").InfinityScroll>;
            };
            selectInputProps: {
                type: import("vue").PropType<import("..").TdSelectInputProps>;
            };
            showArrow: {
                type: BooleanConstructor;
                default: boolean;
            };
            size: {
                type: import("vue").PropType<import("..").SizeEnum>;
                default: import("..").SizeEnum;
                validator(val: import("..").SizeEnum): boolean;
            };
            status: {
                type: import("vue").PropType<"error" | "default" | "success" | "warning">;
                default: "error" | "default" | "success" | "warning";
                validator(val: "error" | "default" | "success" | "warning"): boolean;
            };
            suffix: {
                type: import("vue").PropType<string | ((h: typeof import("vue").h) => import("..").SlotReturnValue)>;
            };
            suffixIcon: {
                type: import("vue").PropType<(h: typeof import("vue").h) => import("..").SlotReturnValue>;
            };
            tagInputProps: {
                type: import("vue").PropType<import("..").TdTagInputProps>;
            };
            tagProps: {
                type: import("vue").PropType<import("..").TdTagProps>;
            };
            tips: {
                type: import("vue").PropType<string | ((h: typeof import("vue").h) => import("..").SlotReturnValue)>;
            };
            value: {
                type: import("vue").PropType<import("./type").SelectValue<SelectOption>>;
                default: import("./type").SelectValue<SelectOption>;
            };
            modelValue: {
                type: import("vue").PropType<import("./type").SelectValue<SelectOption>>;
                default: import("./type").SelectValue<SelectOption>;
            };
            defaultValue: {
                type: import("vue").PropType<import("./type").SelectValue<SelectOption>>;
            };
            valueDisplay: {
                type: import("vue").PropType<string | ((h: typeof import("vue").h, props: {
                    value: import("./type").SelectValue<SelectOption>;
                    onClose: (index: number) => void;
                    displayValue?: import("./type").SelectValue<SelectOption>;
                }) => import("..").SlotReturnValue)>;
            };
            valueType: {
                type: import("vue").PropType<"object" | "value">;
                default: "object" | "value";
                validator(val: "object" | "value"): boolean;
            };
            onBlur: import("vue").PropType<(context: {
                value: import("./type").SelectValue<SelectOption>;
                e: FocusEvent | KeyboardEvent;
            }) => void>;
            onChange: import("vue").PropType<(value: import("./type").SelectValue<SelectOption>, context: {
                option?: SelectOption;
                selectedOptions: SelectOption[];
                trigger: import("./type").SelectValueChangeTrigger;
                e?: MouseEvent | KeyboardEvent;
            }) => void>;
            onClear: import("vue").PropType<(context: {
                e: MouseEvent;
            }) => void>;
            onCreate: import("vue").PropType<(value: string | number) => void>;
            onEnter: import("vue").PropType<(context: {
                inputValue: string;
                e: KeyboardEvent;
                value: import("./type").SelectValue<SelectOption>;
            }) => void>;
            onFocus: import("vue").PropType<(context: {
                value: import("./type").SelectValue<SelectOption>;
                e: FocusEvent | KeyboardEvent;
            }) => void>;
            onInputChange: import("vue").PropType<(value: string, context?: import("..").SelectInputValueChangeContext) => void>;
            onPopupVisibleChange: import("vue").PropType<(visible: boolean, context: import("..").PopupVisibleChangeContext) => void>;
            onRemove: import("vue").PropType<(options: import("./type").SelectRemoveContext<SelectOption>) => void>;
            onSearch: import("vue").PropType<(filterWords: string, context: {
                e: KeyboardEvent;
            }) => void>;
            onVisibleChange: import("vue").PropType<(visible: boolean) => void>;
        }>> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "max" | "value" | "loading" | "autofocus" | "disabled" | "multiple" | "options" | "size" | "readonly" | "status" | "placeholder" | "modelValue" | "showArrow" | "autoWidth" | "clearable" | "inputValue" | "minCollapsedNum" | "borderless" | "popupVisible" | "defaultPopupVisible" | "valueType" | "reserveKeyword" | "creatable" | "filterable" | "bordered">;
        $attrs: {
            [x: string]: unknown;
        };
        $refs: {
            [x: string]: unknown;
        };
        $slots: Readonly<{
            [name: string]: import("vue").Slot;
        }>;
        $root: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}>;
        $parent: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}>;
        $emit: (event: string, ...args: any[]) => void;
        $el: any;
        $options: import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
            autoWidth: BooleanConstructor;
            autofocus: BooleanConstructor;
            bordered: {
                type: BooleanConstructor;
                default: boolean;
            };
            borderless: BooleanConstructor;
            clearable: BooleanConstructor;
            collapsedItems: {
                type: import("vue").PropType<(h: typeof import("vue").h, props: {
                    value: SelectOption[];
                    collapsedSelectedItems: SelectOption[];
                    count: number;
                }) => import("..").SlotReturnValue>;
            };
            creatable: BooleanConstructor;
            disabled: BooleanConstructor;
            empty: {
                type: import("vue").PropType<string | ((h: typeof import("vue").h) => import("..").SlotReturnValue)>;
            };
            filter: {
                type: import("vue").PropType<(filterWords: string, option: SelectOption) => boolean | Promise<boolean>>;
            };
            filterable: BooleanConstructor;
            inputProps: {
                type: import("vue").PropType<import("..").TdInputProps>;
            };
            inputValue: {
                type: import("vue").PropType<string>;
                default: any;
            };
            defaultInputValue: {
                type: import("vue").PropType<string>;
            };
            keys: {
                type: import("vue").PropType<import("./type").SelectKeysType>;
            };
            label: {
                type: import("vue").PropType<string | ((h: typeof import("vue").h) => import("..").SlotReturnValue)>;
            };
            loading: BooleanConstructor;
            loadingText: {
                type: import("vue").PropType<string | ((h: typeof import("vue").h) => import("..").SlotReturnValue)>;
            };
            max: {
                type: NumberConstructor;
                default: number;
            };
            minCollapsedNum: {
                type: NumberConstructor;
                default: number;
            };
            multiple: BooleanConstructor;
            options: {
                type: import("vue").PropType<SelectOption[]>;
                default: () => SelectOption[];
            };
            panelBottomContent: {
                type: import("vue").PropType<string | ((h: typeof import("vue").h) => import("..").SlotReturnValue)>;
            };
            panelTopContent: {
                type: import("vue").PropType<string | ((h: typeof import("vue").h) => import("..").SlotReturnValue)>;
            };
            placeholder: {
                type: StringConstructor;
                default: any;
            };
            popupProps: {
                type: import("vue").PropType<import("..").TdPopupProps>;
            };
            popupVisible: {
                type: BooleanConstructor;
                default: any;
            };
            defaultPopupVisible: BooleanConstructor;
            prefixIcon: {
                type: import("vue").PropType<(h: typeof import("vue").h) => import("..").SlotReturnValue>;
            };
            readonly: BooleanConstructor;
            reserveKeyword: BooleanConstructor;
            scroll: {
                type: import("vue").PropType<import("..").InfinityScroll>;
            };
            selectInputProps: {
                type: import("vue").PropType<import("..").TdSelectInputProps>;
            };
            showArrow: {
                type: BooleanConstructor;
                default: boolean;
            };
            size: {
                type: import("vue").PropType<import("..").SizeEnum>;
                default: import("..").SizeEnum;
                validator(val: import("..").SizeEnum): boolean;
            };
            status: {
                type: import("vue").PropType<"error" | "default" | "success" | "warning">;
                default: "error" | "default" | "success" | "warning";
                validator(val: "error" | "default" | "success" | "warning"): boolean;
            };
            suffix: {
                type: import("vue").PropType<string | ((h: typeof import("vue").h) => import("..").SlotReturnValue)>;
            };
            suffixIcon: {
                type: import("vue").PropType<(h: typeof import("vue").h) => import("..").SlotReturnValue>;
            };
            tagInputProps: {
                type: import("vue").PropType<import("..").TdTagInputProps>;
            };
            tagProps: {
                type: import("vue").PropType<import("..").TdTagProps>;
            };
            tips: {
                type: import("vue").PropType<string | ((h: typeof import("vue").h) => import("..").SlotReturnValue)>;
            };
            value: {
                type: import("vue").PropType<import("./type").SelectValue<SelectOption>>;
                default: import("./type").SelectValue<SelectOption>;
            };
            modelValue: {
                type: import("vue").PropType<import("./type").SelectValue<SelectOption>>;
                default: import("./type").SelectValue<SelectOption>;
            };
            defaultValue: {
                type: import("vue").PropType<import("./type").SelectValue<SelectOption>>;
            };
            valueDisplay: {
                type: import("vue").PropType<string | ((h: typeof import("vue").h, props: {
                    value: import("./type").SelectValue<SelectOption>;
                    onClose: (index: number) => void;
                    displayValue?: import("./type").SelectValue<SelectOption>;
                }) => import("..").SlotReturnValue)>;
            };
            valueType: {
                type: import("vue").PropType<"object" | "value">;
                default: "object" | "value";
                validator(val: "object" | "value"): boolean;
            };
            onBlur: import("vue").PropType<(context: {
                value: import("./type").SelectValue<SelectOption>;
                e: FocusEvent | KeyboardEvent;
            }) => void>;
            onChange: import("vue").PropType<(value: import("./type").SelectValue<SelectOption>, context: {
                option?: SelectOption;
                selectedOptions: SelectOption[];
                trigger: import("./type").SelectValueChangeTrigger;
                e?: MouseEvent | KeyboardEvent;
            }) => void>;
            onClear: import("vue").PropType<(context: {
                e: MouseEvent;
            }) => void>;
            onCreate: import("vue").PropType<(value: string | number) => void>;
            onEnter: import("vue").PropType<(context: {
                inputValue: string;
                e: KeyboardEvent;
                value: import("./type").SelectValue<SelectOption>;
            }) => void>;
            onFocus: import("vue").PropType<(context: {
                value: import("./type").SelectValue<SelectOption>;
                e: FocusEvent | KeyboardEvent;
            }) => void>;
            onInputChange: import("vue").PropType<(value: string, context?: import("..").SelectInputValueChangeContext) => void>;
            onPopupVisibleChange: import("vue").PropType<(visible: boolean, context: import("..").PopupVisibleChangeContext) => void>;
            onRemove: import("vue").PropType<(options: import("./type").SelectRemoveContext<SelectOption>) => void>;
            onSearch: import("vue").PropType<(filterWords: string, context: {
                e: KeyboardEvent;
            }) => void>;
            onVisibleChange: import("vue").PropType<(visible: boolean) => void>;
        }>>, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
            max: number;
            value: string | number | import("..").PlainObject | TdOptionProps | import("./type").SelectOptionGroup | import("./type").SelectValue<SelectOption>[];
            loading: boolean;
            autofocus: boolean;
            disabled: boolean;
            multiple: boolean;
            options: SelectOption[];
            size: import("..").SizeEnum;
            readonly: boolean;
            status: "error" | "default" | "success" | "warning";
            placeholder: string;
            modelValue: string | number | import("..").PlainObject | TdOptionProps | import("./type").SelectOptionGroup | import("./type").SelectValue<SelectOption>[];
            showArrow: boolean;
            autoWidth: boolean;
            clearable: boolean;
            inputValue: string;
            minCollapsedNum: number;
            borderless: boolean;
            popupVisible: boolean;
            defaultPopupVisible: boolean;
            valueType: "object" | "value";
            reserveKeyword: boolean;
            creatable: boolean;
            filterable: boolean;
            bordered: boolean;
        }, {}, string> & {
            beforeCreate?: (() => void) | (() => void)[];
            created?: (() => void) | (() => void)[];
            beforeMount?: (() => void) | (() => void)[];
            mounted?: (() => void) | (() => void)[];
            beforeUpdate?: (() => void) | (() => void)[];
            updated?: (() => void) | (() => void)[];
            activated?: (() => void) | (() => void)[];
            deactivated?: (() => void) | (() => void)[];
            beforeDestroy?: (() => void) | (() => void)[];
            beforeUnmount?: (() => void) | (() => void)[];
            destroyed?: (() => void) | (() => void)[];
            unmounted?: (() => void) | (() => void)[];
            renderTracked?: ((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[];
            renderTriggered?: ((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[];
            errorCaptured?: ((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}>, info: string) => boolean | void) | ((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}>, info: string) => boolean | void)[];
        };
        $forceUpdate: () => void;
        $nextTick: typeof import("vue").nextTick;
        $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (args_0: R, args_1: R) => any : (...args: any) => any, options?: import("vue").WatchOptions<boolean>): import("vue").WatchStopHandle;
    } & Readonly<import("vue").ExtractPropTypes<{
        autoWidth: BooleanConstructor;
        autofocus: BooleanConstructor;
        bordered: {
            type: BooleanConstructor;
            default: boolean;
        };
        borderless: BooleanConstructor;
        clearable: BooleanConstructor;
        collapsedItems: {
            type: import("vue").PropType<(h: typeof import("vue").h, props: {
                value: SelectOption[];
                collapsedSelectedItems: SelectOption[];
                count: number;
            }) => import("..").SlotReturnValue>;
        };
        creatable: BooleanConstructor;
        disabled: BooleanConstructor;
        empty: {
            type: import("vue").PropType<string | ((h: typeof import("vue").h) => import("..").SlotReturnValue)>;
        };
        filter: {
            type: import("vue").PropType<(filterWords: string, option: SelectOption) => boolean | Promise<boolean>>;
        };
        filterable: BooleanConstructor;
        inputProps: {
            type: import("vue").PropType<import("..").TdInputProps>;
        };
        inputValue: {
            type: import("vue").PropType<string>;
            default: any;
        };
        defaultInputValue: {
            type: import("vue").PropType<string>;
        };
        keys: {
            type: import("vue").PropType<import("./type").SelectKeysType>;
        };
        label: {
            type: import("vue").PropType<string | ((h: typeof import("vue").h) => import("..").SlotReturnValue)>;
        };
        loading: BooleanConstructor;
        loadingText: {
            type: import("vue").PropType<string | ((h: typeof import("vue").h) => import("..").SlotReturnValue)>;
        };
        max: {
            type: NumberConstructor;
            default: number;
        };
        minCollapsedNum: {
            type: NumberConstructor;
            default: number;
        };
        multiple: BooleanConstructor;
        options: {
            type: import("vue").PropType<SelectOption[]>;
            default: () => SelectOption[];
        };
        panelBottomContent: {
            type: import("vue").PropType<string | ((h: typeof import("vue").h) => import("..").SlotReturnValue)>;
        };
        panelTopContent: {
            type: import("vue").PropType<string | ((h: typeof import("vue").h) => import("..").SlotReturnValue)>;
        };
        placeholder: {
            type: StringConstructor;
            default: any;
        };
        popupProps: {
            type: import("vue").PropType<import("..").TdPopupProps>;
        };
        popupVisible: {
            type: BooleanConstructor;
            default: any;
        };
        defaultPopupVisible: BooleanConstructor;
        prefixIcon: {
            type: import("vue").PropType<(h: typeof import("vue").h) => import("..").SlotReturnValue>;
        };
        readonly: BooleanConstructor;
        reserveKeyword: BooleanConstructor;
        scroll: {
            type: import("vue").PropType<import("..").InfinityScroll>;
        };
        selectInputProps: {
            type: import("vue").PropType<import("..").TdSelectInputProps>;
        };
        showArrow: {
            type: BooleanConstructor;
            default: boolean;
        };
        size: {
            type: import("vue").PropType<import("..").SizeEnum>;
            default: import("..").SizeEnum;
            validator(val: import("..").SizeEnum): boolean;
        };
        status: {
            type: import("vue").PropType<"error" | "default" | "success" | "warning">;
            default: "error" | "default" | "success" | "warning";
            validator(val: "error" | "default" | "success" | "warning"): boolean;
        };
        suffix: {
            type: import("vue").PropType<string | ((h: typeof import("vue").h) => import("..").SlotReturnValue)>;
        };
        suffixIcon: {
            type: import("vue").PropType<(h: typeof import("vue").h) => import("..").SlotReturnValue>;
        };
        tagInputProps: {
            type: import("vue").PropType<import("..").TdTagInputProps>;
        };
        tagProps: {
            type: import("vue").PropType<import("..").TdTagProps>;
        };
        tips: {
            type: import("vue").PropType<string | ((h: typeof import("vue").h) => import("..").SlotReturnValue)>;
        };
        value: {
            type: import("vue").PropType<import("./type").SelectValue<SelectOption>>;
            default: import("./type").SelectValue<SelectOption>;
        };
        modelValue: {
            type: import("vue").PropType<import("./type").SelectValue<SelectOption>>;
            default: import("./type").SelectValue<SelectOption>;
        };
        defaultValue: {
            type: import("vue").PropType<import("./type").SelectValue<SelectOption>>;
        };
        valueDisplay: {
            type: import("vue").PropType<string | ((h: typeof import("vue").h, props: {
                value: import("./type").SelectValue<SelectOption>;
                onClose: (index: number) => void;
                displayValue?: import("./type").SelectValue<SelectOption>;
            }) => import("..").SlotReturnValue)>;
        };
        valueType: {
            type: import("vue").PropType<"object" | "value">;
            default: "object" | "value";
            validator(val: "object" | "value"): boolean;
        };
        onBlur: import("vue").PropType<(context: {
            value: import("./type").SelectValue<SelectOption>;
            e: FocusEvent | KeyboardEvent;
        }) => void>;
        onChange: import("vue").PropType<(value: import("./type").SelectValue<SelectOption>, context: {
            option?: SelectOption;
            selectedOptions: SelectOption[];
            trigger: import("./type").SelectValueChangeTrigger;
            e?: MouseEvent | KeyboardEvent;
        }) => void>;
        onClear: import("vue").PropType<(context: {
            e: MouseEvent;
        }) => void>;
        onCreate: import("vue").PropType<(value: string | number) => void>;
        onEnter: import("vue").PropType<(context: {
            inputValue: string;
            e: KeyboardEvent;
            value: import("./type").SelectValue<SelectOption>;
        }) => void>;
        onFocus: import("vue").PropType<(context: {
            value: import("./type").SelectValue<SelectOption>;
            e: FocusEvent | KeyboardEvent;
        }) => void>;
        onInputChange: import("vue").PropType<(value: string, context?: import("..").SelectInputValueChangeContext) => void>;
        onPopupVisibleChange: import("vue").PropType<(visible: boolean, context: import("..").PopupVisibleChangeContext) => void>;
        onRemove: import("vue").PropType<(options: import("./type").SelectRemoveContext<SelectOption>) => void>;
        onSearch: import("vue").PropType<(filterWords: string, context: {
            e: KeyboardEvent;
        }) => void>;
        onVisibleChange: import("vue").PropType<(visible: boolean) => void>;
    }>> & import("vue").ShallowUnwrapRef<() => JSX.Element> & {} & import("vue").ComponentCustomProperties & {};
    __isFragment?: never;
    __isTeleport?: never;
    __isSuspense?: never;
} & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
    autoWidth: BooleanConstructor;
    autofocus: BooleanConstructor;
    bordered: {
        type: BooleanConstructor;
        default: boolean;
    };
    borderless: BooleanConstructor;
    clearable: BooleanConstructor;
    collapsedItems: {
        type: import("vue").PropType<(h: typeof import("vue").h, props: {
            value: SelectOption[];
            collapsedSelectedItems: SelectOption[];
            count: number;
        }) => import("..").SlotReturnValue>;
    };
    creatable: BooleanConstructor;
    disabled: BooleanConstructor;
    empty: {
        type: import("vue").PropType<string | ((h: typeof import("vue").h) => import("..").SlotReturnValue)>;
    };
    filter: {
        type: import("vue").PropType<(filterWords: string, option: SelectOption) => boolean | Promise<boolean>>;
    };
    filterable: BooleanConstructor;
    inputProps: {
        type: import("vue").PropType<import("..").TdInputProps>;
    };
    inputValue: {
        type: import("vue").PropType<string>;
        default: any;
    };
    defaultInputValue: {
        type: import("vue").PropType<string>;
    };
    keys: {
        type: import("vue").PropType<import("./type").SelectKeysType>;
    };
    label: {
        type: import("vue").PropType<string | ((h: typeof import("vue").h) => import("..").SlotReturnValue)>;
    };
    loading: BooleanConstructor;
    loadingText: {
        type: import("vue").PropType<string | ((h: typeof import("vue").h) => import("..").SlotReturnValue)>;
    };
    max: {
        type: NumberConstructor;
        default: number;
    };
    minCollapsedNum: {
        type: NumberConstructor;
        default: number;
    };
    multiple: BooleanConstructor;
    options: {
        type: import("vue").PropType<SelectOption[]>;
        default: () => SelectOption[];
    };
    panelBottomContent: {
        type: import("vue").PropType<string | ((h: typeof import("vue").h) => import("..").SlotReturnValue)>;
    };
    panelTopContent: {
        type: import("vue").PropType<string | ((h: typeof import("vue").h) => import("..").SlotReturnValue)>;
    };
    placeholder: {
        type: StringConstructor;
        default: any;
    };
    popupProps: {
        type: import("vue").PropType<import("..").TdPopupProps>;
    };
    popupVisible: {
        type: BooleanConstructor;
        default: any;
    };
    defaultPopupVisible: BooleanConstructor;
    prefixIcon: {
        type: import("vue").PropType<(h: typeof import("vue").h) => import("..").SlotReturnValue>;
    };
    readonly: BooleanConstructor;
    reserveKeyword: BooleanConstructor;
    scroll: {
        type: import("vue").PropType<import("..").InfinityScroll>;
    };
    selectInputProps: {
        type: import("vue").PropType<import("..").TdSelectInputProps>;
    };
    showArrow: {
        type: BooleanConstructor;
        default: boolean;
    };
    size: {
        type: import("vue").PropType<import("..").SizeEnum>;
        default: import("..").SizeEnum;
        validator(val: import("..").SizeEnum): boolean;
    };
    status: {
        type: import("vue").PropType<"error" | "default" | "success" | "warning">;
        default: "error" | "default" | "success" | "warning";
        validator(val: "error" | "default" | "success" | "warning"): boolean;
    };
    suffix: {
        type: import("vue").PropType<string | ((h: typeof import("vue").h) => import("..").SlotReturnValue)>;
    };
    suffixIcon: {
        type: import("vue").PropType<(h: typeof import("vue").h) => import("..").SlotReturnValue>;
    };
    tagInputProps: {
        type: import("vue").PropType<import("..").TdTagInputProps>;
    };
    tagProps: {
        type: import("vue").PropType<import("..").TdTagProps>;
    };
    tips: {
        type: import("vue").PropType<string | ((h: typeof import("vue").h) => import("..").SlotReturnValue)>;
    };
    value: {
        type: import("vue").PropType<import("./type").SelectValue<SelectOption>>;
        default: import("./type").SelectValue<SelectOption>;
    };
    modelValue: {
        type: import("vue").PropType<import("./type").SelectValue<SelectOption>>;
        default: import("./type").SelectValue<SelectOption>;
    };
    defaultValue: {
        type: import("vue").PropType<import("./type").SelectValue<SelectOption>>;
    };
    valueDisplay: {
        type: import("vue").PropType<string | ((h: typeof import("vue").h, props: {
            value: import("./type").SelectValue<SelectOption>;
            onClose: (index: number) => void;
            displayValue?: import("./type").SelectValue<SelectOption>;
        }) => import("..").SlotReturnValue)>;
    };
    valueType: {
        type: import("vue").PropType<"object" | "value">;
        default: "object" | "value";
        validator(val: "object" | "value"): boolean;
    };
    onBlur: import("vue").PropType<(context: {
        value: import("./type").SelectValue<SelectOption>;
        e: FocusEvent | KeyboardEvent;
    }) => void>;
    onChange: import("vue").PropType<(value: import("./type").SelectValue<SelectOption>, context: {
        option?: SelectOption;
        selectedOptions: SelectOption[];
        trigger: import("./type").SelectValueChangeTrigger;
        e?: MouseEvent | KeyboardEvent;
    }) => void>;
    onClear: import("vue").PropType<(context: {
        e: MouseEvent;
    }) => void>;
    onCreate: import("vue").PropType<(value: string | number) => void>;
    onEnter: import("vue").PropType<(context: {
        inputValue: string;
        e: KeyboardEvent;
        value: import("./type").SelectValue<SelectOption>;
    }) => void>;
    onFocus: import("vue").PropType<(context: {
        value: import("./type").SelectValue<SelectOption>;
        e: FocusEvent | KeyboardEvent;
    }) => void>;
    onInputChange: import("vue").PropType<(value: string, context?: import("..").SelectInputValueChangeContext) => void>;
    onPopupVisibleChange: import("vue").PropType<(visible: boolean, context: import("..").PopupVisibleChangeContext) => void>;
    onRemove: import("vue").PropType<(options: import("./type").SelectRemoveContext<SelectOption>) => void>;
    onSearch: import("vue").PropType<(filterWords: string, context: {
        e: KeyboardEvent;
    }) => void>;
    onVisibleChange: import("vue").PropType<(visible: boolean) => void>;
}>>, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
    max: number;
    value: string | number | import("..").PlainObject | TdOptionProps | import("./type").SelectOptionGroup | import("./type").SelectValue<SelectOption>[];
    loading: boolean;
    autofocus: boolean;
    disabled: boolean;
    multiple: boolean;
    options: SelectOption[];
    size: import("..").SizeEnum;
    readonly: boolean;
    status: "error" | "default" | "success" | "warning";
    placeholder: string;
    modelValue: string | number | import("..").PlainObject | TdOptionProps | import("./type").SelectOptionGroup | import("./type").SelectValue<SelectOption>[];
    showArrow: boolean;
    autoWidth: boolean;
    clearable: boolean;
    inputValue: string;
    minCollapsedNum: number;
    borderless: boolean;
    popupVisible: boolean;
    defaultPopupVisible: boolean;
    valueType: "object" | "value";
    reserveKeyword: boolean;
    creatable: boolean;
    filterable: boolean;
    bordered: boolean;
}, {}, string> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & import("@vue/runtime-core").Plugin<any[]>;
export declare const Option: {
    new (...args: any[]): {
        $: import("vue").ComponentInternalInstance;
        $data: {};
        $props: Partial<{
            label: string;
            title: string;
            disabled: boolean;
            multiple: boolean;
            checkAll: boolean;
            createAble: boolean;
            isVirtual: boolean;
        }> & Omit<Readonly<import("vue").ExtractPropTypes<{
            createAble: BooleanConstructor;
            multiple: BooleanConstructor;
            index: NumberConstructor;
            rowIndex: NumberConstructor;
            trs: MapConstructor;
            scrollType: StringConstructor;
            isVirtual: BooleanConstructor;
            bufferSize: NumberConstructor;
            checkAll: BooleanConstructor;
            content: {
                type: import("vue").PropType<string | ((h: typeof import("vue").h) => import("..").SlotReturnValue)>;
            };
            default: {
                type: import("vue").PropType<string | ((h: typeof import("vue").h) => import("..").SlotReturnValue)>;
            };
            disabled: BooleanConstructor;
            label: {
                type: StringConstructor;
                default: string;
            };
            title: {
                type: StringConstructor;
                default: string;
            };
            value: {
                type: import("vue").PropType<string | number>;
            };
        }>> & {
            "onRow-mounted"?: (...args: any[]) => any;
        } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "label" | "title" | "disabled" | "multiple" | "checkAll" | "createAble" | "isVirtual">;
        $attrs: {
            [x: string]: unknown;
        };
        $refs: {
            [x: string]: unknown;
        };
        $slots: Readonly<{
            [name: string]: import("vue").Slot;
        }>;
        $root: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}>;
        $parent: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}>;
        $emit: (event: "row-mounted", ...args: any[]) => void;
        $el: any;
        $options: import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
            createAble: BooleanConstructor;
            multiple: BooleanConstructor;
            index: NumberConstructor;
            rowIndex: NumberConstructor;
            trs: MapConstructor;
            scrollType: StringConstructor;
            isVirtual: BooleanConstructor;
            bufferSize: NumberConstructor;
            checkAll: BooleanConstructor;
            content: {
                type: import("vue").PropType<string | ((h: typeof import("vue").h) => import("..").SlotReturnValue)>;
            };
            default: {
                type: import("vue").PropType<string | ((h: typeof import("vue").h) => import("..").SlotReturnValue)>;
            };
            disabled: BooleanConstructor;
            label: {
                type: StringConstructor;
                default: string;
            };
            title: {
                type: StringConstructor;
                default: string;
            };
            value: {
                type: import("vue").PropType<string | number>;
            };
        }>> & {
            "onRow-mounted"?: (...args: any[]) => any;
        }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "row-mounted"[], string, {
            label: string;
            title: string;
            disabled: boolean;
            multiple: boolean;
            checkAll: boolean;
            createAble: boolean;
            isVirtual: boolean;
        }, {}, string> & {
            beforeCreate?: (() => void) | (() => void)[];
            created?: (() => void) | (() => void)[];
            beforeMount?: (() => void) | (() => void)[];
            mounted?: (() => void) | (() => void)[];
            beforeUpdate?: (() => void) | (() => void)[];
            updated?: (() => void) | (() => void)[];
            activated?: (() => void) | (() => void)[];
            deactivated?: (() => void) | (() => void)[];
            beforeDestroy?: (() => void) | (() => void)[];
            beforeUnmount?: (() => void) | (() => void)[];
            destroyed?: (() => void) | (() => void)[];
            unmounted?: (() => void) | (() => void)[];
            renderTracked?: ((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[];
            renderTriggered?: ((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[];
            errorCaptured?: ((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}>, info: string) => boolean | void) | ((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}>, info: string) => boolean | void)[];
        };
        $forceUpdate: () => void;
        $nextTick: typeof import("vue").nextTick;
        $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (args_0: R, args_1: R) => any : (...args: any) => any, options?: import("vue").WatchOptions<boolean>): import("vue").WatchStopHandle;
    } & Readonly<import("vue").ExtractPropTypes<{
        createAble: BooleanConstructor;
        multiple: BooleanConstructor;
        index: NumberConstructor;
        rowIndex: NumberConstructor;
        trs: MapConstructor;
        scrollType: StringConstructor;
        isVirtual: BooleanConstructor;
        bufferSize: NumberConstructor;
        checkAll: BooleanConstructor;
        content: {
            type: import("vue").PropType<string | ((h: typeof import("vue").h) => import("..").SlotReturnValue)>;
        };
        default: {
            type: import("vue").PropType<string | ((h: typeof import("vue").h) => import("..").SlotReturnValue)>;
        };
        disabled: BooleanConstructor;
        label: {
            type: StringConstructor;
            default: string;
        };
        title: {
            type: StringConstructor;
            default: string;
        };
        value: {
            type: import("vue").PropType<string | number>;
        };
    }>> & {
        "onRow-mounted"?: (...args: any[]) => any;
    } & import("vue").ShallowUnwrapRef<() => JSX.Element> & {} & import("vue").ComponentCustomProperties & {};
    __isFragment?: never;
    __isTeleport?: never;
    __isSuspense?: never;
} & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
    createAble: BooleanConstructor;
    multiple: BooleanConstructor;
    index: NumberConstructor;
    rowIndex: NumberConstructor;
    trs: MapConstructor;
    scrollType: StringConstructor;
    isVirtual: BooleanConstructor;
    bufferSize: NumberConstructor;
    checkAll: BooleanConstructor;
    content: {
        type: import("vue").PropType<string | ((h: typeof import("vue").h) => import("..").SlotReturnValue)>;
    };
    default: {
        type: import("vue").PropType<string | ((h: typeof import("vue").h) => import("..").SlotReturnValue)>;
    };
    disabled: BooleanConstructor;
    label: {
        type: StringConstructor;
        default: string;
    };
    title: {
        type: StringConstructor;
        default: string;
    };
    value: {
        type: import("vue").PropType<string | number>;
    };
}>> & {
    "onRow-mounted"?: (...args: any[]) => any;
}, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "row-mounted"[], "row-mounted", {
    label: string;
    title: string;
    disabled: boolean;
    multiple: boolean;
    checkAll: boolean;
    createAble: boolean;
    isVirtual: boolean;
}, {}, string> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & import("@vue/runtime-core").Plugin<any[]>;
export declare const OptionGroup: {
    new (...args: any[]): {
        $: import("vue").ComponentInternalInstance;
        $data: {};
        $props: Partial<{
            label: string;
            divider: boolean;
        }> & Omit<Readonly<import("vue").ExtractPropTypes<{
            divider: {
                type: BooleanConstructor;
                default: boolean;
            };
            label: {
                type: StringConstructor;
                default: string;
            };
        }>> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "label" | "divider">;
        $attrs: {
            [x: string]: unknown;
        };
        $refs: {
            [x: string]: unknown;
        };
        $slots: Readonly<{
            [name: string]: import("vue").Slot;
        }>;
        $root: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}>;
        $parent: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}>;
        $emit: (event: string, ...args: any[]) => void;
        $el: any;
        $options: import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
            divider: {
                type: BooleanConstructor;
                default: boolean;
            };
            label: {
                type: StringConstructor;
                default: string;
            };
        }>>, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
            label: string;
            divider: boolean;
        }, {}, string> & {
            beforeCreate?: (() => void) | (() => void)[];
            created?: (() => void) | (() => void)[];
            beforeMount?: (() => void) | (() => void)[];
            mounted?: (() => void) | (() => void)[];
            beforeUpdate?: (() => void) | (() => void)[];
            updated?: (() => void) | (() => void)[];
            activated?: (() => void) | (() => void)[];
            deactivated?: (() => void) | (() => void)[];
            beforeDestroy?: (() => void) | (() => void)[];
            beforeUnmount?: (() => void) | (() => void)[];
            destroyed?: (() => void) | (() => void)[];
            unmounted?: (() => void) | (() => void)[];
            renderTracked?: ((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[];
            renderTriggered?: ((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[];
            errorCaptured?: ((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}>, info: string) => boolean | void) | ((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}>, info: string) => boolean | void)[];
        };
        $forceUpdate: () => void;
        $nextTick: typeof import("vue").nextTick;
        $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (args_0: R, args_1: R) => any : (...args: any) => any, options?: import("vue").WatchOptions<boolean>): import("vue").WatchStopHandle;
    } & Readonly<import("vue").ExtractPropTypes<{
        divider: {
            type: BooleanConstructor;
            default: boolean;
        };
        label: {
            type: StringConstructor;
            default: string;
        };
    }>> & import("vue").ShallowUnwrapRef<() => JSX.Element> & {} & import("vue").ComponentCustomProperties & {};
    __isFragment?: never;
    __isTeleport?: never;
    __isSuspense?: never;
} & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
    divider: {
        type: BooleanConstructor;
        default: boolean;
    };
    label: {
        type: StringConstructor;
        default: string;
    };
}>>, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
    label: string;
    divider: boolean;
}, {}, string> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & import("@vue/runtime-core").Plugin<any[]>;
export default Select;
