/// <reference types="react" />
import { UploadProps, UploadFile } from 'antd/lib/upload/interface';
import { UploadRequestOption as RcUploadRequestOption } from 'rc-upload/lib/interface';
declare type status = 'error' | 'uploading' | 'success';
declare type instance = {
    nosUpload: (option: UploadRequestOption) => void;
    yxUpload: (option: UploadRequestOption) => void;
};
export declare type UploadRequestOption = Omit<RcUploadRequestOption, 'action'>;
export interface RcFile extends File {
    uid: string;
    readonly lastModifiedDate: Date;
    readonly webkitRelativePath: string;
}
export interface NosFileProps {
    file: RcFile;
    fileKey: string;
    fileName: string;
    progress: string;
    status: status;
    xhr: XMLHttpRequest;
}
export interface UploadFileProps extends Omit<UploadFile, 'uid'> {
    uid?: string;
    nosKey: string;
    name: string;
    url: string;
    canDownload: boolean;
    transformId?: string | number;
    transformType?: 'KM' | 'YX_VIDEO' | 'YX_AUDIO' | 'NONE';
    yxInfo?: any;
}
export interface UploadChunkProps extends Omit<UploadProps, 'fileList' | 'onChange' | 'customRequest'> {
    encrypt?: boolean;
    transformType?: ('KM' | 'YX')[];
    canDownload?: boolean;
    text?: string;
    dragger?: boolean;
    filterErrorFile?: boolean;
    canRepeat?: boolean;
    children?: React.ReactNode;
    bucketName?: string;
    AppKey?: string;
    trunkSize?: number;
    validFileType?: string[];
    fileList?: UploadFileProps | UploadFileProps[];
    maxCount?: number;
    maxSize?: number;
    extra?: React.ReactNode;
    getInstance?: (instance: instance) => void;
    onChange?: (fileList: UploadFileProps | UploadFileProps[], file: UploadFileProps) => void;
}
export interface UploadLocale {
    text: string;
    fileNameLongError: string;
    fileTypeError: string;
    maxSizeError: string;
    repeatError: string;
    convertError: string;
    commonError: string;
    notSupportPreview: string;
    lockTooltip: string;
    dragUploadText: string;
}
export {};
