text: /*
   * Mailchimp Marketing API
   * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen)
   *
   * OpenAPI spec version: 3.0.74
   * Contact: apihelp@mailchimp.com
   *
   * NOTE: This class is auto generated by the swagger code generator program.
   * https://github.com/swagger-api/swagger-codegen.git
   *
   * Swagger Codegen version: 2.4.12
   *
   * Do not edit the class manually.
   *
   */
  
  
  
  var ApiClient = require('../ApiClient');
  
  /**
   * AccountExports service.
   * @module api/AccountExportsApi
   */
  
  /**
   * Constructs a new AccountExportsApi. 
   * @alias module:api/AccountExportsApi
   * @class
   * @param {module:ApiClient} apiClient Optional API client implementation to use,
   * default to {@link module:ApiClient#instance} if unspecified.
   */
  module.exports = function(apiClient) {
    this.apiClient = apiClient || ApiClient.instance;
  
    /**
     * List account exports
     * Get a list of account exports for a given account.
     * @param {Object} opts Optional parameters
     * @param {Array.<String>} opts.fields A comma-separated list of fields to return. Reference parameters of sub-objects with dot notation.
     * @param {Array.<String>} opts.excludeFields A comma-separated list of fields to exclude. Reference parameters of sub-objects with dot notation.
     * @param {Number} opts.count The number of records to return. Default value is 10. Maximum value is 1000 (default to 10)
     * @param {Number} opts.offset Used for [pagination](https://mailchimp.com/developer/marketing/docs/methods-parameters/#pagination), this it the number of records from a collection to skip. Default value is 0. (default to 0)
     * @return {Promise} a {@link https://www.promisejs.org/|Promise}, with an object containing data of type {@link module:model/InlineResponse2001} and HTTP response
     */
    this.listAccountExportsWithHttpInfo = function(opts) {
      opts = opts || {};
      var postBody = null;
  
      var pathParams = {
      };
      var queryParams = {
        'fields': this.apiClient.buildCollectionParam(opts['fields'], 'csv'),
        'exclude_fields': this.apiClient.buildCollectionParam(opts['excludeFields'], 'csv'),
        'count': opts['count'],
        'offset': opts['offset']
      };
      var headerParams = {
      };
  
      var formParams = {
      };
  
      var authNames = ['basicAuth'];
      var contentTypes = ['application/json'];
      var accepts = ['application/json', 'application/problem+json'];
      var returnType = 'application/json';
  
      return this.apiClient.callApi(
        '/account-exports', 'GET',
        pathParams, queryParams, headerParams, formParams, postBody,
        authNames, contentTypes, accepts, returnType
      );
    }
    /**
     * List account exports
     * Get a list of account exports for a given account.
     * @param {Object} opts Optional parameters
     * @param {Array.<String>} opts.fields A comma-separated list of fields to return. Reference parameters of sub-objects with dot notation.
     * @param {Array.<String>} opts.excludeFields A comma-separated list of fields to exclude. Reference parameters of sub-objects with dot notation.
     * @param {Number} opts.count The number of records to return. Default value is 10. Maximum value is 1000 (default to 10)
     * @param {Number} opts.offset Used for [pagination](https://mailchimp.com/developer/marketing/docs/methods-parameters/#pagination), this it the number of records from a collection to skip. Default value is 0. (default to 0)
     * @return {Promise} a {@link https://www.promisejs.org/|Promise}, with data of type {@link module:model/InlineResponse2001}
     */
    this.listAccountExports = function(opts) {
      return this.listAccountExportsWithHttpInfo(opts)
        .then(function(response_and_data) {
          return response_and_data.data;
        });
    }
  
    /**
     * Add export
     * Create a new account export in your Mailchimp account.
     * @param {module:model/CreateAnAccountExport} body 
     * @return {Promise} a {@link https://www.promisejs.org/|Promise}, with an object containing data of type {@link module:model/InlineResponse2001Exports} and HTTP response
     */
    this.createAccountExportWithHttpInfo = function(body) {
      var postBody = body;
  
      // verify the required parameter 'body' is set
      if (body === undefined || body === null) {
        throw new Error("Missing the required parameter 'body' when calling ");
      }
  
      var pathParams = {
      };
      var queryParams = {
      };
      var headerParams = {
      };
  
      var formParams = {
      };
  
      var authNames = ['basicAuth'];
      var contentTypes = ['application/json'];
      var accepts = ['application/json', 'application/problem+json'];
      var returnType = 'application/json';
  
      return this.apiClient.callApi(
        '/account-exports', 'POST',
        pathParams, queryParams, headerParams, formParams, postBody,
        authNames, contentTypes, accepts, returnType
      );
    }
    /**
     * Add export
     * Create a new account export in your Mailchimp account.
     * @param {module:model/CreateAnAccountExport} body 
     * @return {Promise} a {@link https://www.promisejs.org/|Promise}, with data of type {@link module:model/InlineResponse2001Exports}
     */
    this.createAccountExport = function(body) {
      return this.createAccountExportWithHttpInfo(body)
        .then(function(response_and_data) {
          return response_and_data.data;
        });
    }
  };
  