"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, 2020
 * US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
 */

/**
 * @class QueryAPI2
 * @hideconstructor
 * @classdesc API class to construct and run queries.
 */
define([], function () {
	var QueryAPI = function () {
		function QueryAPI() {
			_classCallCheck(this, QueryAPI);
		}

		/**
   * @public
   * @function QueryAPI#getSpecList
   * @description Get the V2 Query Spec which would be sent to the server.
   * @return {object[]}
   */
		QueryAPI.prototype.getSpecList = function getSpecList() {};

		/**
   * @public
   * @function QueryAPI#execute
   * @description Execute query with preset parameters.
   * @async
   *
   * @param {Object} [requestOptions] additional request options
   * @return {Promise<QueryResultAPI[]>} Returns a promise that will be resolved with an array of {@link QueryResultAPI} object.
   */


		QueryAPI.prototype.execute = function execute() {};

		/**
   * @public
   * @function QueryAPI#registerFaultHandler
   * @description Register a fault handler to be used when executing
   * @param {function}
   */


		QueryAPI.prototype.registerFaultHandler = function registerFaultHandler() {};

		/**
   * @public
   * @function QueryAPI#registerPostProcessor
   * @description Register a post processor to process the results on success
   * @param {function}
   */


		QueryAPI.prototype.registerPostProcessor = function registerPostProcessor() {};

		/**
   * @public
   * @function QueryAPI#registerSaveRawDataHandler
   * @description Register a handler to receive the raw data results for a query.
   * @param {function}
   */


		QueryAPI.prototype.registerSaveRawDataHandler = function registerSaveRawDataHandler() {};

		/**
   * @public
   * @function QueryAPI#getWarningList
   * @description Get the list of warnings generated while executing the query
   * @return {QueryWarning[]}
   */


		QueryAPI.prototype.getWarningList = function getWarningList() {};

		return QueryAPI;
	}();

	return QueryAPI;
});
//# sourceMappingURL=QueryAPI2.js.map