/// import sharp, { Sharp } from 'sharp'; import { StorageEngine } from 'multer'; import { S3 } from 'aws-sdk'; import { ManagedUpload } from 'aws-sdk/lib/s3/managed_upload'; import { Request } from 'express'; import { S3StorageOptions, S3Storage } from './interfaces/s3-storage.interface'; import { SharpOptions } from './interfaces/sharp-options.interface'; export interface EventStream { stream: NodeJS.ReadableStream & Sharp; } export declare type File = Express.Multer.File & EventStream & Partial; export declare type Info = Partial; export declare class MulterSharp implements StorageEngine, S3Storage { storageOpts: S3StorageOptions; sharpOpts: SharpOptions; constructor(options: S3StorageOptions); _removeFile(req: Request, file: Info, cb: (error: Error) => void): void; _handleFile(req: Request, file: File, callback: (error?: any, info?: Partial) => void): void; private uploadImageFileToS3; private uploadFileToS3; }