import { ComputedRef, Ref } from 'vue';
import type { ITreeSelectProps, ITreeSelectEmits } from '../TreeSelect/index';
import type TreeStore from 'element-plus/es/components/tree/src/model/tree-store';
import type { FilterNodeMethodFunction } from 'element-plus/es/components/tree/src/tree.type';
import type { MaybeArray, UnknownObject } from '../types/index';
import type { SelectDataItem } from '../Select/index';
interface ITreeStore extends TreeStore {
    setCurrentKey: (value: string | number | null) => void;
}
export declare function useTreeSelect(props: ITreeSelectProps, emit: ITreeSelectEmits): {
    tree: Ref<ITreeStore>;
    expandedKeys?: ComputedRef<(string | number)[] | undefined>;
    value: ComputedRef<MaybeArray<string | number | boolean | UnknownObject> | undefined>;
    label: Ref<string | number | undefined>;
    list: Ref<SelectDataItem[]>;
    filter: FilterNodeMethodFunction;
    togglePopper: (state: boolean) => void;
    remove: (value: string) => void;
    upData: (e: SelectDataItem, node: unknown, self: unknown) => void;
    clear: () => void;
};
export {};
