/// import { PassThrough, Readable } from 'stream'; import { AbortMultipartUploadCommandOutput, CompleteMultipartUploadCommandOutput, PutObjectCommandInput } from '@aws-sdk/client-s3'; export interface ObjectInput { /** * The S3 bucket to read from. */ readonly bucket: string; /** * The S3 object to read from. */ readonly key: string; /** * The content type of the object. */ readonly contentType?: string; } export declare class S3Stream { /** * The S3 client to use. */ private s3; /** * A helper class to read and write to S3 using * streams. * @param {*} region the AWS region to use. */ constructor(opts?: { region: string | undefined; }); /** * @param input represents a bucket, key, and content type tuple. * @returns a read stream to the given S3 object. */ createS3ReadStream(input: ObjectInput): Promise; /** * Creates a write stream to the given S3 object. * @param input represents a bucket, key, and content type tuple. * @returns an object containing the write stream and a promise * which resolves when the write stream has finished. */ createS3WriteStream(input: ObjectInput, opts?: Partial): { writeStream: PassThrough; promise: Promise; }; }