import type { FileItem, RenderFileItemProps, UploadListType, PromptPositionType, BeforeUploadProps, AfterUploadProps, OnChangeProps, customRequestArgs, CustomError, RenderPictureCloseProps } from './interface'; import '@douyinfe/semi-foundation/lib/es/upload/upload.css'; import { VNode, CSSProperties, PropType } from 'vue'; import type { BeforeUploadObjectResult, AfterUploadResult, FileItemStatus } from '@douyinfe/semi-foundation/lib/es/upload/foundation'; import type { ValidateStatus } from '../_base/baseComponent'; import { CombineProps } from '../interface'; export { FileItem, FileItemStatus, RenderFileItemProps, UploadListType, PromptPositionType, BeforeUploadProps, AfterUploadProps, OnChangeProps, customRequestArgs, CustomError, BeforeUploadObjectResult, AfterUploadResult, }; export interface UploadProps { accept?: string; action: string; afterUpload?: (object: AfterUploadProps) => AfterUploadResult; beforeUpload?: (object: BeforeUploadProps) => BeforeUploadObjectResult | Promise | boolean; beforeClear?: (fileList: Array) => boolean | Promise; beforeRemove?: (file: FileItem, fileList: Array) => boolean | Promise; capture?: boolean | 'user' | 'environment' | undefined; className?: string; customRequest?: (object: customRequestArgs) => void; data?: Record | ((file: File) => Record); defaultFileList?: Array; directory?: boolean; disabled?: boolean; dragIcon?: VNode | string; dragMainText?: VNode | string; dragSubText?: VNode | string; draggable?: boolean; addOnPasting?: boolean; fileList?: Array; fileName?: string; headers?: Record | ((file: File) => Record); hotSpotLocation?: 'start' | 'end'; itemStyle?: CSSProperties; limit?: number; listType?: UploadListType; maxSize?: number; minSize?: number; multiple?: boolean; name?: string; onAcceptInvalid?: (files: File[]) => void; onChange?: (object: OnChangeProps) => void; onClear?: () => void; onDrop?: (e: Event, files: Array, fileList: Array) => void; onError?: (e: CustomError, file: File, fileList: Array, xhr: XMLHttpRequest) => void; onPastingError?: (error: Error | PermissionStatus) => void; onExceed?: (fileList: Array) => void; onFileChange?: (files: Array) => void; onOpenFileDialog?: () => void; onPreviewClick?: (fileItem: FileItem) => void; onProgress?: (percent: number, file: File, fileList: Array) => void; onRemove?: (currentFile: File, fileList: Array, currentFileItem: FileItem) => void; onRetry?: (fileItem: FileItem) => void; onSizeError?: (file: File, fileList: Array) => void; onSuccess?: (responseBody: any, file: File, fileList: Array) => void; previewFile?: (renderFileItemProps: RenderFileItemProps) => VNode | string; prompt?: VNode | string; promptPosition?: PromptPositionType; picHeight?: string | number; picWidth?: string | number; renderFileItem?: (renderFileItemProps: RenderFileItemProps) => VNode | string; renderPicInfo?: (renderFileItemProps: RenderFileItemProps) => VNode | string; renderThumbnail?: (renderFileItemProps: RenderFileItemProps) => VNode | string; renderPicPreviewIcon?: (renderFileItemProps: RenderFileItemProps) => VNode | string; renderPicClose?: (renderPicCloseProps: RenderPictureCloseProps) => VNode | string; renderFileOperation?: (fileItem: RenderFileItemProps) => VNode | string; showClear?: boolean; showPicInfo?: boolean; showReplace?: boolean; showRetry?: boolean; showUploadList?: boolean; style?: CSSProperties; timeout?: number; transformFile?: (file: File) => FileItem; uploadTrigger?: 'auto' | 'custom'; validateMessage?: VNode | string; validateStatus?: ValidateStatus; withCredentials?: boolean; } export interface UploadState { dragAreaStatus: 'default' | 'legal' | 'illegal'; fileList: Array; inputKey: number; localUrls: Array; replaceIdx: number; replaceInputKey: number; } export declare const vuePropsType: CombineProps; declare const Upload: import("vue").DefineComponent | { type: PropType; default?: any; required?: false; }; action: { type: PropType; default?: any; required: true; }; afterUpload: PropType<(object: AfterUploadProps) => AfterUploadResult> | { type: PropType<(object: AfterUploadProps) => AfterUploadResult>; default?: any; required?: false; }; beforeUpload: PropType<(object: BeforeUploadProps) => BeforeUploadObjectResult | Promise | boolean> | { type: PropType<(object: BeforeUploadProps) => BeforeUploadObjectResult | Promise | boolean>; default?: any; required?: false; }; beforeClear: PropType<(fileList: Array) => boolean | Promise> | { type: PropType<(fileList: Array) => boolean | Promise>; default?: any; required?: false; }; beforeRemove: PropType<(file: FileItem, fileList: Array) => boolean | Promise> | { type: PropType<(file: FileItem, fileList: Array) => boolean | Promise>; default?: any; required?: false; }; capture: PropType | { type: PropType; default?: any; required?: false; }; className: PropType | { type: PropType; default?: any; required?: false; }; customRequest: PropType<(object: customRequestArgs) => void> | { type: PropType<(object: customRequestArgs) => void>; default?: any; required?: false; }; data: PropType | ((file: File) => Record)> | { type: PropType | ((file: File) => Record)>; default?: any; required?: false; }; defaultFileList: PropType | { type: PropType; default?: any; required?: false; }; directory: PropType | { type: PropType; default?: any; required?: false; }; disabled: PropType | { type: PropType; default?: any; required?: false; }; dragIcon: PropType> | { type: PropType>; default?: any; required?: false; }; dragMainText: PropType> | { type: PropType>; default?: any; required?: false; }; dragSubText: PropType> | { type: PropType>; default?: any; required?: false; }; draggable: PropType | { type: PropType; default?: any; required?: false; }; addOnPasting: PropType | { type: PropType; default?: any; required?: false; }; fileList: PropType | { type: PropType; default?: any; required?: false; }; fileName: PropType | { type: PropType; default?: any; required?: false; }; headers: PropType | ((file: File) => Record)> | { type: PropType | ((file: File) => Record)>; default?: any; required?: false; }; hotSpotLocation: PropType<"end" | "start"> | { type: PropType<"end" | "start">; default?: any; required?: false; }; itemStyle: PropType | { type: PropType; default?: any; required?: false; }; limit: PropType | { type: PropType; default?: any; required?: false; }; listType: PropType<"list" | "picture"> | { type: PropType<"list" | "picture">; default?: any; required?: false; }; maxSize: PropType | { type: PropType; default?: any; required?: false; }; minSize: PropType | { type: PropType; default?: any; required?: false; }; multiple: PropType | { type: PropType; default?: any; required?: false; }; name: PropType | { type: PropType; default?: any; required?: false; }; onAcceptInvalid: PropType<(files: File[]) => void> | { type: PropType<(files: File[]) => void>; default?: any; required?: false; }; onChange: PropType<(object: OnChangeProps) => void> | { type: PropType<(object: OnChangeProps) => void>; default?: any; required?: false; }; onClear: PropType<() => void> | { type: PropType<() => void>; default?: any; required?: false; }; onDrop: PropType<(e: Event, files: Array, fileList: Array) => void> | { type: PropType<(e: Event, files: Array, fileList: Array) => void>; default?: any; required?: false; }; onError: PropType<(e: CustomError, file: File, fileList: Array, xhr: XMLHttpRequest) => void> | { type: PropType<(e: CustomError, file: File, fileList: Array, xhr: XMLHttpRequest) => void>; default?: any; required?: false; }; onPastingError: PropType<(error: Error | PermissionStatus) => void> | { type: PropType<(error: Error | PermissionStatus) => void>; default?: any; required?: false; }; onExceed: PropType<(fileList: Array) => void> | { type: PropType<(fileList: Array) => void>; default?: any; required?: false; }; onFileChange: PropType<(files: Array) => void> | { type: PropType<(files: Array) => void>; default?: any; required?: false; }; onOpenFileDialog: PropType<() => void> | { type: PropType<() => void>; default?: any; required?: false; }; onPreviewClick: PropType<(fileItem: FileItem) => void> | { type: PropType<(fileItem: FileItem) => void>; default?: any; required?: false; }; onProgress: PropType<(percent: number, file: File, fileList: Array) => void> | { type: PropType<(percent: number, file: File, fileList: Array) => void>; default?: any; required?: false; }; onRemove: PropType<(currentFile: File, fileList: Array, currentFileItem: FileItem) => void> | { type: PropType<(currentFile: File, fileList: Array, currentFileItem: FileItem) => void>; default?: any; required?: false; }; onRetry: PropType<(fileItem: FileItem) => void> | { type: PropType<(fileItem: FileItem) => void>; default?: any; required?: false; }; onSizeError: PropType<(file: File, fileList: Array) => void> | { type: PropType<(file: File, fileList: Array) => void>; default?: any; required?: false; }; onSuccess: PropType<(responseBody: any, file: File, fileList: Array) => void> | { type: PropType<(responseBody: any, file: File, fileList: Array) => void>; default?: any; required?: false; }; previewFile: PropType<(renderFileItemProps: RenderFileItemProps) => VNode | string> | { type: PropType<(renderFileItemProps: RenderFileItemProps) => VNode | string>; default?: any; required?: false; }; prompt: PropType> | { type: PropType>; default?: any; required?: false; }; promptPosition: PropType<"bottom" | "left" | "right"> | { type: PropType<"bottom" | "left" | "right">; default?: any; required?: false; }; picHeight: PropType | { type: PropType; default?: any; required?: false; }; picWidth: PropType | { type: PropType; default?: any; required?: false; }; renderFileItem: PropType<(renderFileItemProps: RenderFileItemProps) => VNode | string> | { type: PropType<(renderFileItemProps: RenderFileItemProps) => VNode | string>; default?: any; required?: false; }; renderPicInfo: PropType<(renderFileItemProps: RenderFileItemProps) => VNode | string> | { type: PropType<(renderFileItemProps: RenderFileItemProps) => VNode | string>; default?: any; required?: false; }; renderThumbnail: PropType<(renderFileItemProps: RenderFileItemProps) => VNode | string> | { type: PropType<(renderFileItemProps: RenderFileItemProps) => VNode | string>; default?: any; required?: false; }; renderPicPreviewIcon: PropType<(renderFileItemProps: RenderFileItemProps) => VNode | string> | { type: PropType<(renderFileItemProps: RenderFileItemProps) => VNode | string>; default?: any; required?: false; }; renderPicClose: PropType<(renderPicCloseProps: RenderPictureCloseProps) => VNode | string> | { type: PropType<(renderPicCloseProps: RenderPictureCloseProps) => VNode | string>; default?: any; required?: false; }; renderFileOperation: PropType<(fileItem: RenderFileItemProps) => VNode | string> | { type: PropType<(fileItem: RenderFileItemProps) => VNode | string>; default?: any; required?: false; }; showClear: PropType | { type: PropType; default?: any; required?: false; }; showPicInfo: PropType | { type: PropType; default?: any; required?: false; }; showReplace: PropType | { type: PropType; default?: any; required?: false; }; showRetry: PropType | { type: PropType; default?: any; required?: false; }; showUploadList: PropType | { type: PropType; default?: any; required?: false; }; style: PropType | { type: PropType; default?: any; required?: false; }; timeout: PropType | { type: PropType; default?: any; required?: false; }; transformFile: PropType<(file: File) => FileItem> | { type: PropType<(file: File) => FileItem>; default?: any; required?: false; }; uploadTrigger: PropType<"auto" | "custom"> | { type: PropType<"auto" | "custom">; default?: any; required?: false; }; validateMessage: PropType> | { type: PropType>; default?: any; required?: false; }; validateStatus: PropType<"default" | "error" | "warning" | "success"> | { type: PropType<"default" | "error" | "warning" | "success">; default?: any; required?: false; }; withCredentials: PropType | { type: PropType; default?: any; required?: false; }; }>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly | { type: PropType; default?: any; required?: false; }; action: { type: PropType; default?: any; required: true; }; afterUpload: PropType<(object: AfterUploadProps) => AfterUploadResult> | { type: PropType<(object: AfterUploadProps) => AfterUploadResult>; default?: any; required?: false; }; beforeUpload: PropType<(object: BeforeUploadProps) => BeforeUploadObjectResult | Promise | boolean> | { type: PropType<(object: BeforeUploadProps) => BeforeUploadObjectResult | Promise | boolean>; default?: any; required?: false; }; beforeClear: PropType<(fileList: Array) => boolean | Promise> | { type: PropType<(fileList: Array) => boolean | Promise>; default?: any; required?: false; }; beforeRemove: PropType<(file: FileItem, fileList: Array) => boolean | Promise> | { type: PropType<(file: FileItem, fileList: Array) => boolean | Promise>; default?: any; required?: false; }; capture: PropType | { type: PropType; default?: any; required?: false; }; className: PropType | { type: PropType; default?: any; required?: false; }; customRequest: PropType<(object: customRequestArgs) => void> | { type: PropType<(object: customRequestArgs) => void>; default?: any; required?: false; }; data: PropType | ((file: File) => Record)> | { type: PropType | ((file: File) => Record)>; default?: any; required?: false; }; defaultFileList: PropType | { type: PropType; default?: any; required?: false; }; directory: PropType | { type: PropType; default?: any; required?: false; }; disabled: PropType | { type: PropType; default?: any; required?: false; }; dragIcon: PropType> | { type: PropType>; default?: any; required?: false; }; dragMainText: PropType> | { type: PropType>; default?: any; required?: false; }; dragSubText: PropType> | { type: PropType>; default?: any; required?: false; }; draggable: PropType | { type: PropType; default?: any; required?: false; }; addOnPasting: PropType | { type: PropType; default?: any; required?: false; }; fileList: PropType | { type: PropType; default?: any; required?: false; }; fileName: PropType | { type: PropType; default?: any; required?: false; }; headers: PropType | ((file: File) => Record)> | { type: PropType | ((file: File) => Record)>; default?: any; required?: false; }; hotSpotLocation: PropType<"end" | "start"> | { type: PropType<"end" | "start">; default?: any; required?: false; }; itemStyle: PropType | { type: PropType; default?: any; required?: false; }; limit: PropType | { type: PropType; default?: any; required?: false; }; listType: PropType<"list" | "picture"> | { type: PropType<"list" | "picture">; default?: any; required?: false; }; maxSize: PropType | { type: PropType; default?: any; required?: false; }; minSize: PropType | { type: PropType; default?: any; required?: false; }; multiple: PropType | { type: PropType; default?: any; required?: false; }; name: PropType | { type: PropType; default?: any; required?: false; }; onAcceptInvalid: PropType<(files: File[]) => void> | { type: PropType<(files: File[]) => void>; default?: any; required?: false; }; onChange: PropType<(object: OnChangeProps) => void> | { type: PropType<(object: OnChangeProps) => void>; default?: any; required?: false; }; onClear: PropType<() => void> | { type: PropType<() => void>; default?: any; required?: false; }; onDrop: PropType<(e: Event, files: Array, fileList: Array) => void> | { type: PropType<(e: Event, files: Array, fileList: Array) => void>; default?: any; required?: false; }; onError: PropType<(e: CustomError, file: File, fileList: Array, xhr: XMLHttpRequest) => void> | { type: PropType<(e: CustomError, file: File, fileList: Array, xhr: XMLHttpRequest) => void>; default?: any; required?: false; }; onPastingError: PropType<(error: Error | PermissionStatus) => void> | { type: PropType<(error: Error | PermissionStatus) => void>; default?: any; required?: false; }; onExceed: PropType<(fileList: Array) => void> | { type: PropType<(fileList: Array) => void>; default?: any; required?: false; }; onFileChange: PropType<(files: Array) => void> | { type: PropType<(files: Array) => void>; default?: any; required?: false; }; onOpenFileDialog: PropType<() => void> | { type: PropType<() => void>; default?: any; required?: false; }; onPreviewClick: PropType<(fileItem: FileItem) => void> | { type: PropType<(fileItem: FileItem) => void>; default?: any; required?: false; }; onProgress: PropType<(percent: number, file: File, fileList: Array) => void> | { type: PropType<(percent: number, file: File, fileList: Array) => void>; default?: any; required?: false; }; onRemove: PropType<(currentFile: File, fileList: Array, currentFileItem: FileItem) => void> | { type: PropType<(currentFile: File, fileList: Array, currentFileItem: FileItem) => void>; default?: any; required?: false; }; onRetry: PropType<(fileItem: FileItem) => void> | { type: PropType<(fileItem: FileItem) => void>; default?: any; required?: false; }; onSizeError: PropType<(file: File, fileList: Array) => void> | { type: PropType<(file: File, fileList: Array) => void>; default?: any; required?: false; }; onSuccess: PropType<(responseBody: any, file: File, fileList: Array) => void> | { type: PropType<(responseBody: any, file: File, fileList: Array) => void>; default?: any; required?: false; }; previewFile: PropType<(renderFileItemProps: RenderFileItemProps) => VNode | string> | { type: PropType<(renderFileItemProps: RenderFileItemProps) => VNode | string>; default?: any; required?: false; }; prompt: PropType> | { type: PropType>; default?: any; required?: false; }; promptPosition: PropType<"bottom" | "left" | "right"> | { type: PropType<"bottom" | "left" | "right">; default?: any; required?: false; }; picHeight: PropType | { type: PropType; default?: any; required?: false; }; picWidth: PropType | { type: PropType; default?: any; required?: false; }; renderFileItem: PropType<(renderFileItemProps: RenderFileItemProps) => VNode | string> | { type: PropType<(renderFileItemProps: RenderFileItemProps) => VNode | string>; default?: any; required?: false; }; renderPicInfo: PropType<(renderFileItemProps: RenderFileItemProps) => VNode | string> | { type: PropType<(renderFileItemProps: RenderFileItemProps) => VNode | string>; default?: any; required?: false; }; renderThumbnail: PropType<(renderFileItemProps: RenderFileItemProps) => VNode | string> | { type: PropType<(renderFileItemProps: RenderFileItemProps) => VNode | string>; default?: any; required?: false; }; renderPicPreviewIcon: PropType<(renderFileItemProps: RenderFileItemProps) => VNode | string> | { type: PropType<(renderFileItemProps: RenderFileItemProps) => VNode | string>; default?: any; required?: false; }; renderPicClose: PropType<(renderPicCloseProps: RenderPictureCloseProps) => VNode | string> | { type: PropType<(renderPicCloseProps: RenderPictureCloseProps) => VNode | string>; default?: any; required?: false; }; renderFileOperation: PropType<(fileItem: RenderFileItemProps) => VNode | string> | { type: PropType<(fileItem: RenderFileItemProps) => VNode | string>; default?: any; required?: false; }; showClear: PropType | { type: PropType; default?: any; required?: false; }; showPicInfo: PropType | { type: PropType; default?: any; required?: false; }; showReplace: PropType | { type: PropType; default?: any; required?: false; }; showRetry: PropType | { type: PropType; default?: any; required?: false; }; showUploadList: PropType | { type: PropType; default?: any; required?: false; }; style: PropType | { type: PropType; default?: any; required?: false; }; timeout: PropType | { type: PropType; default?: any; required?: false; }; transformFile: PropType<(file: File) => FileItem> | { type: PropType<(file: File) => FileItem>; default?: any; required?: false; }; uploadTrigger: PropType<"auto" | "custom"> | { type: PropType<"auto" | "custom">; default?: any; required?: false; }; validateMessage: PropType> | { type: PropType>; default?: any; required?: false; }; validateStatus: PropType<"default" | "error" | "warning" | "success"> | { type: PropType<"default" | "error" | "warning" | "success">; default?: any; required?: false; }; withCredentials: PropType | { type: PropType; default?: any; required?: false; }; }>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>; export default Upload;