"use strict";
/*
 * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
 */
Object.defineProperty(exports, "__esModule", { value: true });
exports.Employees = void 0;
const hrisEmployeesCreate_js_1 = require("../funcs/hrisEmployeesCreate.js");
const hrisEmployeesDelete_js_1 = require("../funcs/hrisEmployeesDelete.js");
const hrisEmployeesGet_js_1 = require("../funcs/hrisEmployeesGet.js");
const hrisEmployeesList_js_1 = require("../funcs/hrisEmployeesList.js");
const hrisEmployeesUpdate_js_1 = require("../funcs/hrisEmployeesUpdate.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 Employees extends sdks_js_1.ClientSDK {
    /**
     * List Employees
     *
     * @remarks
     * Apideck operates as a stateless Unified API, which means that the list endpoint only provides a portion of the employee model. This is due to the fact that most HRIS systems do not readily provide all data in every call. However, you can access the complete employee model through an employee detail call.
     */
    async list(request, options) {
        return (0, operations_js_1.unwrapResultIterator)((0, hrisEmployeesList_js_1.hrisEmployeesList)(this, request, options));
    }
    /**
     * Create Employee
     *
     * @remarks
     * Create Employee
     */
    async create(request, options) {
        return (0, fp_js_1.unwrapAsync)((0, hrisEmployeesCreate_js_1.hrisEmployeesCreate)(this, request, options));
    }
    /**
     * Get Employee
     *
     * @remarks
     * Get Employee
     */
    async get(request, options) {
        return (0, fp_js_1.unwrapAsync)((0, hrisEmployeesGet_js_1.hrisEmployeesGet)(this, request, options));
    }
    /**
     * Update Employee
     *
     * @remarks
     * Update Employee
     */
    async update(request, options) {
        return (0, fp_js_1.unwrapAsync)((0, hrisEmployeesUpdate_js_1.hrisEmployeesUpdate)(this, request, options));
    }
    /**
     * Delete Employee
     *
     * @remarks
     * Delete Employee
     */
    async delete(request, options) {
        return (0, fp_js_1.unwrapAsync)((0, hrisEmployeesDelete_js_1.hrisEmployeesDelete)(this, request, options));
    }
}
exports.Employees = Employees;
//# sourceMappingURL=employees.js.map