import BaseDownloader, { ProgressHandler, ThumbInfo } from "@newSdk/factory/downloader/BaseDownloader";
import { FileInfo } from "@newSdk/service/api/s3Client/getObject";
import OSS from "ali-oss";
export default class AliyunDownloader extends BaseDownloader {
    private client;
    getClient(): Promise<OSS>;
    download(key: FileInfo, thumbInfo?: ThumbInfo, handler?: ProgressHandler): Promise<any>;
    downloadThump(key: FileInfo, thumbInfo: ThumbInfo, handler: ProgressHandler): Promise<any>;
    downloadUrl(key: FileInfo, thumbInfo?: ThumbInfo, handler?: ProgressHandler): Promise<any>;
    headObject(key: FileInfo): Promise<any>;
    getObjectSize(key: FileInfo): Promise<number>;
    downloadStream(key: FileInfo, thumbInfo?: ThumbInfo): Promise<{
        body: ReadableStream;
        total: number;
    } | undefined>;
    getObjectKey(key: FileInfo): string;
}
