| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 | 
							- import { ReactNode, CSSProperties, MouseEvent } from 'react';
 
- import { BaseFileItem } from '@douyinfe/semi-foundation/upload/foundation';
 
- import { strings } from '@douyinfe/semi-foundation/upload/constants';
 
- import { ArrayElement } from '../_base/base';
 
- export type PromptPositionType = ArrayElement<typeof strings.PROMPT_POSITION>;
 
- export type UploadListType = ArrayElement<typeof strings.LIST_TYPE>;
 
- export interface BeforeUploadProps {
 
-     file: FileItem;
 
-     fileList: Array<FileItem>;
 
- }
 
- export interface AfterUploadProps {
 
-     file: FileItem;
 
-     fileList: Array<FileItem>;
 
-     response: any;
 
- }
 
- export interface OnChangeProps {
 
-     fileList: Array<FileItem>;
 
-     currentFile: FileItem;
 
- }
 
- export interface customRequestArgs {
 
-     fileName: string; // Current file name
 
-     data: Record<string, any>; // User-set props.data
 
-     file: FileItem;
 
-     fileInstance: File; // Original File Object which extends to the blob, the file object actually acquired by the browser (https://developer.mozilla.org/zh-CN/docs/Web/API/File)
 
-     onProgress: (event: { total: number; loaded: number }) => any; // The function that should be called during the upload process, the event needs to contain the total and loaded attributes
 
-     onError: (userXhr: { status?: number }, e: Event) => any; // Functions to call in case of upload error
 
-     onSuccess: (response: any, e: Event) => any; // The function that should be called after the upload is successful, the response is the request result after the upload is successful
 
-     withCredentials: boolean; // User-set props.with Credentials
 
-     action: string; // User-set props.action
 
- }
 
- export interface CustomError extends Error {
 
-     status: number;
 
-     method: string;
 
-     url: string;
 
- }
 
- export interface FileItem extends BaseFileItem {
 
-     validateMessage?: ReactNode;
 
- }
 
- export interface RenderFileItemProps extends FileItem {
 
-     index?: number;
 
-     previewFile?: (fileItem: RenderFileItemProps) => ReactNode;
 
-     listType: UploadListType;
 
-     onRemove: () => void;
 
-     onRetry: () => void;
 
-     onReplace: () => void;
 
-     key: string;
 
-     showPicInfo?: boolean;
 
-     renderPicInfo?: (renderFileItemProps: RenderFileItemProps) => ReactNode;
 
-     renderPicPreviewIcon?: (renderFileItemProps: RenderFileItemProps) => ReactNode;
 
-     renderFileOperation?: (fileItem: RenderFileItemProps) => ReactNode;
 
-     showRetry?: boolean;
 
-     showReplace?: boolean;
 
-     style?: CSSProperties;
 
-     disabled: boolean;
 
-     onPreviewClick: () => void;
 
- }
 
 
  |