import Resume from './resume';
import Direct from './direct';
import Logger from '../logger';
import { UploadCompleteData } from '../api';
import { Observable } from '../utils';
import { QiniuError, QiniuNetworkError, QiniuRequestError } from '../errors';
import { Extra, UploadOptions, UploadHandlers, UploadProgress, Config } from './base';
import { HostPool } from './hosts';
export * from './base';
export * from './resume';
export declare function createUploadManager(options: UploadOptions, handlers: UploadHandlers, hostPool: HostPool, logger: Logger): Resume | Direct;
/**
 * @param file 上传文件
 * @param key 目标文件名
 * @param token 上传凭证
 * @param putExtra 上传文件的相关资源信息配置
 * @param config 上传任务的配置
 * @returns 返回用于上传任务的可观察对象
 */
export default function upload(file: File, key: string | null | undefined, token: string, putExtra?: Partial<Extra>, config?: Config): Observable<UploadProgress, QiniuError | QiniuRequestError | QiniuNetworkError, UploadCompleteData>;
