import type { PopperExpose } from 'vuesax-alpha/es/components/popper';
import type { SelectEmitsFn, SelectProps } from './select';
import type { SelectOptionContext, SelectOptionValue, SelectStates, SelectTargetElement } from './tokens';
export declare function useSelectStates(props: SelectProps): SelectStates;
export declare const useSelect: (props: SelectProps, states: SelectStates, emit: SelectEmitsFn) => {
    showNewOption: import("vue").ComputedRef<boolean | undefined>;
    inputId: import("vue").Ref<string>;
    optionsArray: import("vue").ComputedRef<SelectOptionContext[]>;
    cachedOptionsArray: import("vue").ComputedRef<SelectOptionContext[]>;
    selectedArray: import("vue").ComputedRef<SelectOptionContext[]>;
    handleResize: () => void;
    debouncedOnInputChange: import("lodash").DebouncedFunc<() => void>;
    debouncedQueryChange: import("lodash").DebouncedFunc<(e: any) => void>;
    deletePrevTag: (e: KeyboardEvent) => void;
    deleteTag: (tag: SelectOptionValue) => void;
    deleteSelected: () => void;
    handleOptionSelect: (option: SelectOptionContext, byClick: boolean) => void;
    scrollToOption: (option: SelectOptionContext) => void;
    readonly: import("vue").ComputedRef<boolean>;
    showClose: import("vue").ComputedRef<boolean | undefined>;
    handleTarget: (target: SelectTargetElement | null, condition?: boolean) => void;
    setSelected: () => void;
    managePlaceholder: () => void;
    selectDisabled: import("vue").ComputedRef<import("vuesax-alpha/es/utils").VsPropMergeType<BooleanConstructor, unknown, unknown> | undefined>;
    toggleLastOptionHitState: (hit?: boolean | undefined) => boolean | undefined;
    resetInputState: (e: KeyboardEvent) => void;
    handleComposition: (event: Event) => void;
    onOptionCreate: (value: SelectOptionValue, option: SelectOptionContext) => void;
    onOptionDestroy: (value: SelectOptionValue, option: SelectOptionContext) => void;
    handleMenuEnter: () => void;
    focus: () => void;
    handleFocus: (event: FocusEvent) => void;
    blur: () => void;
    handleBlur: (event: FocusEvent) => void;
    handleClearClick: () => void;
    showClearable: import("vue").ComputedRef<boolean>;
    handleClose: () => void;
    handleKeydownEscape: (event: Event | KeyboardEvent) => void;
    toggleMenu: (e?: MouseEvent | undefined) => void;
    selectOption: () => void;
    navigateOptions: (direction?: string) => void;
    dropMenuVisible: import("vue").WritableComputedRef<boolean>;
    queryChange: import("vue").ShallowRef<string>;
    showTagList: import("vue").ComputedRef<SelectOptionContext[]>;
    collapseTagList: import("vue").ComputedRef<SelectOptionContext[]>;
    reference: import("vue").Ref<HTMLInputElement | undefined>;
    input: import("vue").Ref<HTMLInputElement | undefined>;
    popperRef: import("vue").Ref<PopperExpose | undefined>;
    chips: import("vue").Ref<HTMLElement | undefined>;
    selectWrapper: import("vue").Ref<HTMLElement | undefined>;
    scrollbar: import("vue").Ref<{
        handleScroll: () => void;
    } | undefined>;
    handleMouseEnter: () => void;
    handleMouseLeave: () => void;
    processBeforeOpen: () => boolean;
    processBeforeClose: () => boolean;
    emptyText: import("vue").ComputedRef<string | null>;
    resetHoverIndex: () => void;
};
