import { ComputedRef, Ref, ShallowRef } from 'vue'; import { TdUploadProps, UploadChangeContext, UploadFile, UploadRemoveContext } from '../type'; export type ValidateParams = Parameters[0]; export default function useUpload(props: TdUploadProps): { toUploadFiles: ShallowRef; uploadValue: Ref; displayFiles: ComputedRef; sizeOverLimitMessage: Ref; uploading: Ref; inputRef: Ref; disabled: Ref; xhrReq: ShallowRef<{ files: UploadFile[]; xhrReq: XMLHttpRequest; }[]>; isImageFile: (file: UploadFile) => boolean; uploadFilePercent: (params: { file: UploadFile; percent: number; }) => void; uploadFiles: (toFiles?: UploadFile[]) => void; onFileChange: (files: File[]) => void; onNormalFileChange: (e: Event) => void; onInnerRemove: (context: UploadRemoveContext) => void; cancelUpload: (context?: { file?: UploadFile; e?: MouseEvent; }) => void; setUploadValue: (value: UploadFile[], context: UploadChangeContext) => void; };