// import type { App, PropType, Plugin, ExtractPropTypes } from 'vue'
// import { computed, defineComponent, ref, onMounted } from 'vue'
// import Select, { selectProps, SelectProps } from '../select'
// import TreeSelect, { treeSelectProps } from '../tree-select'
// import { initDefaultProps } from '../_util/props-util'
// import useConfigInject from '../_util/hooks/useConfigInject'
// import { withInstall } from '../_util/type'
// import PropTypes from '../_util/vue-types'
// import omit from '../_util/omit'
// import useForwardRef from '../_util/hooks/useForwardRef'
// const selectProProps = () => {
//   return omit(
//     {
//       ...selectProps(),
//       ...treeSelectProps(),
//       domain: String,
//       url: String,
//       service: Function as PropType<() => Promise<any>>
//     },
//     ['treeData']
//   )
// }
// const DefaultSelectProps = {
//   listHeight: 256,
//   listItemHeight: 24,
// }
// const SelectSlots = [
//   'notFoundContent',
//   'suffixIcon',
//   'itemIcon',
//   'removeIcon',
//   'clearIcon',
//   'dropdownRender',
//   'option',
//   'placeholder',
//   'tagRender',
//   'maxTagPlaceholder',
// ]
// const DefaultTreeSelectProps = {
//   choiceTransitionName: '',
//   listHeight: 256,
//   treeIcon: true,
//   listItemHeight: 26,
//   bordered: true,
// }
// const TreeSelectSlots = [
//   'title',
//   'titleRender',
//   'placeholder',
//   'maxTagPlaceholder',
//   'treeIcon',
//   'switcherIcon',
//   'notFoundContent',
// ]
// const slots = [...new Set([...SelectSlots, ...TreeSelectSlots])]
// const SelectPro = defineComponent({
//   name: 'PfSelectPro',
//   inheritAttrs: false,
//   props: selectProProps(),
//   slots,
//   // @ts-ignore
//   setup(props, { attrs, emit, slots, expose }) {
//     const forwardRef = useForwardRef()
//     onMounted(() => {
//       console.log('props.options', props.options)
//     })
//     return () => (
//       <Select
//         style={{width: '200px'}}
//         ref={forwardRef}
//         // options={props.options}
//         {...(props as unknown as SelectProps)}
//       />
//     )
//   }
// })
// export default withInstall(SelectPro)