export interface Props {
  
  mode?: 'select' | 'input'

  
  defaultValue?: any[]

  
  modelValue?: any[]

  
  keywords?: string

  
  isMultiple?: boolean

  
  allowSearch?: boolean

  
  autoClearSearch?: boolean

  
  options?: Array<{ text: string; value: any }> | (() => Promise<Array<{ text: string; value: any }>>)

  
  loaded?: boolean
}
export interface Emits {
  
  (e: 'update:modelValue', val: any[]): void

  
  (e: 'update:keywords', val: string): void

  
  (e: 'visible-change', val: boolean): void

  
  (e: 'filter-confirm', val: any[] | Record<'value' | 'custom', any>, btnType: 'confirm' | 'reset'): void
}
