import { CancelTokenSource } from 'axios';
import { IGlobalOptions, IUploadOptions, IUploadFileSuccessFile, UploadFileStatusEnum } from './types';
declare abstract class UploadFile {
    /**
     * 全局参数
     */
    protected readonly globalOptions: IGlobalOptions;
    /**
     * 上传文件配置
     */
    protected readonly uploadOptions: IUploadOptions;
    /**
     * 上传状态
     */
    protected uploadStatus: UploadFileStatusEnum;
    /**
     * 上传文件的讯飞ID
     */
    protected uploadId: string;
    /**
     * 取消段取消上传
     */
    protected cancelTokenSource: CancelTokenSource;
    constructor(globalOptions: IGlobalOptions, uploadOptions: IUploadOptions);
    /**
     * 获取objectKey。文件上传目录+文件名
     * @returns 返回objectKey
     */
    protected getObjectKey(): string;
    /**
     * 获取文件下载地址
     */
    protected getFIleInfo(): Promise<IUploadFileSuccessFile>;
    /**
     * 判断是否终止上传
     */
    protected shouldAbort(): boolean;
    protected abstract execute(): void;
    abstract abort(): void;
}
export default UploadFile;
