'use strict';

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

/**
 * Licensed Materials - Property of IBM
 * IBM Business Analytics (C) Copyright IBM Corp. 2019
 * US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
 */

/**
 * @class RenderSequenceFeature
 * @hideconstructor
 * @classdesc
 */
define(['../../../lib/@waca/dashboard-common/dist/core/APIFactory', './impl/RenderSequenceImpl', './api/RenderSequenceAPI', './api/internal/RenderSequenceInternalAPI'], function (APIFactory, RenderSequenceImpl, RenderSequenceAPI, RenderSequenceInternalAPI) {
	var RenderSequenceFeature = function () {

		/**
   * TODO: remove the usage of internalAPI.__imp when the internal API mechanism is in place
   * @param {Object} options 
   * @param {DashboardAPI} options.dashboardAPI
   * @param {ContentAPI} options.content
   */
		function RenderSequenceFeature(options) {
			_classCallCheck(this, RenderSequenceFeature);

			var impl = new RenderSequenceImpl(options);
			this._publicAPI = APIFactory.createAPI(impl, [RenderSequenceAPI]);
			this._internalAPI = APIFactory.createAPI(impl, [RenderSequenceAPI, RenderSequenceInternalAPI]);
		}

		RenderSequenceFeature.prototype.getAPI = function getAPI(type) {
			if (type === 'internal') {
				return this._internalAPI;
			} else {
				return this._publicAPI;
			}
		};

		return RenderSequenceFeature;
	}();

	return RenderSequenceFeature;
});
//# sourceMappingURL=RenderSequenceFeature.js.map