content: /*
   * Selling Partner API for Fulfillment By Amazon (FBA) Inbound v2024.
   * The Selling Partner API for FBA Inbound API enables building inbound workflows to create, manage, and send shipments into Amazon's fulfillment network.
   *
   * OpenAPI spec version: 2024-03-20
   *
   *
   * NOTE: This class is auto generated by the swagger code generator program.
   * https://github.com/swagger-api/swagger-codegen.git
   * Do not edit the class manually.
   */
  
  
  package io.swagger.client;
  
  import java.io.IOException;
  
  import java.util.Map;
  import java.util.List;
  
  /**
   * Callback for asynchronous API call.
   *
   * @param <T> The return type
   */
  public interface ApiCallback<T> {
      /**
       * This is called when the API call fails.
       *
       * @param e               The exception causing the failure
       * @param statusCode      Status code of the response if available, otherwise it would be 0
       * @param responseHeaders Headers of the response if available, otherwise it would be null
       */
      void onFailure(ApiException e, int statusCode, Map<String, List<String>> responseHeaders);
  
      /**
       * This is called when the API call succeeded.
       *
       * @param result          The result deserialized from response
       * @param statusCode      Status code of the response
       * @param responseHeaders Headers of the response
       */
      void onSuccess(T result, int statusCode, Map<String, List<String>> responseHeaders);
  
      /**
       * This is called when the API upload processing.
       *
       * @param bytesWritten  bytes Written
       * @param contentLength content length of request body
       * @param done          write end
       */
      void onUploadProgress(long bytesWritten, long contentLength, boolean done);
  
      /**
       * This is called when the API downlond processing.
       *
       * @param bytesRead     bytes Read
       * @param contentLength content lenngth of the response
       * @param done          Read end
       */
      void onDownloadProgress(long bytesRead, long contentLength, boolean done);
  }
  