import { UploadProps, UploadFile } from 'ant-design-vue'


export interface Props {
  
  draggle?: boolean

  
  modelValue: any

  
  maxCount?: number

  
  width: string

  
  error: boolean

  
  accept?: string

  
  errorMessage?: string

  
  errorFileSize?: string

  
  errorFileName?: string

  
  isView?: boolean

  
  showSize?: boolean

  
  btnName?: string
}

export interface Emits {
  
  (e: 'file-upload', file: UploadFile): void

  
  (e: 'errorFile-download'): void

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


export interface Actions {
  download: () => void
  preview: () => void
  remove: () => void
}

export interface Slots {
  
  customUpload: {}

  
  itemRender: {
    
    file: UploadFile

    
    actions: Actions
  }
}
