import { S3 } from "@aws-sdk/client-s3";
import BaseDownloader, { DownloadOptions, DownloadStreamResult, DownloadThumpOptions, DownloadUrlOptions, ThumbInfo } from "./BaseDownloader";
import { FileInfo } from "@newSdk/service/api/s3Client/getObject";
import { BucketInfoType } from "@newSdk/model/BucketInfo";
export default class AwsDownloader extends BaseDownloader {
    private client;
    getClient(): Promise<S3>;
    download(options: DownloadOptions): Promise<any>;
    downloadUrl({ key, thumbInfo }: DownloadUrlOptions): Promise<any>;
    headObject(key: FileInfo, thumbInfo?: ThumbInfo): Promise<any>;
    getObjectSize(key: FileInfo): Promise<number>;
    downloadThump({ key, thumbInfo, handler }: DownloadThumpOptions): Promise<any>;
    downloadStream({ key, thumbInfo, handler, }: DownloadOptions): Promise<DownloadStreamResult>;
    getObjectKey(key: FileInfo, bucketInfo: BucketInfoType, thumbInfo?: ThumbInfo): string;
}
