import type ElTooltip from 'element-plus/es/components/tooltip';
import type { ISelectProps, SelectOptionProxy } from './token';
type useSelectType = (props: ISelectProps, emit: any) => {
    inputId: Ref<string | undefined>;
    contentId: Ref<string | undefined>;
    nsSelect: Ref<string | undefined>;
    nsInput: Ref<string | undefined>;
    states: Reactive<Record<string, any>>;
    isFocused: Ref<boolean>;
    expanded: Ref<boolean>;
    optionsArray: ComputedRef<any[]>;
    hoverOption: Ref<unknown>;
    selectSize: ComputedRef<'' | 'default' | 'small' | 'large'>;
    filteredOptionsCount: ComputedRef<number>;
    resetCalculatorWidth: () => void;
    updateTooltip: () => void;
    updateTagTooltip: () => void;
    debouncedOnInputChange: DebouncedFunc<() => void>;
    onInput: (event: Event) => void;
    deletePrevTag: (event: Event) => void;
    deleteTag: (event: Event, tag: any) => void;
    deleteSelected: (event: Event) => void;
    handleOptionSelect: (option: any) => void;
    scrollToOption: (option: any) => void;
    hasModelValue: ComputedRef<boolean>;
    shouldShowPlaceholder: ComputedRef<boolean>;
    currentPlaceholder: ComputedRef<string>;
    mouseEnterEventName: Ref<string | null>;
    needStatusIcon: ComputedRef<boolean>;
    showClose: ComputedRef<boolean>;
    iconComponent: ComputedRef<string>;
    iconReverse: ComputedRef<boolean>;
    validateState: ComputedRef<string>;
    popupScroll: (data: {
        scrollTop: number;
        scrollLeft: number;
    }) => void;
    validateIcon: ComputedRef<unknown>;
    showNewOption: ComputedRef<boolean>;
    updateOptions: () => void;
    collapseTagSize: ComputedRef<'default' | 'small'>;
    setSelected: () => void;
    selectDisabled: ComputedRef<boolean>;
    emptyText: ComputedRef<string | null>;
    handleCompositionStart: (e: Event) => void;
    handleCompositionUpdate: (e: Event) => void;
    handleCompositionEnd: (e: Event) => void;
    onOptionCreate: (vm: SelectOptionProxy) => void;
    onOptionDestroy: (key: any, vm: SelectOptionProxy) => void;
    handleMenuEnter: () => void;
    focus: () => void;
    blur: () => void;
    handleClearClick: (event: Event) => void;
    handleClickOutside: (event: Event) => void;
    handleEsc: () => void;
    toggleMenu: () => void;
    selectOption: () => void;
    getValueKey: (item: any) => any;
    navigateOptions: (direction: string) => void;
    dropdownMenuVisible: WritableComputedRef<boolean>;
    showTagList: ComputedRef<unknown[]>;
    collapseTagList: ComputedRef<unknown[]>;
    tagStyle: ComputedRef<unknown>;
    collapseTagStyle: ComputedRef<unknown>;
    inputStyle: ComputedRef<unknown>;
    popperRef: ComputedRef<unknown>;
    inputRef: Ref<HTMLInputElement | null>;
    tooltipRef: Ref<InstanceType<typeof ElTooltip> | null>;
    tagTooltipRef: Ref<InstanceType<typeof ElTooltip> | null>;
    calculatorRef: Ref<HTMLElement>;
    prefixRef: Ref<HTMLElement>;
    suffixRef: Ref<HTMLElement>;
    selectRef: Ref<HTMLElement>;
    wrapperRef: Ref<HTMLElement>;
    selectionRef: Ref<HTMLElement>;
    scrollbarRef: Ref<{
        handleScroll: () => void;
    } | null>;
    menuRef: Ref<HTMLElement>;
    tagMenuRef: Ref<HTMLElement>;
    collapseItemRef: Ref<HTMLElement>;
};
export declare const useSelect: useSelectType;
export {};
