import type { Ref, RenderFunction, SetupContext } from 'vue' import type { TreeNodeData } from 'element-plus/es/components/tree/src/tree.type' import type { TreeSelectProps } from '../base' import type { ComponentBaseOptions, ComponentSlotType, DefineComponentApp, DefineComponentInstance, Merge, } from '../common' import type { KSelectEmits, KSelectMethods, KSelectProps, KSelectSlots } from './select' import type { KTreeEmits, KTreeMethods, KTreeProps, KTreeSlots } from './tree' export declare const KTreeSelect: DefineComponentApp export type KTreeSelectInstance = DefineComponentInstance export interface KTreeSelectConstructor extends ComponentBaseOptions, KTreeSelectMethods { props: KTreeSelectProps context: SetupContext getRefMaps(): KTreeSelectPrivateRef getComputeMaps(): KTreeSelectPrivateComputed renderVN: RenderFunction } export interface KTreeSelectPrivateRef { refElem: Ref } export interface KTreeSelectPrivateComputed { } export type KTreeSelectProps = Merge export type KTreeSelectEmits = KSelectEmits & KTreeEmits export type KTreeSelectSlots = Merge< { default: (_: { node: TreeNodeData; data: any }) => ComponentSlotType empty: (_: { query: string }) => ComponentSlotType }, Merge > export interface KTreeSelectMethods extends KSelectMethods, KTreeMethods { }