export interface FieldNamesOptions {
  label?: string
  children?: string
}

export interface Props {
  
  mode: 'tree' | 'list'

  
  modelValue?: string

  
  isView?: boolean

  
  width?: number | string

  
  size?: 'default' | 'table'

  
  options: any[]

  
  placement?: 'top' | 'top-start' | 'top-end' | 'bottom' | 'bottom-start' | 'bottom-end'

  
  maxCount?: number

  
  

  
  offset?: number

  
  popperOptions?: Record<string, any>

  
  showFullPath: boolean

  
  fieldNames?: FieldNamesOptions & any

  
  treeOptions?: any

  
  path?: any

  
  nodeKey?: string

  
  showInputDom?: boolean
}

export interface Emits {
  (e: 'update:modelValue', val: string): void

  (e: 'input', val: string): void

  (e: 'change', val: string): void

  
  (e: 'node-click', val: any): void

  
  (e: 'update:path', val: any): void
}
