import type { UploadProps, UploadFileStatus, UploadFile, UploadChangeParam, RcFile } from 'antd/lib/upload/interface';
import { AxiosRequestConfig } from 'axios';
interface UploadChangeData extends UploadChangeParam {
    data?: object;
}
export type { RcFile, UploadProps, UploadFileStatus, UploadFile, UploadChangeData };
export type materialFileType = 'video' | 'image';
export type cosUploadType = 'basic' | 'multipart' | 'splice';
export interface VodCommitRequestMethod {
    (data: {
        vodSessionKey: string;
    }): Promise<VodCommitRequestResult>;
}
export interface VodCommitRequestResult {
    mediaUrl: string;
}
export interface CosRequestMethod {
    (files: RcFile[]): Promise<CosUploadRequestResult[]>;
}
export interface CosUploadRequestResult {
    bucket: string;
    region: string;
    storeName: string;
    secretId: string;
    secretKey: string;
    sessionToken: string;
    fileId: string;
    fileUid: string;
    url: string;
    vodSessionKey?: string;
}
export type RequestConfigData = Omit<AxiosRequestConfig, 'url' | 'method' | 'data'>;
export interface UploadRegisterParams {
    file: UploadFile;
    item: CosUploadRequestResult;
}
export interface FileResult {
    _uid?: string;
    name?: string;
    response?: object;
    url?: string;
    thumbUrl?: string;
}
