hunk.code_window:       expectType<AwsS3Multipart.AwsS3Part>(opts.parts[0])
         return {}
       }
     })
   }
  
hunk.labels: keep keep keep keep add
hunk.after_edit: {
     const uppy = Uppy<Uppy.StrictTypes>()
     expectError(uppy.use(AwsS3Multipart, { getChunkSize: 100 }))
     expectError(uppy.use(AwsS3Multipart, { getChunkSize: () => 'not a number' }))
     uppy.use(AwsS3Multipart, { getChunkSize: () => 100 })
     uppy.use(AwsS3Multipart, { getChunkSize: (file) => file.size })
   }
hunk.file_path: packages/@uppy/aws-s3-multipart/types/index.test-d.ts
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
  