import { type ShallowRef, ComputedRef } from 'vue'; import type { CheckedInfo, TreeNodeData, ElTree } from 'element-ultra/components/tree'; import type { TreeSelectProps, TreeSelectEmits } from './tree-select'; interface Options { props: TreeSelectProps; emit: TreeSelectEmits; treeRef: ShallowRef | undefined>; filterer: any; treeSelectDisabled: ComputedRef; } export default function useTreeSelect(options: Options): { treeRef: ShallowRef; treeSelectRef: any; dropdownRef: any; treeVisible: any; changedByEvent: any; clearable: any; position: any; handleMouseLeave: () => void; handleMouseEnter: () => void; hasRendered: any; emitModelValue: { (v: string | number, label: string, model: Record | undefined): void; (v: (string | number)[], label: string[], model: Record[]): void; }; tagList: any; selectedLabel: any; setTreeChecked: () => void; handleCheck: (_: any, info: CheckedInfo) => void; handleSelectChange: (data?: TreeNodeData) => void; openDialog: () => void; closeDialog: () => void; handleCloseTag: (data: Record, i: number) => void; }; export {};