text: /**
   * Corrently.io
   * *Corrently - from italian corrente, which is energy* # Introduction The Corrently ecosystem gets maintained by [STROMDAO GmbH](https://www.stromdao.de/) to support green energy services for prosumers, grid operators, regulators, integrators or any other party with an emerging need of consensus driven management. As the [energy product Corrently](https://www.corrently.de/) got first launched in Germany parts of this documentation provide simple translations for better understanding. [Released SKDs for Download](https://github.com/energychain/corrently-api/releases) 
   *
   * The version of the OpenAPI document: 2.0.0
   * Contact: dev@stromdao.com
   *
   * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
   * https://openapi-generator.tech
   * Do not edit the class manually.
   *
   */
  
  
  import ApiClient from "../ApiClient";
  import Componentsh0 from '../model/Componentsh0';
  import Tariffh0 from '../model/Tariffh0';
  
  /**
  * TariffPriceAPI service.
  * @module api/TariffPriceAPIApi
  * @version 2.0.0
  */
  export default class TariffPriceAPIApi {
  
      /**
      * Constructs a new TariffPriceAPIApi. 
      * @alias module:api/TariffPriceAPIApi
      * @class
      * @param {module:ApiClient} [apiClient] Optional API client implementation to use,
      * default to {@link module:ApiClient#instance} if unspecified.
      */
      constructor(apiClient) {
          this.apiClient = apiClient || ApiClient.instance;
      }
  
  
      /**
       * Callback function to receive the result of the tariffSLPH0 operation.
       * @callback module:api/TariffPriceAPIApi~tariffSLPH0Callback
       * @param {String} error Error message, if any.
       * @param {Array.<module:model/Tariffh0>} data The data returned by the service call.
       * @param {String} response The complete HTTP response.
       */
  
      /**
       * Energy Tariff information
       * Provides pricing data for private households with standard load profiles (Standardlastprofil H0). 
       * @param {Object} opts Optional parameters
       * @param {String} opts.zipcode Zipcode (Postzleitzahl) of a city in Germany.
       * @param {module:api/TariffPriceAPIApi~tariffSLPH0Callback} callback The callback function, accepting three arguments: error, data, response
       * data is of type: {@link Array.<module:model/Tariffh0>}
       */
      tariffSLPH0(opts, callback) {
        opts = opts || {};
        let postBody = null;
  
        let pathParams = {
        };
        let queryParams = {
          'zipcode': opts['zipcode']
        };
        let headerParams = {
        };
        let formParams = {
        };
  
        let authNames = [];
        let contentTypes = [];
        let accepts = ['application/json'];
        let returnType = [Tariffh0];
        return this.apiClient.callApi(
          '/tariff/slph0', 'GET',
          pathParams, queryParams, headerParams, formParams, postBody,
          authNames, contentTypes, accepts, returnType, null, callback
        );
      }
  
      /**
       * Callback function to receive the result of the tariffcomponents operation.
       * @callback module:api/TariffPriceAPIApi~tariffcomponentsCallback
       * @param {String} error Error message, if any.
       * @param {module:model/Componentsh0} data The data returned by the service call.
       * @param {String} response The complete HTTP response.
       */
  
      /**
       * Energy Tariff price components
       * Provides insides into the different cost components of energy for a private household. Sample Request: https://api.corrently.io/v2.0/tariff/components?email=demo%40corrently.io&zip=69168&kwha=3300 
       * @param {Object} opts Optional parameters
       * @param {String} opts.zipcode Zipcode (Postzleitzahl) of a city in Germany.
       * @param {String} opts.email Valid email address to assign request to (pre offer generation). Ensure GDPR (DSGVO) at any time
       * @param {Number} opts.kwha Total amount of energy in kilo-watt-hours per year. (sample 2100)
       * @param {Number} opts.milliseconds If provided all results will be scaled to this timeframe
       * @param {Number} opts.wh If provided together with milliseconds, a cost component stament for a particular event (like charging a car) will be created.
       * @param {module:api/TariffPriceAPIApi~tariffcomponentsCallback} callback The callback function, accepting three arguments: error, data, response
       * data is of type: {@link module:model/Componentsh0}
       */
      tariffcomponents(opts, callback) {
        opts = opts || {};
        let postBody = null;
  
        let pathParams = {
        };
        let queryParams = {
          'zipcode': opts['zipcode'],
          'email': opts['email'],
          'kwha': opts['kwha'],
          'milliseconds': opts['milliseconds'],
          'wh': opts['wh']
        };
        let headerParams = {
        };
        let formParams = {
        };
  
        let authNames = [];
        let contentTypes = [];
        let accepts = ['application/json'];
        let returnType = Componentsh0;
        return this.apiClient.callApi(
          '/tariff/components', 'GET',
          pathParams, queryParams, headerParams, formParams, postBody,
          authNames, contentTypes, accepts, returnType, null, callback
        );
      }
  
  
  }
  