/**
 * CoinAPI Indexes REST API
 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
 *
 * The version of the OpenAPI document: v1
 * Contact: support@apibricks.io
 *
 * 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 IndexesIndexDefinitionInputData from './model/IndexesIndexDefinitionInputData';
import IndexesIndexDefinitionSnapshotEntry from './model/IndexesIndexDefinitionSnapshotEntry';
import IndexesIndexIdentifier from './model/IndexesIndexIdentifier';
import IndexesIndexMultiAssetWeight from './model/IndexesIndexMultiAssetWeight';
import IndexesIndexTimeseriesItem from './model/IndexesIndexTimeseriesItem';
import IndexesIndexValue from './model/IndexesIndexValue';
import IndexesIndexValueComponent from './model/IndexesIndexValueComponent';
import MetadataExchange from './model/MetadataExchange';
import MetadataTimeseriesPeriod from './model/MetadataTimeseriesPeriod';
import IndexesApi from './api/IndexesApi';
import MetadataApi from './api/MetadataApi';
import PeriodsApi from './api/PeriodsApi';


/**
* JS API client generated by OpenAPI Generator.<br>
* The <code>index</code> module provides access to constructors for all the classes which comprise the public API.
* <p>
* An AMD (recommended!) or CommonJS application will generally do something equivalent to the following:
* <pre>
* var CoinApiIndexesRestApi = require('index'); // See note below*.
* var xxxSvc = new CoinApiIndexesRestApi.XxxApi(); // Allocate the API class we're going to use.
* var yyyModel = new CoinApiIndexesRestApi.Yyy(); // Construct a model instance.
* yyyModel.someProperty = 'someValue';
* ...
* var zzz = xxxSvc.doSomething(yyyModel); // Invoke the service.
* ...
* </pre>
* <em>*NOTE: For a top-level AMD script, use require(['index'], function(){...})
* and put the application logic within the callback function.</em>
* </p>
* <p>
* A non-AMD browser application (discouraged) might do something like this:
* <pre>
* var xxxSvc = new CoinApiIndexesRestApi.XxxApi(); // Allocate the API class we're going to use.
* var yyy = new CoinApiIndexesRestApi.Yyy(); // Construct a model instance.
* yyyModel.someProperty = 'someValue';
* ...
* var zzz = xxxSvc.doSomething(yyyModel); // Invoke the service.
* ...
* </pre>
* </p>
* @module index
* @version v1
*/
export {
    /**
     * The ApiClient constructor.
     * @property {module:ApiClient}
     */
    ApiClient,

    /**
     * The IndexesIndexDefinitionInputData model constructor.
     * @property {module:model/IndexesIndexDefinitionInputData}
     */
    IndexesIndexDefinitionInputData,

    /**
     * The IndexesIndexDefinitionSnapshotEntry model constructor.
     * @property {module:model/IndexesIndexDefinitionSnapshotEntry}
     */
    IndexesIndexDefinitionSnapshotEntry,

    /**
     * The IndexesIndexIdentifier model constructor.
     * @property {module:model/IndexesIndexIdentifier}
     */
    IndexesIndexIdentifier,

    /**
     * The IndexesIndexMultiAssetWeight model constructor.
     * @property {module:model/IndexesIndexMultiAssetWeight}
     */
    IndexesIndexMultiAssetWeight,

    /**
     * The IndexesIndexTimeseriesItem model constructor.
     * @property {module:model/IndexesIndexTimeseriesItem}
     */
    IndexesIndexTimeseriesItem,

    /**
     * The IndexesIndexValue model constructor.
     * @property {module:model/IndexesIndexValue}
     */
    IndexesIndexValue,

    /**
     * The IndexesIndexValueComponent model constructor.
     * @property {module:model/IndexesIndexValueComponent}
     */
    IndexesIndexValueComponent,

    /**
     * The MetadataExchange model constructor.
     * @property {module:model/MetadataExchange}
     */
    MetadataExchange,

    /**
     * The MetadataTimeseriesPeriod model constructor.
     * @property {module:model/MetadataTimeseriesPeriod}
     */
    MetadataTimeseriesPeriod,

    /**
    * The IndexesApi service constructor.
    * @property {module:api/IndexesApi}
    */
    IndexesApi,

    /**
    * The MetadataApi service constructor.
    * @property {module:api/MetadataApi}
    */
    MetadataApi,

    /**
    * The PeriodsApi service constructor.
    * @property {module:api/PeriodsApi}
    */
    PeriodsApi
};
