"use strict";
/*
 * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
 */
Object.defineProperty(exports, "__esModule", { value: true });
exports.AssessmentLineItems = void 0;
const assessmentLineItemsCreate_js_1 = require("../funcs/assessmentLineItemsCreate.js");
const assessmentLineItemsDelete_js_1 = require("../funcs/assessmentLineItemsDelete.js");
const assessmentLineItemsGet_js_1 = require("../funcs/assessmentLineItemsGet.js");
const assessmentLineItemsGetAll_js_1 = require("../funcs/assessmentLineItemsGetAll.js");
const assessmentLineItemsUpdate_js_1 = require("../funcs/assessmentLineItemsUpdate.js");
const sdks_js_1 = require("../lib/sdks.js");
const fp_js_1 = require("../types/fp.js");
const operations_js_1 = require("../types/operations.js");
class AssessmentLineItems extends sdks_js_1.ClientSDK {
    /**
     * Get all Assessment Line Items
     *
     * @remarks
     * Get all of the Assessment Line Items on the service provider.
     */
    async getAll(request, options) {
        return (0, operations_js_1.unwrapResultIterator)((0, assessmentLineItemsGetAll_js_1.assessmentLineItemsGetAll)(this, request, options));
    }
    /**
     * Create an Assessment Line Item
     *
     * @remarks
     * To create an Assessment Line Item. The responding system must return the set of sourcedIds that have been allocated to the newly created assessmentLineItem record. A 'title' MUST be provided when creating an assessmentLineItem.
     */
    async create(request, options) {
        return (0, fp_js_1.unwrapAsync)((0, assessmentLineItemsCreate_js_1.assessmentLineItemsCreate)(this, request, options));
    }
    /**
     * Get an Assessment Line Item
     *
     * @remarks
     * Get a specific Assessment Line Item on the service provider. If the corresponding record cannot be located, the api will return a 404 error code and message 'Assessment line item not found.'
     */
    async get(request, options) {
        return (0, fp_js_1.unwrapAsync)((0, assessmentLineItemsGet_js_1.assessmentLineItemsGet)(this, request, options));
    }
    /**
     * Update an Assessment Line Item
     *
     * @remarks
     * To update an existing Assessment Line Item. The sourcedId for the record to be updated is supplied by the requesting system.
     */
    async update(request, options) {
        return (0, fp_js_1.unwrapAsync)((0, assessmentLineItemsUpdate_js_1.assessmentLineItemsUpdate)(this, request, options));
    }
    /**
     * Delete an Assessment Line Item
     *
     * @remarks
     * Perform a soft delete on a specific Assessment Line Item on the service provider. This operation changes the status of the Assessment Line Item to 'tobedeleted'.
     */
    async delete(request, options) {
        return (0, fp_js_1.unwrapAsync)((0, assessmentLineItemsDelete_js_1.assessmentLineItemsDelete)(this, request, options));
    }
}
exports.AssessmentLineItems = AssessmentLineItems;
//# sourceMappingURL=assessmentlineitems.js.map