/// <reference types="lodash" />
import { SelectOptionProxy } from './token';
export declare function useSelectStates(props: any): {
    options: Map<any, any>;
    cachedOptions: Map<any, any>;
    createdLabel: any;
    createdSelected: boolean;
    selected: any;
    inputLength: number;
    inputWidth: number;
    initialInputHeight: number;
    optionsCount: number;
    filteredOptionsCount: number;
    visible: boolean;
    softFocus: boolean;
    selectedLabel: string;
    hoverIndex: number;
    query: string;
    previousQuery: any;
    inputHovering: boolean;
    cachedPlaceHolder: string;
    currentPlaceholder: string;
    menuVisibleOnFocus: boolean;
    isOnComposition: boolean;
    isSilentBlur: boolean;
    selectEmitter: {
        all: import("mitt").EventHandlerMap;
        on: {
            <T = any>(type: import("mitt").EventType, handler: import("mitt").Handler<T>): void;
            (type: "*", handler: import("mitt").WildcardHandler): void;
        };
        off: {
            <T_1 = any>(type: import("mitt").EventType, handler: import("mitt").Handler<T_1>): void;
            (type: "*", handler: import("mitt").WildcardHandler): void;
        };
        emit: {
            <T_2 = any>(type: import("mitt").EventType, event?: T_2): void;
            (type: "*", event?: any): void;
        };
    };
    prefixWidth: any;
    tagInMultiLine: boolean;
};
declare type States = ReturnType<typeof useSelectStates>;
export declare const useSelect: (props: any, states: States, ctx: any) => {
    optionsArray: import("vue").ComputedRef<any[]>;
    selectSize: import("vue").ComputedRef<any>;
    handleResize: () => void;
    debouncedOnInputChange: import("lodash").DebouncedFunc<() => void>;
    debouncedQueryChange: import("lodash").DebouncedFunc<(e: any) => void>;
    deletePrevTag: (e: any) => void;
    deleteTag: (event: any, tag: any) => void;
    deleteSelected: (event: any) => void;
    handleOptionSelect: (option: any, byClick: any) => void;
    scrollToOption: (option: any) => void;
    readonly: import("vue").ComputedRef<any>;
    resetInputHeight: () => void;
    showClose: import("vue").ComputedRef<boolean>;
    iconClass: import("vue").ComputedRef<"" | "arrow-up is-reverse" | "arrow-up">;
    showNewOption: import("vue").ComputedRef<boolean>;
    collapseTagSize: import("vue").ComputedRef<"small" | "mini">;
    setSelected: () => void;
    managePlaceholder: () => void;
    selectDisabled: import("vue").ComputedRef<any>;
    emptyText: import("vue").ComputedRef<any>;
    toggleLastOptionHitState: (hit?: boolean) => any;
    resetInputState: (e: KeyboardEvent) => void;
    handleComposition: (event: any) => void;
    onOptionCreate: (vm: SelectOptionProxy) => void;
    onOptionDestroy: (key: any) => void;
    handleMenuEnter: () => void;
    handleFocus: (event: any) => void;
    blur: () => void;
    handleBlur: (event: Event) => void;
    handleClearClick: (event: Event) => void;
    handleClose: () => void;
    toggleMenu: () => void;
    selectOption: () => void;
    getValueKey: (item: any) => any;
    navigateOptions: (direction: any) => void;
    dropMenuVisible: import("vue").ComputedRef<boolean>;
    reference: any;
    input: any;
    popper: any;
    tags: any;
    selectWrapper: import("vue").Ref<HTMLElement>;
    scrollbar: any;
};
export {};
