import type { PopupVisibleChangeContext } from '../popup';
import type { SelectInputChangeContext, SelectInputValue, SelectInputValueChangeContext } from '../select-input';
import Option from './option';
import type { SelectValue, SelectValueChangeTrigger } from './type';
export declare type OptionInstance = InstanceType<typeof Option>;
declare const _default: import("vue").ComponentOptions<import("vue").default, import("@vue/composition-api").ShallowUnwrapRef<{
    isFilterable: import("@vue/composition-api").ComputedRef<boolean>;
    isDisabled: import("@vue/composition-api").ComputedRef<boolean>;
    isLoading: import("@vue/composition-api").ComputedRef<boolean>;
    innerOptions: import("@vue/composition-api").Ref<({
        checkAll?: boolean;
        content?: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
        default?: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
        disabled?: boolean;
        label?: string;
        title?: string;
        value?: string | number;
        index?: number;
        slots?: () => import("vue").VNode;
    } | {
        group: string;
        children: {
            checkAll?: boolean;
            content?: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
            default?: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
            disabled?: boolean;
            label?: string;
            title?: string;
            value?: string | number;
        }[];
        divider?: boolean;
        label?: string;
        index?: number;
        slots?: () => import("vue").VNode;
    })[]>;
    placeholderText: import("@vue/composition-api").ComputedRef<any>;
    selectInputRef: any;
    selectPanelRef: import("@vue/composition-api").Ref<import("@vue/composition-api").ComponentRenderProxy<{
        readonly filter?: any;
        readonly loading?: any;
        readonly scroll?: any;
        readonly multiple?: any;
        readonly options?: any;
        readonly size?: any;
        readonly empty?: any;
        readonly inputValue?: any;
        readonly loadingText?: any;
        readonly panelTopContent?: any;
        readonly panelBottomContent?: any;
        readonly creatable?: any;
        readonly filterable?: any;
    } & {}, import("@vue/composition-api").ShallowUnwrapRef<{
        t: <T>(pattern: T, ...args: any[]) => any;
        global: import("@vue/composition-api").Ref<{
            clearIcon?: (h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue;
            empty?: string;
            filterable?: boolean;
            loadingText?: string;
            placeholder?: string;
        }>;
        isEmpty: import("@vue/composition-api").ComputedRef<boolean>;
        renderTNode: (name: string, options?: import("../hooks/render-tnode").OptionsType) => any;
        selectProvider: any;
        isCreateOptionShown: import("@vue/composition-api").ComputedRef<boolean>;
        trs: Map<any, any>;
        isVirtual: import("@vue/composition-api").ComputedRef<boolean>;
        onInnerVirtualScroll: (e: WheelEvent) => void;
        visibleData: import("@vue/composition-api").Ref<any[]>;
        scrollHeight: import("@vue/composition-api").ComputedRef<any>;
        translateY: import("@vue/composition-api").ComputedRef<any>;
        scrollType: "lazy" | "virtual";
        handleRowMounted: () => void;
        bufferSize: number;
        threshold: number;
        displayOptions: import("@vue/composition-api").ComputedRef<import("./type").SelectOption[]>;
        getDisplayOptions: () => (import("./type").SelectOption & {
            isCreated?: boolean;
        })[];
        componentName: import("@vue/composition-api").Ref<string>;
    }>, import("@vue/composition-api").Data, {}, {
        renderEmptyContent(): any;
        renderLoadingContent(): any;
        renderCreateOption(): JSX.Element;
        renderOptionsContent(options: import("./type").SelectOption[]): JSX.Element;
        renderPanelContent(innerStyle?: {}): JSX.Element;
    }, {}, {}, {}, {
        readonly filter?: any;
        readonly loading?: any;
        readonly scroll?: any;
        readonly multiple?: any;
        readonly options?: any;
        readonly size?: any;
        readonly empty?: any;
        readonly inputValue?: any;
        readonly loadingText?: any;
        readonly panelTopContent?: any;
        readonly panelBottomContent?: any;
        readonly creatable?: any;
        readonly filterable?: any;
    } & {}, {
        readonly filter?: any;
        readonly loading?: any;
        readonly scroll?: any;
        readonly multiple?: any;
        readonly options?: any;
        readonly size?: any;
        readonly empty?: any;
        readonly inputValue?: any;
        readonly loadingText?: any;
        readonly panelTopContent?: any;
        readonly panelBottomContent?: any;
        readonly creatable?: any;
        readonly filterable?: any;
    }, true>>;
    innerPopupVisible: import("@vue/composition-api").Ref<boolean>;
    displayText: import("@vue/composition-api").ComputedRef<any>;
    tInputValue: import("@vue/composition-api").Ref<string>;
    collapsedItemsParams: import("@vue/composition-api").ComputedRef<{
        value: any[];
        collapsedSelectedItems: import("./type").SelectOption[];
        count: number;
    } | {
        value?: undefined;
        collapsedSelectedItems?: undefined;
        count?: undefined;
    }>;
    valueDisplayParams: import("@vue/composition-api").ComputedRef<{
        value: any;
        onClose: (index: number) => void;
    } | {
        displayValue: any;
        value: any;
        onClose: (index: number) => void;
    }>;
    handleFocus: (value: string, context: {
        e: FocusEvent;
    }) => void;
    handleBlur: (value: string, context: {
        e: FocusEvent | KeyboardEvent;
    }) => void;
    handleEnter: (value: string, context: {
        e: KeyboardEvent;
    }) => void;
    handleClear: ({ e }: {
        e: MouseEvent;
    }) => void;
    handleTagChange: (currentTags: SelectInputValue, context: SelectInputChangeContext) => void;
    handleTInputValueChange: (val: string, context: SelectInputValueChangeContext) => void;
    setInnerPopupVisible: import("../hooks/useDefaultValue").ChangeHandler<boolean, [context: PopupVisibleChangeContext]>;
    removeTag: (index: number, context?: {
        e?: MouseEvent | KeyboardEvent;
    }) => void;
    renderTNode: (name: string, options?: import("../hooks/render-tnode").OptionsType) => any;
    updateScrollTop: (content: HTMLDivElement) => void;
    componentName: import("@vue/composition-api").Ref<string>;
}> & import("@vue/composition-api").Data, {
    renderSuffixIcon(): any;
    renderLabel(): any;
}, {}, {
    autoWidth: BooleanConstructor;
    autofocus: BooleanConstructor;
    borderless: BooleanConstructor;
    clearable: BooleanConstructor;
    collapsedItems: {
        type: import("vue").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: import("vue").PropType<string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
    };
    filter: {
        type: import("vue").PropType<(filterWords: string, option: import("./type").SelectOption) => boolean | Promise<boolean>>;
    };
    filterable: BooleanConstructor;
    inputProps: {
        type: import("vue").PropType<import("../input/type").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: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
    };
    loading: BooleanConstructor;
    loadingText: {
        type: import("vue").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: import("vue").PropType<import("./type").SelectOption[]>;
    };
    panelBottomContent: {
        type: import("vue").PropType<string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
    };
    panelTopContent: {
        type: import("vue").PropType<string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
    };
    placeholder: {
        type: StringConstructor;
        default: any;
    };
    popupProps: {
        type: import("vue").PropType<import("../popup").TdPopupProps>;
    };
    popupVisible: {
        type: BooleanConstructor;
        default: any;
    };
    defaultPopupVisible: BooleanConstructor;
    prefixIcon: {
        type: import("vue").PropType<(h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue>;
    };
    readonly: BooleanConstructor;
    reserveKeyword: BooleanConstructor;
    scroll: {
        type: import("vue").PropType<import("../common").TScroll>;
    };
    selectInputProps: {
        type: import("vue").PropType<import("../select-input").TdSelectInputProps>;
    };
    showArrow: {
        type: BooleanConstructor;
        default: boolean;
    };
    size: {
        type: import("vue").PropType<import("../common").SizeEnum>;
        default: import("../common").SizeEnum;
        validator(val: import("../common").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: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
    };
    suffixIcon: {
        type: import("vue").PropType<(h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue>;
    };
    tagInputProps: {
        type: import("vue").PropType<import("..").TdTagInputProps>;
    };
    tagProps: {
        type: import("vue").PropType<import("../tag/type").TdTagProps>;
    };
    tips: {
        type: import("vue").PropType<string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
    };
    value: {
        type: import("vue").PropType<SelectValue<import("./type").SelectOption>>;
        default: any;
    };
    defaultValue: {
        type: import("vue").PropType<SelectValue<import("./type").SelectOption>>;
    };
    valueDisplay: {
        type: import("vue").PropType<string | ((h: import("vue").CreateElement, props: {
            value: SelectValue<import("./type").SelectOption>;
            onClose: (index: number) => void;
            displayValue?: SelectValue<import("./type").SelectOption>;
        }) => import("vue/types/vnode").ScopedSlotReturnValue)>;
    };
    valueType: {
        type: import("vue").PropType<"object" | "value">;
        default: "object" | "value";
        validator(val: "object" | "value"): boolean;
    };
    onBlur: import("vue").PropType<(context: {
        value: SelectValue<import("./type").SelectOption>;
        e: FocusEvent | KeyboardEvent;
    }) => void>;
    onChange: import("vue").PropType<(value: SelectValue<import("./type").SelectOption>, context: {
        option?: import("./type").SelectOption;
        selectedOptions: import("./type").SelectOption[];
        trigger: 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: SelectValue<import("./type").SelectOption>;
    }) => void>;
    onFocus: import("vue").PropType<(context: {
        value: SelectValue<import("./type").SelectOption>;
        e: FocusEvent | KeyboardEvent;
    }) => void>;
    onInputChange: import("vue").PropType<(value: string, context?: SelectInputValueChangeContext) => void>;
    onPopupVisibleChange: import("vue").PropType<(visible: boolean, context: PopupVisibleChangeContext) => void>;
    onRemove: import("vue").PropType<(options: import("./type").SelectRemoveContext<import("./type").SelectOption>) => void>;
    onSearch: import("vue").PropType<(filterWords: string, context: {
        e: KeyboardEvent;
    }) => void>;
}, import("@vue/composition-api").ExtractPropTypes<{
    autoWidth: BooleanConstructor;
    autofocus: BooleanConstructor;
    borderless: BooleanConstructor;
    clearable: BooleanConstructor;
    collapsedItems: {
        type: import("vue").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: import("vue").PropType<string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
    };
    filter: {
        type: import("vue").PropType<(filterWords: string, option: import("./type").SelectOption) => boolean | Promise<boolean>>;
    };
    filterable: BooleanConstructor;
    inputProps: {
        type: import("vue").PropType<import("../input/type").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: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
    };
    loading: BooleanConstructor;
    loadingText: {
        type: import("vue").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: import("vue").PropType<import("./type").SelectOption[]>;
    };
    panelBottomContent: {
        type: import("vue").PropType<string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
    };
    panelTopContent: {
        type: import("vue").PropType<string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
    };
    placeholder: {
        type: StringConstructor;
        default: any;
    };
    popupProps: {
        type: import("vue").PropType<import("../popup").TdPopupProps>;
    };
    popupVisible: {
        type: BooleanConstructor;
        default: any;
    };
    defaultPopupVisible: BooleanConstructor;
    prefixIcon: {
        type: import("vue").PropType<(h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue>;
    };
    readonly: BooleanConstructor;
    reserveKeyword: BooleanConstructor;
    scroll: {
        type: import("vue").PropType<import("../common").TScroll>;
    };
    selectInputProps: {
        type: import("vue").PropType<import("../select-input").TdSelectInputProps>;
    };
    showArrow: {
        type: BooleanConstructor;
        default: boolean;
    };
    size: {
        type: import("vue").PropType<import("../common").SizeEnum>;
        default: import("../common").SizeEnum;
        validator(val: import("../common").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: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
    };
    suffixIcon: {
        type: import("vue").PropType<(h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue>;
    };
    tagInputProps: {
        type: import("vue").PropType<import("..").TdTagInputProps>;
    };
    tagProps: {
        type: import("vue").PropType<import("../tag/type").TdTagProps>;
    };
    tips: {
        type: import("vue").PropType<string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
    };
    value: {
        type: import("vue").PropType<SelectValue<import("./type").SelectOption>>;
        default: any;
    };
    defaultValue: {
        type: import("vue").PropType<SelectValue<import("./type").SelectOption>>;
    };
    valueDisplay: {
        type: import("vue").PropType<string | ((h: import("vue").CreateElement, props: {
            value: SelectValue<import("./type").SelectOption>;
            onClose: (index: number) => void;
            displayValue?: SelectValue<import("./type").SelectOption>;
        }) => import("vue/types/vnode").ScopedSlotReturnValue)>;
    };
    valueType: {
        type: import("vue").PropType<"object" | "value">;
        default: "object" | "value";
        validator(val: "object" | "value"): boolean;
    };
    onBlur: import("vue").PropType<(context: {
        value: SelectValue<import("./type").SelectOption>;
        e: FocusEvent | KeyboardEvent;
    }) => void>;
    onChange: import("vue").PropType<(value: SelectValue<import("./type").SelectOption>, context: {
        option?: import("./type").SelectOption;
        selectedOptions: import("./type").SelectOption[];
        trigger: 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: SelectValue<import("./type").SelectOption>;
    }) => void>;
    onFocus: import("vue").PropType<(context: {
        value: SelectValue<import("./type").SelectOption>;
        e: FocusEvent | KeyboardEvent;
    }) => void>;
    onInputChange: import("vue").PropType<(value: string, context?: SelectInputValueChangeContext) => void>;
    onPopupVisibleChange: import("vue").PropType<(visible: boolean, context: PopupVisibleChangeContext) => void>;
    onRemove: import("vue").PropType<(options: import("./type").SelectRemoveContext<import("./type").SelectOption>) => void>;
    onSearch: import("vue").PropType<(filterWords: string, context: {
        e: KeyboardEvent;
    }) => void>;
}>> & Omit<import("vue").VueConstructor<import("vue").default>, never> & (new (...args: any[]) => import("@vue/composition-api").ComponentRenderProxy<{
    max: number;
    value: any;
    loading: boolean;
    autofocus: boolean;
    disabled: boolean;
    multiple: boolean;
    size: import("../common").SizeEnum;
    readonly: boolean;
    status: "error" | "default" | "success" | "warning";
    showArrow: boolean;
    autoWidth: boolean;
    clearable: boolean;
    placeholder: string;
    inputValue: string;
    minCollapsedNum: number;
    borderless: boolean;
    popupVisible: boolean;
    defaultPopupVisible: boolean;
    valueType: "object" | "value";
    creatable: boolean;
    filterable: boolean;
    reserveKeyword: boolean;
} & {
    filter?: (filterWords: string, option: import("./type").SelectOption) => boolean | Promise<boolean>;
    keys?: unknown;
    label?: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    scroll?: import("../common").TScroll;
    options?: import("./type").SelectOption[];
    empty?: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    tips?: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    prefixIcon?: (h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue;
    suffix?: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    suffixIcon?: (h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue;
    defaultValue?: unknown;
    onBlur?: (context: {
        value: SelectValue<import("./type").SelectOption>;
        e: FocusEvent | KeyboardEvent;
    }) => void;
    onChange?: (value: SelectValue<import("./type").SelectOption>, context: {
        option?: import("./type").SelectOption;
        selectedOptions: import("./type").SelectOption[];
        trigger: SelectValueChangeTrigger;
        e?: MouseEvent | KeyboardEvent;
    }) => void;
    onClear?: (context: {
        e: MouseEvent;
    }) => void;
    onEnter?: (context: {
        inputValue: string;
        e: KeyboardEvent;
        value: SelectValue<import("./type").SelectOption>;
    }) => void;
    onFocus?: (context: {
        value: SelectValue<import("./type").SelectOption>;
        e: FocusEvent | KeyboardEvent;
    }) => void;
    collapsedItems?: (h: import("vue").CreateElement, props: {
        value: import("./type").SelectOption[];
        collapsedSelectedItems: import("./type").SelectOption[];
        count: number;
    }) => import("vue/types/vnode").ScopedSlotReturnValue;
    inputProps?: unknown;
    defaultInputValue?: string;
    tagProps?: unknown;
    valueDisplay?: string | ((h: import("vue").CreateElement, props: {
        value: SelectValue<import("./type").SelectOption>;
        onClose: (index: number) => void;
        displayValue?: SelectValue<import("./type").SelectOption>;
    }) => import("vue/types/vnode").ScopedSlotReturnValue);
    onInputChange?: (value: string, context?: SelectInputValueChangeContext) => void;
    onRemove?: (options: import("./type").SelectRemoveContext<import("./type").SelectOption>) => void;
    popupProps?: unknown;
    tagInputProps?: unknown;
    onPopupVisibleChange?: (visible: boolean, context: PopupVisibleChangeContext) => void;
    loadingText?: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    panelTopContent?: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    panelBottomContent?: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    selectInputProps?: unknown;
    onCreate?: (value: string | number) => void;
    onSearch?: (filterWords: string, context: {
        e: KeyboardEvent;
    }) => void;
}, import("@vue/composition-api").ShallowUnwrapRef<{
    isFilterable: import("@vue/composition-api").ComputedRef<boolean>;
    isDisabled: import("@vue/composition-api").ComputedRef<boolean>;
    isLoading: import("@vue/composition-api").ComputedRef<boolean>;
    innerOptions: import("@vue/composition-api").Ref<({
        checkAll?: boolean;
        content?: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
        default?: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
        disabled?: boolean;
        label?: string;
        title?: string;
        value?: string | number;
        index?: number;
        slots?: () => import("vue").VNode;
    } | {
        group: string;
        children: {
            checkAll?: boolean;
            content?: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
            default?: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
            disabled?: boolean;
            label?: string;
            title?: string;
            value?: string | number;
        }[];
        divider?: boolean;
        label?: string;
        index?: number;
        slots?: () => import("vue").VNode;
    })[]>;
    placeholderText: import("@vue/composition-api").ComputedRef<any>;
    selectInputRef: any;
    selectPanelRef: import("@vue/composition-api").Ref<import("@vue/composition-api").ComponentRenderProxy<{
        readonly filter?: any;
        readonly loading?: any;
        readonly scroll?: any;
        readonly multiple?: any;
        readonly options?: any;
        readonly size?: any;
        readonly empty?: any;
        readonly inputValue?: any;
        readonly loadingText?: any;
        readonly panelTopContent?: any;
        readonly panelBottomContent?: any;
        readonly creatable?: any;
        readonly filterable?: any;
    } & {}, import("@vue/composition-api").ShallowUnwrapRef<{
        t: <T>(pattern: T, ...args: any[]) => any;
        global: import("@vue/composition-api").Ref<{
            clearIcon?: (h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue;
            empty?: string;
            filterable?: boolean;
            loadingText?: string;
            placeholder?: string;
        }>;
        isEmpty: import("@vue/composition-api").ComputedRef<boolean>;
        renderTNode: (name: string, options?: import("../hooks/render-tnode").OptionsType) => any;
        selectProvider: any;
        isCreateOptionShown: import("@vue/composition-api").ComputedRef<boolean>;
        trs: Map<any, any>;
        isVirtual: import("@vue/composition-api").ComputedRef<boolean>;
        onInnerVirtualScroll: (e: WheelEvent) => void;
        visibleData: import("@vue/composition-api").Ref<any[]>;
        scrollHeight: import("@vue/composition-api").ComputedRef<any>;
        translateY: import("@vue/composition-api").ComputedRef<any>;
        scrollType: "lazy" | "virtual";
        handleRowMounted: () => void;
        bufferSize: number;
        threshold: number;
        displayOptions: import("@vue/composition-api").ComputedRef<import("./type").SelectOption[]>;
        getDisplayOptions: () => (import("./type").SelectOption & {
            isCreated?: boolean;
        })[];
        componentName: import("@vue/composition-api").Ref<string>;
    }>, import("@vue/composition-api").Data, {}, {
        renderEmptyContent(): any;
        renderLoadingContent(): any;
        renderCreateOption(): JSX.Element;
        renderOptionsContent(options: import("./type").SelectOption[]): JSX.Element;
        renderPanelContent(innerStyle?: {}): JSX.Element;
    }, {}, {}, {}, {
        readonly filter?: any;
        readonly loading?: any;
        readonly scroll?: any;
        readonly multiple?: any;
        readonly options?: any;
        readonly size?: any;
        readonly empty?: any;
        readonly inputValue?: any;
        readonly loadingText?: any;
        readonly panelTopContent?: any;
        readonly panelBottomContent?: any;
        readonly creatable?: any;
        readonly filterable?: any;
    } & {}, {
        readonly filter?: any;
        readonly loading?: any;
        readonly scroll?: any;
        readonly multiple?: any;
        readonly options?: any;
        readonly size?: any;
        readonly empty?: any;
        readonly inputValue?: any;
        readonly loadingText?: any;
        readonly panelTopContent?: any;
        readonly panelBottomContent?: any;
        readonly creatable?: any;
        readonly filterable?: any;
    }, true>>;
    innerPopupVisible: import("@vue/composition-api").Ref<boolean>;
    displayText: import("@vue/composition-api").ComputedRef<any>;
    tInputValue: import("@vue/composition-api").Ref<string>;
    collapsedItemsParams: import("@vue/composition-api").ComputedRef<{
        value: any[];
        collapsedSelectedItems: import("./type").SelectOption[];
        count: number;
    } | {
        value?: undefined;
        collapsedSelectedItems?: undefined;
        count?: undefined;
    }>;
    valueDisplayParams: import("@vue/composition-api").ComputedRef<{
        value: any;
        onClose: (index: number) => void;
    } | {
        displayValue: any;
        value: any;
        onClose: (index: number) => void;
    }>;
    handleFocus: (value: string, context: {
        e: FocusEvent;
    }) => void;
    handleBlur: (value: string, context: {
        e: FocusEvent | KeyboardEvent;
    }) => void;
    handleEnter: (value: string, context: {
        e: KeyboardEvent;
    }) => void;
    handleClear: ({ e }: {
        e: MouseEvent;
    }) => void;
    handleTagChange: (currentTags: SelectInputValue, context: SelectInputChangeContext) => void;
    handleTInputValueChange: (val: string, context: SelectInputValueChangeContext) => void;
    setInnerPopupVisible: import("../hooks/useDefaultValue").ChangeHandler<boolean, [context: PopupVisibleChangeContext]>;
    removeTag: (index: number, context?: {
        e?: MouseEvent | KeyboardEvent;
    }) => void;
    renderTNode: (name: string, options?: import("../hooks/render-tnode").OptionsType) => any;
    updateScrollTop: (content: HTMLDivElement) => void;
    componentName: import("@vue/composition-api").Ref<string>;
}>, import("@vue/composition-api").Data, {}, {
    renderSuffixIcon(): any;
    renderLabel(): any;
}, {}, {}, {}, {
    max: number;
    value: any;
    loading: boolean;
    autofocus: boolean;
    disabled: boolean;
    multiple: boolean;
    size: import("../common").SizeEnum;
    readonly: boolean;
    status: "error" | "default" | "success" | "warning";
    showArrow: boolean;
    autoWidth: boolean;
    clearable: boolean;
    placeholder: string;
    inputValue: string;
    minCollapsedNum: number;
    borderless: boolean;
    popupVisible: boolean;
    defaultPopupVisible: boolean;
    valueType: "object" | "value";
    creatable: boolean;
    filterable: boolean;
    reserveKeyword: boolean;
} & {
    filter?: (filterWords: string, option: import("./type").SelectOption) => boolean | Promise<boolean>;
    keys?: unknown;
    label?: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    scroll?: import("../common").TScroll;
    options?: import("./type").SelectOption[];
    empty?: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    tips?: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    prefixIcon?: (h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue;
    suffix?: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    suffixIcon?: (h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue;
    defaultValue?: unknown;
    onBlur?: (context: {
        value: SelectValue<import("./type").SelectOption>;
        e: FocusEvent | KeyboardEvent;
    }) => void;
    onChange?: (value: SelectValue<import("./type").SelectOption>, context: {
        option?: import("./type").SelectOption;
        selectedOptions: import("./type").SelectOption[];
        trigger: SelectValueChangeTrigger;
        e?: MouseEvent | KeyboardEvent;
    }) => void;
    onClear?: (context: {
        e: MouseEvent;
    }) => void;
    onEnter?: (context: {
        inputValue: string;
        e: KeyboardEvent;
        value: SelectValue<import("./type").SelectOption>;
    }) => void;
    onFocus?: (context: {
        value: SelectValue<import("./type").SelectOption>;
        e: FocusEvent | KeyboardEvent;
    }) => void;
    collapsedItems?: (h: import("vue").CreateElement, props: {
        value: import("./type").SelectOption[];
        collapsedSelectedItems: import("./type").SelectOption[];
        count: number;
    }) => import("vue/types/vnode").ScopedSlotReturnValue;
    inputProps?: unknown;
    defaultInputValue?: string;
    tagProps?: unknown;
    valueDisplay?: string | ((h: import("vue").CreateElement, props: {
        value: SelectValue<import("./type").SelectOption>;
        onClose: (index: number) => void;
        displayValue?: SelectValue<import("./type").SelectOption>;
    }) => import("vue/types/vnode").ScopedSlotReturnValue);
    onInputChange?: (value: string, context?: SelectInputValueChangeContext) => void;
    onRemove?: (options: import("./type").SelectRemoveContext<import("./type").SelectOption>) => void;
    popupProps?: unknown;
    tagInputProps?: unknown;
    onPopupVisibleChange?: (visible: boolean, context: PopupVisibleChangeContext) => void;
    loadingText?: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    panelTopContent?: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    panelBottomContent?: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    selectInputProps?: unknown;
    onCreate?: (value: string | number) => void;
    onSearch?: (filterWords: string, context: {
        e: KeyboardEvent;
    }) => void;
}, {
    max: number;
    value: any;
    loading: boolean;
    autofocus: boolean;
    disabled: boolean;
    multiple: boolean;
    size: import("../common").SizeEnum;
    readonly: boolean;
    status: "error" | "default" | "success" | "warning";
    showArrow: boolean;
    autoWidth: boolean;
    clearable: boolean;
    placeholder: string;
    inputValue: string;
    minCollapsedNum: number;
    borderless: boolean;
    popupVisible: boolean;
    defaultPopupVisible: boolean;
    valueType: "object" | "value";
    creatable: boolean;
    filterable: boolean;
    reserveKeyword: boolean;
}, true>);
export default _default;
