hunk.code_window:   constructor (file, options) {
       this.options = {
         ...defaultOptions,
         ...options
       }
       this.file = file
       this.key = this.options.key || null
       this.uploadId = this.options.uploadId || null
       this.parts = this.options.parts || []
  
hunk.labels: keep keep keep keep add keep keep keep keep keep
hunk.after_edit:     // Use default `getChunkSize` if it was null or something
       if (!this.options.getChunkSize) {
         this.options.getChunkSize = defaultOptions.getChunkSize
       }
  
hunk.file_path: packages/@uppy/aws-s3-multipart/src/MultipartUploader.js
hunk.type: add
file: import Uppy = require('@uppy/core')
  
  type MaybePromise<T> = T | Promise<T>
  
  declare module AwsS3 {
    interface AwsS3UploadParameters {
      method?: string
      url: string
      fields?: { [type: string]: string }
      headers?: { [type: string]: string }
    }
  
    interface AwsS3Options extends Uppy.PluginOptions {
      companionUrl?: string
      getUploadParameters?: (
        file: Uppy.UppyFile
      ) => MaybePromise<AwsS3UploadParameters>
      metaFields?: string[],
      timeout?: number
      limit?: number
    }
  }
  
  declare class AwsS3 extends Uppy.Plugin<AwsS3.AwsS3Options> {}
  
  export = AwsS3
  