import type { App } from 'vue'

import Dragger from './Dragger'
import Upload, { LIST_IGNORE } from './Upload'

export type { UploadChangeParam, UploadFile, UploadListProps, UploadProps } from './interface'

/* istanbul ignore next */
export const UploadDragger = Dragger

export default Object.assign(Upload, {
  Dragger,
  LIST_IGNORE,
  install(app: App) {
    app.component(Upload.name, Upload)
    app.component(Dragger.name, Dragger)
    return app
  },
})
