"use strict";
/*
 * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
 */
Object.defineProperty(exports, "__esModule", { value: true });
exports.Demographics = void 0;
const demographicsCreate_js_1 = require("../funcs/demographicsCreate.js");
const demographicsDelete_js_1 = require("../funcs/demographicsDelete.js");
const demographicsGet_js_1 = require("../funcs/demographicsGet.js");
const demographicsGetAll_js_1 = require("../funcs/demographicsGetAll.js");
const demographicsUpdate_js_1 = require("../funcs/demographicsUpdate.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 Demographics extends sdks_js_1.ClientSDK {
    /**
     * Get all Demographic records
     *
     * @remarks
     * To get all Demographic records on the service provider.
     */
    async getAll(request, options) {
        return (0, operations_js_1.unwrapResultIterator)((0, demographicsGetAll_js_1.demographicsGetAll)(this, request, options));
    }
    /**
     * Create a new Demographic record
     *
     * @remarks
     * To create a new Demographic record. The responding system must return the set of sourcedIds that have been allocated to the newly created demographic record.
     */
    async create(request, options) {
        return (0, fp_js_1.unwrapAsync)((0, demographicsCreate_js_1.demographicsCreate)(this, request, options));
    }
    /**
     * Get a specific Demographic record
     *
     * @remarks
     * Get a specific Demographic record on the service provider. If the corresponding record cannot be located, the api will return a 404 error code and message 'Demographics record not found.'
     */
    async get(request, options) {
        return (0, fp_js_1.unwrapAsync)((0, demographicsGet_js_1.demographicsGet)(this, request, options));
    }
    /**
     * Update a Demographic record
     *
     * @remarks
     * To update an existing Demographic record. 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, demographicsUpdate_js_1.demographicsUpdate)(this, request, options));
    }
    /**
     * Delete a Demographic record
     *
     * @remarks
     * Perform a soft delete on a specific Demographic record on the service provider. The operation changes the status of the Demographic record to 'tobedeleted'.
     */
    async delete(request, options) {
        return (0, fp_js_1.unwrapAsync)((0, demographicsDelete_js_1.demographicsDelete)(this, request, options));
    }
}
exports.Demographics = Demographics;
//# sourceMappingURL=demographics.js.map