// Type definitions for multer-s3 // Project: https://github.com/badunk/multer-s3 // Definitions by: KIM Jaesuck a.k.a. gim tcaesvk // Definitions: https://github.com/DefinitelyType/DefinitelyTyped /// /// declare module "multer-s3" { import * as AWS from "aws-sdk" interface Options { s3: AWS.S3, bucket: ((req: Express.Request, file: Express.Multer.File, callback: (error: any, bucket?: string) => void) => void) | string key?: (req: Express.Request, file: Express.Multer.File, callback: (error: any, key?: string) => void) => void acl?: ((req: Express.Request, file: Express.Multer.File, callback: (error: any, acl?: string) => void) => void) | string contentType?: (req: Express.Request, file: Express.Multer.File, callback: (error: any, mime?: string, stream?: NodeJS.ReadableStream) => void) => void metadata?: (req: Express.Request, file: Express.Multer.File, callback: (error: any, metadata?: string) => void) => void cacheControl?: ((req: Express.Request, file: Express.Multer.File, callback: (error: any, cacheControl?: string) => void) => void) | string } import * as multer from "multer" interface S3Storage { (options?: Options): multer.StorageEngine AUTO_CONTENT_TYPE: (req: Express.Request, file: Express.Multer.File, callback: (error: any, mime?: string, stream?: NodeJS.ReadableStream) => void) => void DEFAULT_CONTENT_TYPE: (req: Express.Request, file: Express.Multer.File, callback: (error: any, mime?: string) => void) => void } let s3Storage: S3Storage export = s3Storage }