import { VNode } from 'omi'; import { StyledProps } from '../common'; import { TdUploadProps, UploadFile, UploadInstanceFunctions, UploadRemoveContext } from './type'; export interface CommonDisplayFileProps { accept: string; files: TdUploadProps['files']; toUploadFiles: TdUploadProps['files']; displayFiles: TdUploadProps['files']; theme: TdUploadProps['theme']; abridgeName: TdUploadProps['abridgeName']; placeholder: TdUploadProps['placeholder']; classPrefix: string; tips?: TdUploadProps['tips']; sizeOverLimitMessage?: string; autoUpload?: boolean; disabled?: boolean; uploading?: boolean; tipsClasses?: string; errorClasses?: string[]; placeholderClass?: string; showUploadProgress?: boolean; children?: VNode; fileListDisplay?: VNode<{ files: UploadFile[]; }>; onRemove?: (p: UploadRemoveContext) => void; } export interface UploadProps extends TdUploadProps, StyledProps { } export interface UploadRef extends UploadInstanceFunctions { upload: HTMLInputElement; uploading: boolean; cancelUpload: (context?: { file?: UploadFile; e?: MouseEvent; }) => void; }