"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    var desc = Object.getOwnPropertyDescriptor(m, k);
    if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
      desc = { enumerable: true, get: function() { return m[k]; } };
    }
    Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
    Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
    o["default"] = v;
});
var __importStar = (this && this.__importStar) || (function () {
    var ownKeys = function(o) {
        ownKeys = Object.getOwnPropertyNames || function (o) {
            var ar = [];
            for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
            return ar;
        };
        return ownKeys(o);
    };
    return function (mod) {
        if (mod && mod.__esModule) return mod;
        var result = {};
        if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
        __setModuleDefault(result, mod);
        return result;
    };
})();
var __importDefault = (this && this.__importDefault) || function (mod) {
    return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.GetAllDismissionReasonsHeaders = exports.EsignRollbackResponse = exports.EsignRollbackResponseBody = exports.EsignRollbackRequest = exports.EsignRollbackHeaders = exports.EmployeeAttachmentUpdateResponse = exports.EmployeeAttachmentUpdateResponseBody = exports.EmployeeAttachmentUpdateRequest = exports.EmployeeAttachmentUpdateHeaders = exports.EmpStartDismissionResponse = exports.EmpStartDismissionResponseBody = exports.EmpStartDismissionRequest = exports.EmpStartDismissionHeaders = exports.ECertQueryResponse = exports.ECertQueryResponseBody = exports.ECertQueryRequest = exports.ECertQueryHeaders = exports.DeviceMarketOrderManagerResponse = exports.DeviceMarketOrderManagerResponseBody = exports.DeviceMarketManagerResponse = exports.DeviceMarketManagerResponseBody = exports.DeleteRosterFieldFormResponse = exports.DeleteRosterFieldFormResponseBody = exports.DeleteRosterFieldFormRequest = exports.DeleteRosterFieldFormHeaders = exports.DeleteCustomRosterFieldResponse = exports.DeleteCustomRosterFieldResponseBody = exports.DeleteCustomRosterFieldRequest = exports.DeleteCustomRosterFieldHeaders = exports.CreateRecordResponse = exports.CreateRecordResponseBody = exports.CreateRecordRequest = exports.CreateRecordHeaders = exports.AddRosterFieldFormResponse = exports.AddRosterFieldFormResponseBody = exports.AddRosterFieldFormRequest = exports.AddRosterFieldFormHeaders = exports.AddHrmPreentryResponse = exports.AddHrmPreentryResponseBody = exports.AddHrmPreentryRequest = exports.AddHrmPreentryHeaders = exports.AddHrmLegalEntityResponse = exports.AddHrmLegalEntityResponseBody = exports.AddHrmLegalEntityRequest = exports.AddHrmLegalEntityHeaders = exports.AddCustomRosterFieldResponse = exports.AddCustomRosterFieldResponseBody = exports.AddCustomRosterFieldRequest = exports.AddCustomRosterFieldHeaders = exports.ResultValue = void 0;
exports.HrmProcessRegularResponse = exports.HrmProcessRegularResponseBody = exports.HrmProcessRegularRequest = exports.HrmProcessRegularHeaders = exports.HrmMokaOapiResponse = exports.HrmMokaOapiResponseBody = exports.HrmMokaOapiRequest = exports.HrmMokaOapiHeaders = exports.HrmMokaEventResponse = exports.HrmMokaEventResponseBody = exports.HrmMokaEventRequest = exports.HrmMokaEventHeaders = exports.HrmMailSendResponse = exports.HrmMailSendResponseBody = exports.HrmMailSendRequest = exports.HrmMailSendHeaders = exports.HrmCorpConfigQueryResponse = exports.HrmCorpConfigQueryResponseBody = exports.HrmCorpConfigQueryRequest = exports.HrmCorpConfigQueryHeaders = exports.HrmBenefitQueryResponse = exports.HrmBenefitQueryResponseBody = exports.HrmBenefitQueryRequest = exports.HrmBenefitQueryHeaders = exports.HrmAuthResourcesQueryResponse = exports.HrmAuthResourcesQueryResponseBody = exports.HrmAuthResourcesQueryRequest = exports.HrmAuthResourcesQueryHeaders = exports.GetUserSignedRecordsByOuterIdResponse = exports.GetUserSignedRecordsByOuterIdResponseBody = exports.GetUserSignedRecordsByOuterIdRequest = exports.GetUserSignedRecordsByOuterIdHeaders = exports.GetSignRecordByUserIdResponse = exports.GetSignRecordByUserIdResponseBody = exports.GetSignRecordByUserIdRequest = exports.GetSignRecordByUserIdHeaders = exports.GetSignRecordByIdResponse = exports.GetSignRecordByIdResponseBody = exports.GetSignRecordByIdRequest = exports.GetSignRecordByIdHeaders = exports.GetFileTemplateListResponse = exports.GetFileTemplateListResponseBody = exports.GetFileTemplateListRequest = exports.GetFileTemplateListHeaders = exports.GetEmployeeRosterByFieldResponse = exports.GetEmployeeRosterByFieldResponseBody = exports.GetEmployeeRosterByFieldRequest = exports.GetEmployeeRosterByFieldHeaders = exports.GetAllDismissionReasonsResponse = exports.GetAllDismissionReasonsResponseBody = void 0;
exports.QueryCustomEntryProcessesRequest = exports.QueryCustomEntryProcessesHeaders = exports.OpenOemMicroAppResponse = exports.OpenOemMicroAppResponseBody = exports.OpenOemMicroAppRequest = exports.OpenOemMicroAppHeaders = exports.MasterDatasQueryResponse = exports.MasterDatasQueryResponseBody = exports.MasterDatasQueryRequest = exports.MasterDatasQueryHeaders = exports.MasterDatasGetResponse = exports.MasterDatasGetResponseBody = exports.MasterDatasGetRequest = exports.MasterDatasGetHeaders = exports.MasterDataTenantQueyResponse = exports.MasterDataTenantQueyResponseBody = exports.MasterDataTenantQueyRequest = exports.MasterDataTenantQueyHeaders = exports.MasterDataSaveResponse = exports.MasterDataSaveResponseBody = exports.MasterDataSaveRequest = exports.MasterDataSaveHeaders = exports.MasterDataQueryResponse = exports.MasterDataQueryResponseBody = exports.MasterDataQueryRequest = exports.MasterDataQueryHeaders = exports.MasterDataDeleteResponse = exports.MasterDataDeleteResponseBody = exports.MasterDataDeleteRequest = exports.MasterDataDeleteHeaders = exports.InvalidSignRecordsResponse = exports.InvalidSignRecordsResponseBody = exports.InvalidSignRecordsRequest = exports.InvalidSignRecordsHeaders = exports.HrmPtsServiceResponse = exports.HrmPtsServiceResponseBody = exports.HrmPtsServiceRequest = exports.HrmPtsServiceHeaders = exports.HrmProcessUpdateTerminationInfoResponse = exports.HrmProcessUpdateTerminationInfoResponseBody = exports.HrmProcessUpdateTerminationInfoRequest = exports.HrmProcessUpdateTerminationInfoHeaders = exports.HrmProcessTransferResponse = exports.HrmProcessTransferResponseBody = exports.HrmProcessTransferRequest = exports.HrmProcessTransferHeaders = exports.HrmProcessTerminationAndHandoverResponse = exports.HrmProcessTerminationAndHandoverResponseBody = exports.HrmProcessTerminationAndHandoverRequest = exports.HrmProcessTerminationAndHandoverHeaders = void 0;
exports.RosterMetaFieldOptionsUpdateResponse = exports.RosterMetaFieldOptionsUpdateResponseBody = exports.RosterMetaFieldOptionsUpdateRequest = exports.RosterMetaFieldOptionsUpdateHeaders = exports.RosterMetaAvailableFieldListResponse = exports.RosterMetaAvailableFieldListResponseBody = exports.RosterMetaAvailableFieldListRequest = exports.RosterMetaAvailableFieldListHeaders = exports.RevokeTerminationResponse = exports.RevokeTerminationResponseBody = exports.RevokeTerminationRequest = exports.RevokeTerminationHeaders = exports.RevokeSignRecordsResponse = exports.RevokeSignRecordsResponseBody = exports.RevokeSignRecordsRequest = exports.RevokeSignRecordsHeaders = exports.QueryPositionsResponse = exports.QueryPositionsResponseBody = exports.QueryPositionsRequest = exports.QueryPositionsHeaders = exports.QueryPositionVersionResponse = exports.QueryPositionVersionResponseBody = exports.QueryPositionVersionHeaders = exports.QueryMicroAppViewResponse = exports.QueryMicroAppViewResponseBody = exports.QueryMicroAppViewRequest = exports.QueryMicroAppViewHeaders = exports.QueryMicroAppStatusResponse = exports.QueryMicroAppStatusResponseBody = exports.QueryMicroAppStatusRequest = exports.QueryMicroAppStatusHeaders = exports.QueryJobsResponse = exports.QueryJobsResponseBody = exports.QueryJobsRequest = exports.QueryJobsHeaders = exports.QueryJobRanksResponse = exports.QueryJobRanksResponseBody = exports.QueryJobRanksRequest = exports.QueryJobRanksHeaders = exports.QueryHrmEmployeeDismissionInfoResponse = exports.QueryHrmEmployeeDismissionInfoResponseBody = exports.QueryHrmEmployeeDismissionInfoShrinkRequest = exports.QueryHrmEmployeeDismissionInfoRequest = exports.QueryHrmEmployeeDismissionInfoHeaders = exports.QueryDismissionStaffIdListResponse = exports.QueryDismissionStaffIdListResponseBody = exports.QueryDismissionStaffIdListRequest = exports.QueryDismissionStaffIdListHeaders = exports.QueryCustomEntryProcessesResponse = exports.QueryCustomEntryProcessesResponseBody = void 0;
exports.UpdateRosterFieldFormRequest = exports.UpdateRosterFieldFormHeaders = exports.UpdateIsvCardMessageResponse = exports.UpdateIsvCardMessageResponseBody = exports.UpdateIsvCardMessageRequest = exports.UpdateIsvCardMessageHeaders = exports.UpdateHrmVersionRollBackStatusResponse = exports.UpdateHrmVersionRollBackStatusResponseBody = exports.UpdateHrmVersionRollBackStatusRequest = exports.UpdateHrmVersionRollBackStatusHeaders = exports.UpdateHrmLegalEntityWithoutNameResponse = exports.UpdateHrmLegalEntityWithoutNameResponseBody = exports.UpdateHrmLegalEntityWithoutNameRequest = exports.UpdateHrmLegalEntityWithoutNameHeaders = exports.UpdateHrmLegalEntityNameResponse = exports.UpdateHrmLegalEntityNameResponseBody = exports.UpdateHrmLegalEntityNameRequest = exports.UpdateHrmLegalEntityNameHeaders = exports.UpdateEmpDismissionInfoResponse = exports.UpdateEmpDismissionInfoResponseBody = exports.UpdateEmpDismissionInfoRequest = exports.UpdateEmpDismissionInfoHeaders = exports.UpdateCustomRosterFieldResponse = exports.UpdateCustomRosterFieldResponseBody = exports.UpdateCustomRosterFieldRequest = exports.UpdateCustomRosterFieldHeaders = exports.SyncTaskTemplateResponse = exports.SyncTaskTemplateResponseBody = exports.SyncTaskTemplateRequest = exports.SyncTaskTemplateHeaders = exports.SyncSolutionStatusResponse = exports.SyncSolutionStatusResponseBody = exports.SyncSolutionStatusRequest = exports.SyncSolutionStatusHeaders = exports.SolutionTaskSaveResponse = exports.SolutionTaskSaveResponseBody = exports.SolutionTaskSaveRequest = exports.SolutionTaskSaveHeaders = exports.SolutionTaskInitResponse = exports.SolutionTaskInitResponseBody = exports.SolutionTaskInitRequest = exports.SolutionTaskInitHeaders = exports.SendRealAuthInviteMessageResponse = exports.SendRealAuthInviteMessageResponseBody = exports.SendRealAuthInviteMessageRequest = exports.SendRealAuthInviteMessageHeaders = exports.SendIsvCardMessageResponse = exports.SendIsvCardMessageResponseBody = exports.SendIsvCardMessageRequest = exports.SendIsvCardMessageHeaders = void 0;
exports.MasterDataDeleteRequestBody = exports.MasterDataDeleteRequestBodyScope = exports.MasterDataDeleteRequestBodyFieldList = exports.InvalidSignRecordsResponseBodyResult = exports.InvalidSignRecordsResponseBodyResultSuccessItems = exports.InvalidSignRecordsResponseBodyResultFailItems = exports.HrmMailSendRequestOperator = exports.HrmMailSendRequestMail = exports.HrmMailSendRequestMailMeeting = exports.HrmMailSendRequestMailMeetingOrganizer = exports.HrmMailSendRequestMailMeetingAttendees = exports.HrmMailSendRequestMailMeetingAlarm = exports.HrmMailSendRequestMailAttachments = exports.HrmAuthResourcesQueryResponseBodyResult = exports.GetUserSignedRecordsByOuterIdResponseBodyResult = exports.GetSignRecordByUserIdResponseBodyResult = exports.GetSignRecordByUserIdResponseBodyResultData = exports.GetSignRecordByIdResponseBodyResult = exports.GetFileTemplateListResponseBodyResult = exports.GetFileTemplateListResponseBodyResultData = exports.GetFileTemplateListResponseBodyResultDataGroupList = exports.GetFileTemplateListResponseBodyResultDataGroupListFieldList = exports.GetFileTemplateListResponseBodyResultDataFieldList = exports.GetFileTemplateListResponseBodyResultDataAttachmentList = exports.GetEmployeeRosterByFieldResponseBodyResult = exports.GetEmployeeRosterByFieldResponseBodyResultFieldDataList = exports.GetEmployeeRosterByFieldResponseBodyResultFieldDataListFieldValueList = exports.GetAllDismissionReasonsResponseBodyResult = exports.GetAllDismissionReasonsResponseBodyResultVoluntaryList = exports.GetAllDismissionReasonsResponseBodyResultPassiveList = exports.CreateRecordResponseBodyResult = exports.CreateRecordRequestGroupList = exports.CreateRecordRequestGroupListFieldList = exports.CreateRecordRequestFieldList = exports.CreateRecordRequestAttachmentList = exports.AddRosterFieldFormResponseBodyResult = exports.AddHrmPreentryRequestGroups = exports.AddHrmPreentryRequestGroupsSections = exports.AddHrmPreentryRequestGroupsSectionsEmpFieldVOList = exports.AddHrmLegalEntityResponseBodyResult = exports.AddHrmLegalEntityRequestExt = exports.AddHrmLegalEntityRequestExtRegistrationAddress = exports.AddHrmLegalEntityRequestExtManageAddress = exports.AddCustomRosterFieldResponseBodyResult = exports.UploadAttachmentResponse = exports.UploadAttachmentResponseBody = exports.UploadAttachmentRequest = exports.UploadAttachmentHeaders = exports.UpdateRosterFieldFormResponse = exports.UpdateRosterFieldFormResponseBody = void 0;
exports.UpdateHrmLegalEntityWithoutNameResponseBodyResult = exports.UpdateHrmLegalEntityWithoutNameRequestExt = exports.UpdateHrmLegalEntityWithoutNameRequestExtRegistrationAddress = exports.UpdateHrmLegalEntityWithoutNameRequestExtManageAddress = exports.UpdateHrmLegalEntityNameResponseBodyResult = exports.UpdateCustomRosterFieldResponseBodyResult = exports.SyncTaskTemplateRequestTaskScopeVO = exports.SendRealAuthInviteMessageResponseBodyResult = exports.SendRealAuthInviteMessageRequestOnWorkingEmpSearchVO = exports.SendIsvCardMessageResponseBodyHrmInteractiveCardSendResult = exports.RosterMetaAvailableFieldListResponseBodyResult = exports.RevokeSignRecordsResponseBodyResult = exports.RevokeSignRecordsResponseBodyResultSuccessItems = exports.RevokeSignRecordsResponseBodyResultFailItems = exports.QueryPositionsResponseBodyList = exports.QueryJobsResponseBodyList = exports.QueryJobRanksResponseBodyList = exports.QueryHrmEmployeeDismissionInfoResponseBodyResult = exports.QueryHrmEmployeeDismissionInfoResponseBodyResultDeptList = exports.QueryCustomEntryProcessesResponseBodyList = exports.MasterDatasQueryResponseBodyResult = exports.MasterDatasQueryResponseBodyResultViewEntityFieldVOList = exports.MasterDatasQueryResponseBodyResultViewEntityFieldVOListFieldDataVO = exports.MasterDatasQueryRequestQueryParams = exports.MasterDatasQueryRequestQueryParamsConditionList = exports.MasterDatasGetResponseBodyResult = exports.MasterDatasGetResponseBodyResultViewEntityFieldVOList = exports.MasterDatasGetResponseBodyResultViewEntityFieldVOListFieldDataVO = exports.MasterDataTenantQueyResponseBodyResult = exports.MasterDataSaveResponseBodyFailResult = exports.MasterDataSaveRequestBody = exports.MasterDataSaveRequestBodyScope = exports.MasterDataSaveRequestBodyFieldList = exports.MasterDataQueryResponseBodyResult = exports.MasterDataQueryResponseBodyResultViewEntityFieldVOList = exports.MasterDataQueryResponseBodyResultViewEntityFieldVOListFieldDataVO = exports.MasterDataQueryRequestQueryParams = exports.MasterDataQueryRequestQueryParamsConditionList = exports.MasterDataDeleteResponseBodyFailResult = void 0;
// This file is auto-generated, don't edit it
/**
 */
const tea_util_1 = __importStar(require("@alicloud/tea-util")), $Util = tea_util_1;
const gateway_dingtalk_1 = __importDefault(require("@alicloud/gateway-dingtalk"));
const openapi_client_1 = __importStar(require("@alicloud/openapi-client")), $OpenApi = openapi_client_1;
const openapi_util_1 = __importDefault(require("@alicloud/openapi-util"));
const $tea = __importStar(require("@alicloud/tea-typescript"));
class ResultValue extends $tea.Model {
    static names() {
        return {
            status: 'status',
        };
    }
    static types() {
        return {
            status: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.ResultValue = ResultValue;
class AddCustomRosterFieldHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.AddCustomRosterFieldHeaders = AddCustomRosterFieldHeaders;
class AddCustomRosterFieldRequest extends $tea.Model {
    static names() {
        return {
            editFromEmployeeFlag: 'editFromEmployeeFlag',
            fieldName: 'fieldName',
            fieldType: 'fieldType',
            groupId: 'groupId',
            hiddenFromEmployeeFlag: 'hiddenFromEmployeeFlag',
            hint: 'hint',
            noWatermark: 'noWatermark',
            numberDecimalPlace: 'numberDecimalPlace',
            numberFormatType: 'numberFormatType',
            numberValueType: 'numberValueType',
            optionText: 'optionText',
            required: 'required',
            visibleByEmp: 'visibleByEmp',
        };
    }
    static types() {
        return {
            editFromEmployeeFlag: 'boolean',
            fieldName: 'string',
            fieldType: 'string',
            groupId: 'string',
            hiddenFromEmployeeFlag: 'boolean',
            hint: 'string',
            noWatermark: 'boolean',
            numberDecimalPlace: 'number',
            numberFormatType: 'string',
            numberValueType: 'string',
            optionText: 'string',
            required: 'boolean',
            visibleByEmp: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.AddCustomRosterFieldRequest = AddCustomRosterFieldRequest;
class AddCustomRosterFieldResponseBody extends $tea.Model {
    static names() {
        return {
            dingOpenErrcode: 'dingOpenErrcode',
            errorMsg: 'errorMsg',
            result: 'result',
            success: 'success',
        };
    }
    static types() {
        return {
            dingOpenErrcode: 'number',
            errorMsg: 'string',
            result: AddCustomRosterFieldResponseBodyResult,
            success: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.AddCustomRosterFieldResponseBody = AddCustomRosterFieldResponseBody;
class AddCustomRosterFieldResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: AddCustomRosterFieldResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.AddCustomRosterFieldResponse = AddCustomRosterFieldResponse;
class AddHrmLegalEntityHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.AddHrmLegalEntityHeaders = AddHrmLegalEntityHeaders;
class AddHrmLegalEntityRequest extends $tea.Model {
    static names() {
        return {
            corpId: 'corpId',
            createUserId: 'createUserId',
            ext: 'ext',
            legalEntityName: 'legalEntityName',
            legalEntityShortName: 'legalEntityShortName',
            legalEntityStatus: 'legalEntityStatus',
            legalPersonName: 'legalPersonName',
            dingTenantId: 'dingTenantId',
        };
    }
    static types() {
        return {
            corpId: 'string',
            createUserId: 'string',
            ext: AddHrmLegalEntityRequestExt,
            legalEntityName: 'string',
            legalEntityShortName: 'string',
            legalEntityStatus: 'number',
            legalPersonName: 'string',
            dingTenantId: 'number',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.AddHrmLegalEntityRequest = AddHrmLegalEntityRequest;
class AddHrmLegalEntityResponseBody extends $tea.Model {
    static names() {
        return {
            result: 'result',
            success: 'success',
        };
    }
    static types() {
        return {
            result: AddHrmLegalEntityResponseBodyResult,
            success: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.AddHrmLegalEntityResponseBody = AddHrmLegalEntityResponseBody;
class AddHrmLegalEntityResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: AddHrmLegalEntityResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.AddHrmLegalEntityResponse = AddHrmLegalEntityResponse;
class AddHrmPreentryHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.AddHrmPreentryHeaders = AddHrmPreentryHeaders;
class AddHrmPreentryRequest extends $tea.Model {
    static names() {
        return {
            agentId: 'agentId',
            groups: 'groups',
            mobile: 'mobile',
            name: 'name',
            needSendPreEntryMsg: 'needSendPreEntryMsg',
            preEntryTime: 'preEntryTime',
        };
    }
    static types() {
        return {
            agentId: 'number',
            groups: { 'type': 'array', 'itemType': AddHrmPreentryRequestGroups },
            mobile: 'string',
            name: 'string',
            needSendPreEntryMsg: 'boolean',
            preEntryTime: 'number',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.AddHrmPreentryRequest = AddHrmPreentryRequest;
class AddHrmPreentryResponseBody extends $tea.Model {
    static names() {
        return {
            tmpUserId: 'tmpUserId',
        };
    }
    static types() {
        return {
            tmpUserId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.AddHrmPreentryResponseBody = AddHrmPreentryResponseBody;
class AddHrmPreentryResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: AddHrmPreentryResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.AddHrmPreentryResponse = AddHrmPreentryResponse;
class AddRosterFieldFormHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.AddRosterFieldFormHeaders = AddRosterFieldFormHeaders;
class AddRosterFieldFormRequest extends $tea.Model {
    static names() {
        return {
            detail: 'detail',
            name: 'name',
        };
    }
    static types() {
        return {
            detail: 'boolean',
            name: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.AddRosterFieldFormRequest = AddRosterFieldFormRequest;
class AddRosterFieldFormResponseBody extends $tea.Model {
    static names() {
        return {
            dingOpenErrcode: 'dingOpenErrcode',
            errorMsg: 'errorMsg',
            result: 'result',
            success: 'success',
        };
    }
    static types() {
        return {
            dingOpenErrcode: 'number',
            errorMsg: 'string',
            result: AddRosterFieldFormResponseBodyResult,
            success: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.AddRosterFieldFormResponseBody = AddRosterFieldFormResponseBody;
class AddRosterFieldFormResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: AddRosterFieldFormResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.AddRosterFieldFormResponse = AddRosterFieldFormResponse;
class CreateRecordHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.CreateRecordHeaders = CreateRecordHeaders;
class CreateRecordRequest extends $tea.Model {
    static names() {
        return {
            attachmentList: 'attachmentList',
            deptId: 'deptId',
            fieldList: 'fieldList',
            groupList: 'groupList',
            outerId: 'outerId',
            remark: 'remark',
            signLastLegalEntityName: 'signLastLegalEntityName',
            signLegalEntityName: 'signLegalEntityName',
            signSource: 'signSource',
            signStartUserId: 'signStartUserId',
            signUserId: 'signUserId',
            templateId: 'templateId',
        };
    }
    static types() {
        return {
            attachmentList: { 'type': 'array', 'itemType': CreateRecordRequestAttachmentList },
            deptId: 'number',
            fieldList: { 'type': 'array', 'itemType': CreateRecordRequestFieldList },
            groupList: { 'type': 'array', 'itemType': CreateRecordRequestGroupList },
            outerId: 'string',
            remark: 'string',
            signLastLegalEntityName: 'string',
            signLegalEntityName: 'string',
            signSource: 'string',
            signStartUserId: 'string',
            signUserId: 'string',
            templateId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.CreateRecordRequest = CreateRecordRequest;
class CreateRecordResponseBody extends $tea.Model {
    static names() {
        return {
            result: 'result',
            success: 'success',
        };
    }
    static types() {
        return {
            result: CreateRecordResponseBodyResult,
            success: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.CreateRecordResponseBody = CreateRecordResponseBody;
class CreateRecordResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: CreateRecordResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.CreateRecordResponse = CreateRecordResponse;
class DeleteCustomRosterFieldHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.DeleteCustomRosterFieldHeaders = DeleteCustomRosterFieldHeaders;
class DeleteCustomRosterFieldRequest extends $tea.Model {
    static names() {
        return {
            fieldCode: 'fieldCode',
            groupId: 'groupId',
        };
    }
    static types() {
        return {
            fieldCode: 'string',
            groupId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.DeleteCustomRosterFieldRequest = DeleteCustomRosterFieldRequest;
class DeleteCustomRosterFieldResponseBody extends $tea.Model {
    static names() {
        return {
            dingOpenErrcode: 'dingOpenErrcode',
            errorMsg: 'errorMsg',
            result: 'result',
            success: 'success',
        };
    }
    static types() {
        return {
            dingOpenErrcode: 'number',
            errorMsg: 'string',
            result: 'boolean',
            success: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.DeleteCustomRosterFieldResponseBody = DeleteCustomRosterFieldResponseBody;
class DeleteCustomRosterFieldResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: DeleteCustomRosterFieldResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.DeleteCustomRosterFieldResponse = DeleteCustomRosterFieldResponse;
class DeleteRosterFieldFormHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.DeleteRosterFieldFormHeaders = DeleteRosterFieldFormHeaders;
class DeleteRosterFieldFormRequest extends $tea.Model {
    static names() {
        return {
            formId: 'formId',
            userId: 'userId',
        };
    }
    static types() {
        return {
            formId: 'string',
            userId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.DeleteRosterFieldFormRequest = DeleteRosterFieldFormRequest;
class DeleteRosterFieldFormResponseBody extends $tea.Model {
    static names() {
        return {
            dingOpenErrcode: 'dingOpenErrcode',
            errorMsg: 'errorMsg',
            result: 'result',
            success: 'success',
        };
    }
    static types() {
        return {
            dingOpenErrcode: 'number',
            errorMsg: 'string',
            result: 'boolean',
            success: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.DeleteRosterFieldFormResponseBody = DeleteRosterFieldFormResponseBody;
class DeleteRosterFieldFormResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: DeleteRosterFieldFormResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.DeleteRosterFieldFormResponse = DeleteRosterFieldFormResponse;
class DeviceMarketManagerResponseBody extends $tea.Model {
    static names() {
        return {
            requestId: 'requestId',
        };
    }
    static types() {
        return {
            requestId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.DeviceMarketManagerResponseBody = DeviceMarketManagerResponseBody;
class DeviceMarketManagerResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: DeviceMarketManagerResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.DeviceMarketManagerResponse = DeviceMarketManagerResponse;
class DeviceMarketOrderManagerResponseBody extends $tea.Model {
    static names() {
        return {
            requestId: 'requestId',
        };
    }
    static types() {
        return {
            requestId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.DeviceMarketOrderManagerResponseBody = DeviceMarketOrderManagerResponseBody;
class DeviceMarketOrderManagerResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: DeviceMarketOrderManagerResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.DeviceMarketOrderManagerResponse = DeviceMarketOrderManagerResponse;
class ECertQueryHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.ECertQueryHeaders = ECertQueryHeaders;
class ECertQueryRequest extends $tea.Model {
    static names() {
        return {
            userId: 'userId',
        };
    }
    static types() {
        return {
            userId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.ECertQueryRequest = ECertQueryRequest;
class ECertQueryResponseBody extends $tea.Model {
    static names() {
        return {
            certNO: 'certNO',
            employJobId: 'employJobId',
            employJobIdLabel: 'employJobIdLabel',
            employPositionId: 'employPositionId',
            employPositionIdLabel: 'employPositionIdLabel',
            employPositionRankId: 'employPositionRankId',
            employPositionRankIdLabel: 'employPositionRankIdLabel',
            hiredDate: 'hiredDate',
            lastWorkDay: 'lastWorkDay',
            mainDeptId: 'mainDeptId',
            mainDeptName: 'mainDeptName',
            name: 'name',
            realName: 'realName',
            terminationReasonPassive: 'terminationReasonPassive',
            terminationReasonVoluntary: 'terminationReasonVoluntary',
        };
    }
    static types() {
        return {
            certNO: 'string',
            employJobId: 'string',
            employJobIdLabel: 'string',
            employPositionId: 'string',
            employPositionIdLabel: 'string',
            employPositionRankId: 'string',
            employPositionRankIdLabel: 'string',
            hiredDate: 'string',
            lastWorkDay: 'string',
            mainDeptId: 'number',
            mainDeptName: 'string',
            name: 'string',
            realName: 'string',
            terminationReasonPassive: { 'type': 'array', 'itemType': 'string' },
            terminationReasonVoluntary: { 'type': 'array', 'itemType': 'string' },
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.ECertQueryResponseBody = ECertQueryResponseBody;
class ECertQueryResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: ECertQueryResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.ECertQueryResponse = ECertQueryResponse;
class EmpStartDismissionHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.EmpStartDismissionHeaders = EmpStartDismissionHeaders;
class EmpStartDismissionRequest extends $tea.Model {
    static names() {
        return {
            lastWorkDate: 'lastWorkDate',
            partner: 'partner',
            remark: 'remark',
            terminationReasonPassive: 'terminationReasonPassive',
            terminationReasonVoluntary: 'terminationReasonVoluntary',
            toHireBlackList: 'toHireBlackList',
            toHireDismissionTalent: 'toHireDismissionTalent',
            toHrmBlackList: 'toHrmBlackList',
            userId: 'userId',
        };
    }
    static types() {
        return {
            lastWorkDate: 'number',
            partner: 'boolean',
            remark: 'string',
            terminationReasonPassive: { 'type': 'array', 'itemType': 'string' },
            terminationReasonVoluntary: { 'type': 'array', 'itemType': 'string' },
            toHireBlackList: 'boolean',
            toHireDismissionTalent: 'boolean',
            toHrmBlackList: 'boolean',
            userId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.EmpStartDismissionRequest = EmpStartDismissionRequest;
class EmpStartDismissionResponseBody extends $tea.Model {
    static names() {
        return {
            requestId: 'requestId',
            result: 'result',
            success: 'success',
        };
    }
    static types() {
        return {
            requestId: 'string',
            result: 'boolean',
            success: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.EmpStartDismissionResponseBody = EmpStartDismissionResponseBody;
class EmpStartDismissionResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: EmpStartDismissionResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.EmpStartDismissionResponse = EmpStartDismissionResponse;
class EmployeeAttachmentUpdateHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.EmployeeAttachmentUpdateHeaders = EmployeeAttachmentUpdateHeaders;
class EmployeeAttachmentUpdateRequest extends $tea.Model {
    static names() {
        return {
            appAgentId: 'appAgentId',
            fieldCode: 'fieldCode',
            fileSuffix: 'fileSuffix',
            mediaId: 'mediaId',
            userId: 'userId',
        };
    }
    static types() {
        return {
            appAgentId: 'number',
            fieldCode: 'string',
            fileSuffix: 'string',
            mediaId: 'string',
            userId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.EmployeeAttachmentUpdateRequest = EmployeeAttachmentUpdateRequest;
class EmployeeAttachmentUpdateResponseBody extends $tea.Model {
    static names() {
        return {
            result: 'result',
            success: 'success',
        };
    }
    static types() {
        return {
            result: 'boolean',
            success: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.EmployeeAttachmentUpdateResponseBody = EmployeeAttachmentUpdateResponseBody;
class EmployeeAttachmentUpdateResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: EmployeeAttachmentUpdateResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.EmployeeAttachmentUpdateResponse = EmployeeAttachmentUpdateResponse;
class EsignRollbackHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.EsignRollbackHeaders = EsignRollbackHeaders;
class EsignRollbackRequest extends $tea.Model {
    static names() {
        return {
            optUserId: 'optUserId',
        };
    }
    static types() {
        return {
            optUserId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.EsignRollbackRequest = EsignRollbackRequest;
class EsignRollbackResponseBody extends $tea.Model {
    static names() {
        return {
            result: 'result',
        };
    }
    static types() {
        return {
            result: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.EsignRollbackResponseBody = EsignRollbackResponseBody;
class EsignRollbackResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: EsignRollbackResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.EsignRollbackResponse = EsignRollbackResponse;
class GetAllDismissionReasonsHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetAllDismissionReasonsHeaders = GetAllDismissionReasonsHeaders;
class GetAllDismissionReasonsResponseBody extends $tea.Model {
    static names() {
        return {
            requestId: 'requestId',
            result: 'result',
            success: 'success',
        };
    }
    static types() {
        return {
            requestId: 'string',
            result: GetAllDismissionReasonsResponseBodyResult,
            success: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetAllDismissionReasonsResponseBody = GetAllDismissionReasonsResponseBody;
class GetAllDismissionReasonsResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: GetAllDismissionReasonsResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetAllDismissionReasonsResponse = GetAllDismissionReasonsResponse;
class GetEmployeeRosterByFieldHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetEmployeeRosterByFieldHeaders = GetEmployeeRosterByFieldHeaders;
class GetEmployeeRosterByFieldRequest extends $tea.Model {
    static names() {
        return {
            appAgentId: 'appAgentId',
            fieldFilterList: 'fieldFilterList',
            text2SelectConvert: 'text2SelectConvert',
            userIdList: 'userIdList',
        };
    }
    static types() {
        return {
            appAgentId: 'number',
            fieldFilterList: { 'type': 'array', 'itemType': 'string' },
            text2SelectConvert: 'boolean',
            userIdList: { 'type': 'array', 'itemType': 'string' },
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetEmployeeRosterByFieldRequest = GetEmployeeRosterByFieldRequest;
class GetEmployeeRosterByFieldResponseBody extends $tea.Model {
    static names() {
        return {
            result: 'result',
        };
    }
    static types() {
        return {
            result: { 'type': 'array', 'itemType': GetEmployeeRosterByFieldResponseBodyResult },
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetEmployeeRosterByFieldResponseBody = GetEmployeeRosterByFieldResponseBody;
class GetEmployeeRosterByFieldResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: GetEmployeeRosterByFieldResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetEmployeeRosterByFieldResponse = GetEmployeeRosterByFieldResponse;
class GetFileTemplateListHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetFileTemplateListHeaders = GetFileTemplateListHeaders;
class GetFileTemplateListRequest extends $tea.Model {
    static names() {
        return {
            maxResults: 'maxResults',
            nextToken: 'nextToken',
            signSource: 'signSource',
            templateStatus: 'templateStatus',
            templateTypeList: 'templateTypeList',
        };
    }
    static types() {
        return {
            maxResults: 'number',
            nextToken: 'number',
            signSource: 'string',
            templateStatus: 'number',
            templateTypeList: { 'type': 'array', 'itemType': 'string' },
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetFileTemplateListRequest = GetFileTemplateListRequest;
class GetFileTemplateListResponseBody extends $tea.Model {
    static names() {
        return {
            result: 'result',
            success: 'success',
        };
    }
    static types() {
        return {
            result: GetFileTemplateListResponseBodyResult,
            success: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetFileTemplateListResponseBody = GetFileTemplateListResponseBody;
class GetFileTemplateListResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: GetFileTemplateListResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetFileTemplateListResponse = GetFileTemplateListResponse;
class GetSignRecordByIdHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetSignRecordByIdHeaders = GetSignRecordByIdHeaders;
class GetSignRecordByIdRequest extends $tea.Model {
    static names() {
        return {
            body: 'body',
        };
    }
    static types() {
        return {
            body: { 'type': 'array', 'itemType': 'string' },
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetSignRecordByIdRequest = GetSignRecordByIdRequest;
class GetSignRecordByIdResponseBody extends $tea.Model {
    static names() {
        return {
            result: 'result',
            success: 'success',
        };
    }
    static types() {
        return {
            result: { 'type': 'array', 'itemType': GetSignRecordByIdResponseBodyResult },
            success: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetSignRecordByIdResponseBody = GetSignRecordByIdResponseBody;
class GetSignRecordByIdResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: GetSignRecordByIdResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetSignRecordByIdResponse = GetSignRecordByIdResponse;
class GetSignRecordByUserIdHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetSignRecordByUserIdHeaders = GetSignRecordByUserIdHeaders;
class GetSignRecordByUserIdRequest extends $tea.Model {
    static names() {
        return {
            maxResults: 'maxResults',
            nextToken: 'nextToken',
            signStatus: 'signStatus',
            signUserId: 'signUserId',
        };
    }
    static types() {
        return {
            maxResults: 'number',
            nextToken: 'number',
            signStatus: { 'type': 'array', 'itemType': 'string' },
            signUserId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetSignRecordByUserIdRequest = GetSignRecordByUserIdRequest;
class GetSignRecordByUserIdResponseBody extends $tea.Model {
    static names() {
        return {
            result: 'result',
            success: 'success',
        };
    }
    static types() {
        return {
            result: GetSignRecordByUserIdResponseBodyResult,
            success: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetSignRecordByUserIdResponseBody = GetSignRecordByUserIdResponseBody;
class GetSignRecordByUserIdResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: GetSignRecordByUserIdResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetSignRecordByUserIdResponse = GetSignRecordByUserIdResponse;
class GetUserSignedRecordsByOuterIdHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetUserSignedRecordsByOuterIdHeaders = GetUserSignedRecordsByOuterIdHeaders;
class GetUserSignedRecordsByOuterIdRequest extends $tea.Model {
    static names() {
        return {
            body: 'body',
        };
    }
    static types() {
        return {
            body: { 'type': 'array', 'itemType': 'string' },
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetUserSignedRecordsByOuterIdRequest = GetUserSignedRecordsByOuterIdRequest;
class GetUserSignedRecordsByOuterIdResponseBody extends $tea.Model {
    static names() {
        return {
            result: 'result',
            success: 'success',
        };
    }
    static types() {
        return {
            result: { 'type': 'array', 'itemType': GetUserSignedRecordsByOuterIdResponseBodyResult },
            success: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetUserSignedRecordsByOuterIdResponseBody = GetUserSignedRecordsByOuterIdResponseBody;
class GetUserSignedRecordsByOuterIdResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: GetUserSignedRecordsByOuterIdResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetUserSignedRecordsByOuterIdResponse = GetUserSignedRecordsByOuterIdResponse;
class HrmAuthResourcesQueryHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.HrmAuthResourcesQueryHeaders = HrmAuthResourcesQueryHeaders;
class HrmAuthResourcesQueryRequest extends $tea.Model {
    static names() {
        return {
            authResourceIds: 'authResourceIds',
            userId: 'userId',
        };
    }
    static types() {
        return {
            authResourceIds: { 'type': 'array', 'itemType': 'string' },
            userId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.HrmAuthResourcesQueryRequest = HrmAuthResourcesQueryRequest;
class HrmAuthResourcesQueryResponseBody extends $tea.Model {
    static names() {
        return {
            result: 'result',
        };
    }
    static types() {
        return {
            result: { 'type': 'array', 'itemType': HrmAuthResourcesQueryResponseBodyResult },
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.HrmAuthResourcesQueryResponseBody = HrmAuthResourcesQueryResponseBody;
class HrmAuthResourcesQueryResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: HrmAuthResourcesQueryResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.HrmAuthResourcesQueryResponse = HrmAuthResourcesQueryResponse;
class HrmBenefitQueryHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.HrmBenefitQueryHeaders = HrmBenefitQueryHeaders;
class HrmBenefitQueryRequest extends $tea.Model {
    static names() {
        return {
            benefitCodes: 'benefitCodes',
        };
    }
    static types() {
        return {
            benefitCodes: { 'type': 'array', 'itemType': 'string' },
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.HrmBenefitQueryRequest = HrmBenefitQueryRequest;
class HrmBenefitQueryResponseBody extends $tea.Model {
    static names() {
        return {
            result: 'result',
        };
    }
    static types() {
        return {
            result: 'any',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.HrmBenefitQueryResponseBody = HrmBenefitQueryResponseBody;
class HrmBenefitQueryResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: HrmBenefitQueryResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.HrmBenefitQueryResponse = HrmBenefitQueryResponse;
class HrmCorpConfigQueryHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.HrmCorpConfigQueryHeaders = HrmCorpConfigQueryHeaders;
class HrmCorpConfigQueryRequest extends $tea.Model {
    static names() {
        return {
            subType: 'subType',
            type: 'type',
        };
    }
    static types() {
        return {
            subType: 'string',
            type: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.HrmCorpConfigQueryRequest = HrmCorpConfigQueryRequest;
class HrmCorpConfigQueryResponseBody extends $tea.Model {
    static names() {
        return {
            result: 'result',
        };
    }
    static types() {
        return {
            result: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.HrmCorpConfigQueryResponseBody = HrmCorpConfigQueryResponseBody;
class HrmCorpConfigQueryResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: HrmCorpConfigQueryResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.HrmCorpConfigQueryResponse = HrmCorpConfigQueryResponse;
class HrmMailSendHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.HrmMailSendHeaders = HrmMailSendHeaders;
class HrmMailSendRequest extends $tea.Model {
    static names() {
        return {
            mail: 'mail',
            operator: 'operator',
        };
    }
    static types() {
        return {
            mail: HrmMailSendRequestMail,
            operator: HrmMailSendRequestOperator,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.HrmMailSendRequest = HrmMailSendRequest;
class HrmMailSendResponseBody extends $tea.Model {
    static names() {
        return {
            result: 'result',
        };
    }
    static types() {
        return {
            result: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.HrmMailSendResponseBody = HrmMailSendResponseBody;
class HrmMailSendResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: HrmMailSendResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.HrmMailSendResponse = HrmMailSendResponse;
class HrmMokaEventHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.HrmMokaEventHeaders = HrmMokaEventHeaders;
class HrmMokaEventRequest extends $tea.Model {
    static names() {
        return {
            bizId: 'bizId',
            content: 'content',
        };
    }
    static types() {
        return {
            bizId: 'string',
            content: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.HrmMokaEventRequest = HrmMokaEventRequest;
class HrmMokaEventResponseBody extends $tea.Model {
    static names() {
        return {
            result: 'result',
        };
    }
    static types() {
        return {
            result: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.HrmMokaEventResponseBody = HrmMokaEventResponseBody;
class HrmMokaEventResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: HrmMokaEventResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.HrmMokaEventResponse = HrmMokaEventResponse;
class HrmMokaOapiHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.HrmMokaOapiHeaders = HrmMokaOapiHeaders;
class HrmMokaOapiRequest extends $tea.Model {
    static names() {
        return {
            apiCode: 'apiCode',
            params: 'params',
        };
    }
    static types() {
        return {
            apiCode: 'string',
            params: 'any',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.HrmMokaOapiRequest = HrmMokaOapiRequest;
class HrmMokaOapiResponseBody extends $tea.Model {
    static names() {
        return {
            bizSuccess: 'bizSuccess',
            errorCode: 'errorCode',
            errorMsg: 'errorMsg',
            result: 'result',
        };
    }
    static types() {
        return {
            bizSuccess: 'boolean',
            errorCode: 'string',
            errorMsg: 'string',
            result: { 'type': 'map', 'keyType': 'string', 'valueType': 'any' },
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.HrmMokaOapiResponseBody = HrmMokaOapiResponseBody;
class HrmMokaOapiResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: HrmMokaOapiResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.HrmMokaOapiResponse = HrmMokaOapiResponse;
class HrmProcessRegularHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.HrmProcessRegularHeaders = HrmProcessRegularHeaders;
class HrmProcessRegularRequest extends $tea.Model {
    static names() {
        return {
            operationId: 'operationId',
            regularDate: 'regularDate',
            remark: 'remark',
            userId: 'userId',
        };
    }
    static types() {
        return {
            operationId: 'string',
            regularDate: 'number',
            remark: 'string',
            userId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.HrmProcessRegularRequest = HrmProcessRegularRequest;
class HrmProcessRegularResponseBody extends $tea.Model {
    static names() {
        return {
            result: 'result',
        };
    }
    static types() {
        return {
            result: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.HrmProcessRegularResponseBody = HrmProcessRegularResponseBody;
class HrmProcessRegularResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: HrmProcessRegularResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.HrmProcessRegularResponse = HrmProcessRegularResponse;
class HrmProcessTerminationAndHandoverHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.HrmProcessTerminationAndHandoverHeaders = HrmProcessTerminationAndHandoverHeaders;
class HrmProcessTerminationAndHandoverRequest extends $tea.Model {
    static names() {
        return {
            aflowHandOverUserId: 'aflowHandOverUserId',
            dingPanHandoverUserId: 'dingPanHandoverUserId',
            directSubordinatesHandoverUserId: 'directSubordinatesHandoverUserId',
            dismissionMemo: 'dismissionMemo',
            dismissionReason: 'dismissionReason',
            docNoteHandoverUserId: 'docNoteHandoverUserId',
            lastWorkDate: 'lastWorkDate',
            optUserId: 'optUserId',
            permissionHandoverUserId: 'permissionHandoverUserId',
            terminationReasonPassive: 'terminationReasonPassive',
            terminationReasonVoluntary: 'terminationReasonVoluntary',
            userId: 'userId',
        };
    }
    static types() {
        return {
            aflowHandOverUserId: 'string',
            dingPanHandoverUserId: 'string',
            directSubordinatesHandoverUserId: 'string',
            dismissionMemo: 'string',
            dismissionReason: 'number',
            docNoteHandoverUserId: 'string',
            lastWorkDate: 'number',
            optUserId: 'string',
            permissionHandoverUserId: 'string',
            terminationReasonPassive: { 'type': 'array', 'itemType': 'string' },
            terminationReasonVoluntary: { 'type': 'array', 'itemType': 'string' },
            userId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.HrmProcessTerminationAndHandoverRequest = HrmProcessTerminationAndHandoverRequest;
class HrmProcessTerminationAndHandoverResponseBody extends $tea.Model {
    static names() {
        return {
            result: 'result',
        };
    }
    static types() {
        return {
            result: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.HrmProcessTerminationAndHandoverResponseBody = HrmProcessTerminationAndHandoverResponseBody;
class HrmProcessTerminationAndHandoverResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: HrmProcessTerminationAndHandoverResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.HrmProcessTerminationAndHandoverResponse = HrmProcessTerminationAndHandoverResponse;
class HrmProcessTransferHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.HrmProcessTransferHeaders = HrmProcessTransferHeaders;
class HrmProcessTransferRequest extends $tea.Model {
    static names() {
        return {
            deptIdsAfterTransfer: 'deptIdsAfterTransfer',
            jobIdAfterTransfer: 'jobIdAfterTransfer',
            mainDeptIdAfterTransfer: 'mainDeptIdAfterTransfer',
            operateUserId: 'operateUserId',
            positionIdAfterTransfer: 'positionIdAfterTransfer',
            positionLevelAfterTransfer: 'positionLevelAfterTransfer',
            positionNameAfterTransfer: 'positionNameAfterTransfer',
            rankIdAfterTransfer: 'rankIdAfterTransfer',
            userId: 'userId',
        };
    }
    static types() {
        return {
            deptIdsAfterTransfer: { 'type': 'array', 'itemType': 'number' },
            jobIdAfterTransfer: 'string',
            mainDeptIdAfterTransfer: 'number',
            operateUserId: 'string',
            positionIdAfterTransfer: 'string',
            positionLevelAfterTransfer: 'string',
            positionNameAfterTransfer: 'string',
            rankIdAfterTransfer: 'string',
            userId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.HrmProcessTransferRequest = HrmProcessTransferRequest;
class HrmProcessTransferResponseBody extends $tea.Model {
    static names() {
        return {
            result: 'result',
        };
    }
    static types() {
        return {
            result: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.HrmProcessTransferResponseBody = HrmProcessTransferResponseBody;
class HrmProcessTransferResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: HrmProcessTransferResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.HrmProcessTransferResponse = HrmProcessTransferResponse;
class HrmProcessUpdateTerminationInfoHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.HrmProcessUpdateTerminationInfoHeaders = HrmProcessUpdateTerminationInfoHeaders;
class HrmProcessUpdateTerminationInfoRequest extends $tea.Model {
    static names() {
        return {
            dismissionMemo: 'dismissionMemo',
            lastWorkDate: 'lastWorkDate',
            userId: 'userId',
        };
    }
    static types() {
        return {
            dismissionMemo: 'string',
            lastWorkDate: 'number',
            userId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.HrmProcessUpdateTerminationInfoRequest = HrmProcessUpdateTerminationInfoRequest;
class HrmProcessUpdateTerminationInfoResponseBody extends $tea.Model {
    static names() {
        return {
            result: 'result',
        };
    }
    static types() {
        return {
            result: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.HrmProcessUpdateTerminationInfoResponseBody = HrmProcessUpdateTerminationInfoResponseBody;
class HrmProcessUpdateTerminationInfoResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: HrmProcessUpdateTerminationInfoResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.HrmProcessUpdateTerminationInfoResponse = HrmProcessUpdateTerminationInfoResponse;
class HrmPtsServiceHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.HrmPtsServiceHeaders = HrmPtsServiceHeaders;
class HrmPtsServiceRequest extends $tea.Model {
    static names() {
        return {
            env: 'env',
            method: 'method',
            outerId: 'outerId',
            params: 'params',
            path: 'path',
        };
    }
    static types() {
        return {
            env: 'string',
            method: 'string',
            outerId: 'string',
            params: 'any',
            path: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.HrmPtsServiceRequest = HrmPtsServiceRequest;
class HrmPtsServiceResponseBody extends $tea.Model {
    static names() {
        return {
            bizSuccess: 'bizSuccess',
            errorCode: 'errorCode',
            errorMsg: 'errorMsg',
            result: 'result',
        };
    }
    static types() {
        return {
            bizSuccess: 'boolean',
            errorCode: 'string',
            errorMsg: 'string',
            result: { 'type': 'map', 'keyType': 'string', 'valueType': 'any' },
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.HrmPtsServiceResponseBody = HrmPtsServiceResponseBody;
class HrmPtsServiceResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: HrmPtsServiceResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.HrmPtsServiceResponse = HrmPtsServiceResponse;
class InvalidSignRecordsHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.InvalidSignRecordsHeaders = InvalidSignRecordsHeaders;
class InvalidSignRecordsRequest extends $tea.Model {
    static names() {
        return {
            invalidUserId: 'invalidUserId',
            signRecordIds: 'signRecordIds',
            statusRemark: 'statusRemark',
        };
    }
    static types() {
        return {
            invalidUserId: 'string',
            signRecordIds: { 'type': 'array', 'itemType': 'string' },
            statusRemark: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.InvalidSignRecordsRequest = InvalidSignRecordsRequest;
class InvalidSignRecordsResponseBody extends $tea.Model {
    static names() {
        return {
            result: 'result',
            success: 'success',
        };
    }
    static types() {
        return {
            result: InvalidSignRecordsResponseBodyResult,
            success: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.InvalidSignRecordsResponseBody = InvalidSignRecordsResponseBody;
class InvalidSignRecordsResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: InvalidSignRecordsResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.InvalidSignRecordsResponse = InvalidSignRecordsResponse;
class MasterDataDeleteHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.MasterDataDeleteHeaders = MasterDataDeleteHeaders;
class MasterDataDeleteRequest extends $tea.Model {
    static names() {
        return {
            body: 'body',
            tenantId: 'tenantId',
        };
    }
    static types() {
        return {
            body: { 'type': 'array', 'itemType': MasterDataDeleteRequestBody },
            tenantId: 'number',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.MasterDataDeleteRequest = MasterDataDeleteRequest;
class MasterDataDeleteResponseBody extends $tea.Model {
    static names() {
        return {
            allSuccess: 'allSuccess',
            failResult: 'failResult',
        };
    }
    static types() {
        return {
            allSuccess: 'boolean',
            failResult: { 'type': 'array', 'itemType': MasterDataDeleteResponseBodyFailResult },
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.MasterDataDeleteResponseBody = MasterDataDeleteResponseBody;
class MasterDataDeleteResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: MasterDataDeleteResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.MasterDataDeleteResponse = MasterDataDeleteResponse;
class MasterDataQueryHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.MasterDataQueryHeaders = MasterDataQueryHeaders;
class MasterDataQueryRequest extends $tea.Model {
    static names() {
        return {
            bizUK: 'bizUK',
            maxResults: 'maxResults',
            nextToken: 'nextToken',
            optUserId: 'optUserId',
            queryParams: 'queryParams',
            relationIds: 'relationIds',
            scopeCode: 'scopeCode',
            tenantId: 'tenantId',
            viewEntityCode: 'viewEntityCode',
        };
    }
    static types() {
        return {
            bizUK: 'string',
            maxResults: 'number',
            nextToken: 'number',
            optUserId: 'string',
            queryParams: { 'type': 'array', 'itemType': MasterDataQueryRequestQueryParams },
            relationIds: { 'type': 'array', 'itemType': 'string' },
            scopeCode: 'string',
            tenantId: 'number',
            viewEntityCode: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.MasterDataQueryRequest = MasterDataQueryRequest;
class MasterDataQueryResponseBody extends $tea.Model {
    static names() {
        return {
            hasMore: 'hasMore',
            nextToken: 'nextToken',
            result: 'result',
            success: 'success',
            total: 'total',
        };
    }
    static types() {
        return {
            hasMore: 'boolean',
            nextToken: 'number',
            result: { 'type': 'array', 'itemType': MasterDataQueryResponseBodyResult },
            success: 'boolean',
            total: 'number',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.MasterDataQueryResponseBody = MasterDataQueryResponseBody;
class MasterDataQueryResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: MasterDataQueryResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.MasterDataQueryResponse = MasterDataQueryResponse;
class MasterDataSaveHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.MasterDataSaveHeaders = MasterDataSaveHeaders;
class MasterDataSaveRequest extends $tea.Model {
    static names() {
        return {
            body: 'body',
            tenantId: 'tenantId',
        };
    }
    static types() {
        return {
            body: { 'type': 'array', 'itemType': MasterDataSaveRequestBody },
            tenantId: 'number',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.MasterDataSaveRequest = MasterDataSaveRequest;
class MasterDataSaveResponseBody extends $tea.Model {
    static names() {
        return {
            allSuccess: 'allSuccess',
            failResult: 'failResult',
        };
    }
    static types() {
        return {
            allSuccess: 'boolean',
            failResult: { 'type': 'array', 'itemType': MasterDataSaveResponseBodyFailResult },
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.MasterDataSaveResponseBody = MasterDataSaveResponseBody;
class MasterDataSaveResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: MasterDataSaveResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.MasterDataSaveResponse = MasterDataSaveResponse;
class MasterDataTenantQueyHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.MasterDataTenantQueyHeaders = MasterDataTenantQueyHeaders;
class MasterDataTenantQueyRequest extends $tea.Model {
    static names() {
        return {
            entityCode: 'entityCode',
            scopeCode: 'scopeCode',
        };
    }
    static types() {
        return {
            entityCode: 'string',
            scopeCode: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.MasterDataTenantQueyRequest = MasterDataTenantQueyRequest;
class MasterDataTenantQueyResponseBody extends $tea.Model {
    static names() {
        return {
            result: 'result',
        };
    }
    static types() {
        return {
            result: { 'type': 'array', 'itemType': MasterDataTenantQueyResponseBodyResult },
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.MasterDataTenantQueyResponseBody = MasterDataTenantQueyResponseBody;
class MasterDataTenantQueyResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: MasterDataTenantQueyResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.MasterDataTenantQueyResponse = MasterDataTenantQueyResponse;
class MasterDatasGetHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.MasterDatasGetHeaders = MasterDatasGetHeaders;
class MasterDatasGetRequest extends $tea.Model {
    static names() {
        return {
            objId: 'objId',
            scopeCode: 'scopeCode',
            tenantId: 'tenantId',
            viewEntityCode: 'viewEntityCode',
        };
    }
    static types() {
        return {
            objId: 'string',
            scopeCode: 'string',
            tenantId: 'number',
            viewEntityCode: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.MasterDatasGetRequest = MasterDatasGetRequest;
class MasterDatasGetResponseBody extends $tea.Model {
    static names() {
        return {
            result: 'result',
        };
    }
    static types() {
        return {
            result: MasterDatasGetResponseBodyResult,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.MasterDatasGetResponseBody = MasterDatasGetResponseBody;
class MasterDatasGetResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: MasterDatasGetResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.MasterDatasGetResponse = MasterDatasGetResponse;
class MasterDatasQueryHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.MasterDatasQueryHeaders = MasterDatasQueryHeaders;
class MasterDatasQueryRequest extends $tea.Model {
    static names() {
        return {
            bizUK: 'bizUK',
            maxResults: 'maxResults',
            nextToken: 'nextToken',
            queryParams: 'queryParams',
            relationIds: 'relationIds',
            scopeCode: 'scopeCode',
            tenantId: 'tenantId',
            viewEntityCode: 'viewEntityCode',
        };
    }
    static types() {
        return {
            bizUK: 'string',
            maxResults: 'number',
            nextToken: 'number',
            queryParams: { 'type': 'array', 'itemType': MasterDatasQueryRequestQueryParams },
            relationIds: { 'type': 'array', 'itemType': 'string' },
            scopeCode: 'string',
            tenantId: 'number',
            viewEntityCode: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.MasterDatasQueryRequest = MasterDatasQueryRequest;
class MasterDatasQueryResponseBody extends $tea.Model {
    static names() {
        return {
            hasMore: 'hasMore',
            nextToken: 'nextToken',
            result: 'result',
            success: 'success',
            total: 'total',
        };
    }
    static types() {
        return {
            hasMore: 'boolean',
            nextToken: 'number',
            result: { 'type': 'array', 'itemType': MasterDatasQueryResponseBodyResult },
            success: 'boolean',
            total: 'number',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.MasterDatasQueryResponseBody = MasterDatasQueryResponseBody;
class MasterDatasQueryResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: MasterDatasQueryResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.MasterDatasQueryResponse = MasterDatasQueryResponse;
class OpenOemMicroAppHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.OpenOemMicroAppHeaders = OpenOemMicroAppHeaders;
class OpenOemMicroAppRequest extends $tea.Model {
    static names() {
        return {
            tenantId: 'tenantId',
        };
    }
    static types() {
        return {
            tenantId: 'number',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.OpenOemMicroAppRequest = OpenOemMicroAppRequest;
class OpenOemMicroAppResponseBody extends $tea.Model {
    static names() {
        return {
            requestId: 'requestId',
            success: 'success',
        };
    }
    static types() {
        return {
            requestId: 'string',
            success: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.OpenOemMicroAppResponseBody = OpenOemMicroAppResponseBody;
class OpenOemMicroAppResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: OpenOemMicroAppResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.OpenOemMicroAppResponse = OpenOemMicroAppResponse;
class QueryCustomEntryProcessesHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryCustomEntryProcessesHeaders = QueryCustomEntryProcessesHeaders;
class QueryCustomEntryProcessesRequest extends $tea.Model {
    static names() {
        return {
            maxResults: 'maxResults',
            nextToken: 'nextToken',
            operateUserId: 'operateUserId',
        };
    }
    static types() {
        return {
            maxResults: 'number',
            nextToken: 'number',
            operateUserId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryCustomEntryProcessesRequest = QueryCustomEntryProcessesRequest;
class QueryCustomEntryProcessesResponseBody extends $tea.Model {
    static names() {
        return {
            hasMore: 'hasMore',
            list: 'list',
            nextToken: 'nextToken',
        };
    }
    static types() {
        return {
            hasMore: 'boolean',
            list: { 'type': 'array', 'itemType': QueryCustomEntryProcessesResponseBodyList },
            nextToken: 'number',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryCustomEntryProcessesResponseBody = QueryCustomEntryProcessesResponseBody;
class QueryCustomEntryProcessesResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: QueryCustomEntryProcessesResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryCustomEntryProcessesResponse = QueryCustomEntryProcessesResponse;
class QueryDismissionStaffIdListHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryDismissionStaffIdListHeaders = QueryDismissionStaffIdListHeaders;
class QueryDismissionStaffIdListRequest extends $tea.Model {
    static names() {
        return {
            maxResults: 'maxResults',
            nextToken: 'nextToken',
        };
    }
    static types() {
        return {
            maxResults: 'number',
            nextToken: 'number',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryDismissionStaffIdListRequest = QueryDismissionStaffIdListRequest;
class QueryDismissionStaffIdListResponseBody extends $tea.Model {
    static names() {
        return {
            hasMore: 'hasMore',
            nextToken: 'nextToken',
            userIdList: 'userIdList',
        };
    }
    static types() {
        return {
            hasMore: 'boolean',
            nextToken: 'number',
            userIdList: { 'type': 'array', 'itemType': 'string' },
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryDismissionStaffIdListResponseBody = QueryDismissionStaffIdListResponseBody;
class QueryDismissionStaffIdListResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: QueryDismissionStaffIdListResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryDismissionStaffIdListResponse = QueryDismissionStaffIdListResponse;
class QueryHrmEmployeeDismissionInfoHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryHrmEmployeeDismissionInfoHeaders = QueryHrmEmployeeDismissionInfoHeaders;
class QueryHrmEmployeeDismissionInfoRequest extends $tea.Model {
    static names() {
        return {
            userIdList: 'userIdList',
        };
    }
    static types() {
        return {
            userIdList: { 'type': 'array', 'itemType': 'string' },
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryHrmEmployeeDismissionInfoRequest = QueryHrmEmployeeDismissionInfoRequest;
class QueryHrmEmployeeDismissionInfoShrinkRequest extends $tea.Model {
    static names() {
        return {
            userIdListShrink: 'userIdList',
        };
    }
    static types() {
        return {
            userIdListShrink: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryHrmEmployeeDismissionInfoShrinkRequest = QueryHrmEmployeeDismissionInfoShrinkRequest;
class QueryHrmEmployeeDismissionInfoResponseBody extends $tea.Model {
    static names() {
        return {
            result: 'result',
        };
    }
    static types() {
        return {
            result: { 'type': 'array', 'itemType': QueryHrmEmployeeDismissionInfoResponseBodyResult },
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryHrmEmployeeDismissionInfoResponseBody = QueryHrmEmployeeDismissionInfoResponseBody;
class QueryHrmEmployeeDismissionInfoResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: QueryHrmEmployeeDismissionInfoResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryHrmEmployeeDismissionInfoResponse = QueryHrmEmployeeDismissionInfoResponse;
class QueryJobRanksHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryJobRanksHeaders = QueryJobRanksHeaders;
class QueryJobRanksRequest extends $tea.Model {
    static names() {
        return {
            maxResults: 'maxResults',
            nextToken: 'nextToken',
            rankCategoryId: 'rankCategoryId',
            rankCode: 'rankCode',
            rankName: 'rankName',
        };
    }
    static types() {
        return {
            maxResults: 'number',
            nextToken: 'number',
            rankCategoryId: 'string',
            rankCode: 'string',
            rankName: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryJobRanksRequest = QueryJobRanksRequest;
class QueryJobRanksResponseBody extends $tea.Model {
    static names() {
        return {
            hasMore: 'hasMore',
            list: 'list',
            nextToken: 'nextToken',
        };
    }
    static types() {
        return {
            hasMore: 'boolean',
            list: { 'type': 'array', 'itemType': QueryJobRanksResponseBodyList },
            nextToken: 'number',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryJobRanksResponseBody = QueryJobRanksResponseBody;
class QueryJobRanksResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: QueryJobRanksResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryJobRanksResponse = QueryJobRanksResponse;
class QueryJobsHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryJobsHeaders = QueryJobsHeaders;
class QueryJobsRequest extends $tea.Model {
    static names() {
        return {
            jobName: 'jobName',
            maxResults: 'maxResults',
            nextToken: 'nextToken',
        };
    }
    static types() {
        return {
            jobName: 'string',
            maxResults: 'number',
            nextToken: 'number',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryJobsRequest = QueryJobsRequest;
class QueryJobsResponseBody extends $tea.Model {
    static names() {
        return {
            hasMore: 'hasMore',
            list: 'list',
            nextToken: 'nextToken',
        };
    }
    static types() {
        return {
            hasMore: 'boolean',
            list: { 'type': 'array', 'itemType': QueryJobsResponseBodyList },
            nextToken: 'number',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryJobsResponseBody = QueryJobsResponseBody;
class QueryJobsResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: QueryJobsResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryJobsResponse = QueryJobsResponse;
class QueryMicroAppStatusHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryMicroAppStatusHeaders = QueryMicroAppStatusHeaders;
class QueryMicroAppStatusRequest extends $tea.Model {
    static names() {
        return {
            tenantIdList: 'tenantIdList',
        };
    }
    static types() {
        return {
            tenantIdList: { 'type': 'array', 'itemType': 'number' },
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryMicroAppStatusRequest = QueryMicroAppStatusRequest;
class QueryMicroAppStatusResponseBody extends $tea.Model {
    static names() {
        return {
            requestId: 'requestId',
            result: 'result',
            success: 'success',
        };
    }
    static types() {
        return {
            requestId: 'string',
            result: { 'type': 'map', 'keyType': 'string', 'valueType': ResultValue },
            success: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryMicroAppStatusResponseBody = QueryMicroAppStatusResponseBody;
class QueryMicroAppStatusResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: QueryMicroAppStatusResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryMicroAppStatusResponse = QueryMicroAppStatusResponse;
class QueryMicroAppViewHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryMicroAppViewHeaders = QueryMicroAppViewHeaders;
class QueryMicroAppViewRequest extends $tea.Model {
    static names() {
        return {
            tenantIdList: 'tenantIdList',
            viewUserId: 'viewUserId',
        };
    }
    static types() {
        return {
            tenantIdList: { 'type': 'array', 'itemType': 'number' },
            viewUserId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryMicroAppViewRequest = QueryMicroAppViewRequest;
class QueryMicroAppViewResponseBody extends $tea.Model {
    static names() {
        return {
            requestId: 'requestId',
            result: 'result',
            success: 'success',
        };
    }
    static types() {
        return {
            requestId: 'string',
            result: { 'type': 'map', 'keyType': 'string', 'valueType': 'boolean' },
            success: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryMicroAppViewResponseBody = QueryMicroAppViewResponseBody;
class QueryMicroAppViewResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: QueryMicroAppViewResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryMicroAppViewResponse = QueryMicroAppViewResponse;
class QueryPositionVersionHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryPositionVersionHeaders = QueryPositionVersionHeaders;
class QueryPositionVersionResponseBody extends $tea.Model {
    static names() {
        return {
            result: 'result',
        };
    }
    static types() {
        return {
            result: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryPositionVersionResponseBody = QueryPositionVersionResponseBody;
class QueryPositionVersionResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: QueryPositionVersionResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryPositionVersionResponse = QueryPositionVersionResponse;
class QueryPositionsHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryPositionsHeaders = QueryPositionsHeaders;
class QueryPositionsRequest extends $tea.Model {
    static names() {
        return {
            deptId: 'deptId',
            inCategoryIds: 'inCategoryIds',
            inPositionIds: 'inPositionIds',
            positionName: 'positionName',
            maxResults: 'maxResults',
            nextToken: 'nextToken',
        };
    }
    static types() {
        return {
            deptId: 'number',
            inCategoryIds: { 'type': 'array', 'itemType': 'string' },
            inPositionIds: { 'type': 'array', 'itemType': 'string' },
            positionName: 'string',
            maxResults: 'number',
            nextToken: 'number',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryPositionsRequest = QueryPositionsRequest;
class QueryPositionsResponseBody extends $tea.Model {
    static names() {
        return {
            hasMore: 'hasMore',
            list: 'list',
            nextToken: 'nextToken',
        };
    }
    static types() {
        return {
            hasMore: 'boolean',
            list: { 'type': 'array', 'itemType': QueryPositionsResponseBodyList },
            nextToken: 'number',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryPositionsResponseBody = QueryPositionsResponseBody;
class QueryPositionsResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: QueryPositionsResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryPositionsResponse = QueryPositionsResponse;
class RevokeSignRecordsHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.RevokeSignRecordsHeaders = RevokeSignRecordsHeaders;
class RevokeSignRecordsRequest extends $tea.Model {
    static names() {
        return {
            revokeUserId: 'revokeUserId',
            signRecordIds: 'signRecordIds',
            statusRemark: 'statusRemark',
        };
    }
    static types() {
        return {
            revokeUserId: 'string',
            signRecordIds: { 'type': 'array', 'itemType': 'string' },
            statusRemark: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.RevokeSignRecordsRequest = RevokeSignRecordsRequest;
class RevokeSignRecordsResponseBody extends $tea.Model {
    static names() {
        return {
            result: 'result',
            success: 'success',
        };
    }
    static types() {
        return {
            result: RevokeSignRecordsResponseBodyResult,
            success: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.RevokeSignRecordsResponseBody = RevokeSignRecordsResponseBody;
class RevokeSignRecordsResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: RevokeSignRecordsResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.RevokeSignRecordsResponse = RevokeSignRecordsResponse;
class RevokeTerminationHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.RevokeTerminationHeaders = RevokeTerminationHeaders;
class RevokeTerminationRequest extends $tea.Model {
    static names() {
        return {
            userId: 'userId',
        };
    }
    static types() {
        return {
            userId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.RevokeTerminationRequest = RevokeTerminationRequest;
class RevokeTerminationResponseBody extends $tea.Model {
    static names() {
        return {
            requestId: 'requestId',
            result: 'result',
            success: 'success',
        };
    }
    static types() {
        return {
            requestId: 'string',
            result: 'boolean',
            success: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.RevokeTerminationResponseBody = RevokeTerminationResponseBody;
class RevokeTerminationResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: RevokeTerminationResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.RevokeTerminationResponse = RevokeTerminationResponse;
class RosterMetaAvailableFieldListHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.RosterMetaAvailableFieldListHeaders = RosterMetaAvailableFieldListHeaders;
class RosterMetaAvailableFieldListRequest extends $tea.Model {
    static names() {
        return {
            appAgentId: 'appAgentId',
        };
    }
    static types() {
        return {
            appAgentId: 'number',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.RosterMetaAvailableFieldListRequest = RosterMetaAvailableFieldListRequest;
class RosterMetaAvailableFieldListResponseBody extends $tea.Model {
    static names() {
        return {
            result: 'result',
        };
    }
    static types() {
        return {
            result: { 'type': 'array', 'itemType': RosterMetaAvailableFieldListResponseBodyResult },
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.RosterMetaAvailableFieldListResponseBody = RosterMetaAvailableFieldListResponseBody;
class RosterMetaAvailableFieldListResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: RosterMetaAvailableFieldListResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.RosterMetaAvailableFieldListResponse = RosterMetaAvailableFieldListResponse;
class RosterMetaFieldOptionsUpdateHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.RosterMetaFieldOptionsUpdateHeaders = RosterMetaFieldOptionsUpdateHeaders;
class RosterMetaFieldOptionsUpdateRequest extends $tea.Model {
    static names() {
        return {
            appAgentId: 'appAgentId',
            fieldCode: 'fieldCode',
            groupId: 'groupId',
            labels: 'labels',
            modifyType: 'modifyType',
        };
    }
    static types() {
        return {
            appAgentId: 'number',
            fieldCode: 'string',
            groupId: 'string',
            labels: { 'type': 'array', 'itemType': 'string' },
            modifyType: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.RosterMetaFieldOptionsUpdateRequest = RosterMetaFieldOptionsUpdateRequest;
class RosterMetaFieldOptionsUpdateResponseBody extends $tea.Model {
    static names() {
        return {
            result: 'result',
        };
    }
    static types() {
        return {
            result: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.RosterMetaFieldOptionsUpdateResponseBody = RosterMetaFieldOptionsUpdateResponseBody;
class RosterMetaFieldOptionsUpdateResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: RosterMetaFieldOptionsUpdateResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.RosterMetaFieldOptionsUpdateResponse = RosterMetaFieldOptionsUpdateResponse;
class SendIsvCardMessageHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.SendIsvCardMessageHeaders = SendIsvCardMessageHeaders;
class SendIsvCardMessageRequest extends $tea.Model {
    static names() {
        return {
            agentId: 'agentId',
            bizId: 'bizId',
            messageType: 'messageType',
            receiverUserIds: 'receiverUserIds',
            sceneType: 'sceneType',
            scope: 'scope',
            senderUserId: 'senderUserId',
            valueMap: 'valueMap',
        };
    }
    static types() {
        return {
            agentId: 'number',
            bizId: 'string',
            messageType: 'string',
            receiverUserIds: { 'type': 'array', 'itemType': 'string' },
            sceneType: 'string',
            scope: 'string',
            senderUserId: 'string',
            valueMap: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.SendIsvCardMessageRequest = SendIsvCardMessageRequest;
class SendIsvCardMessageResponseBody extends $tea.Model {
    static names() {
        return {
            errorCode: 'errorCode',
            errorMsg: 'errorMsg',
            hrmInteractiveCardSendResult: 'hrmInteractiveCardSendResult',
            requestId: 'requestId',
            success: 'success',
        };
    }
    static types() {
        return {
            errorCode: 'string',
            errorMsg: 'string',
            hrmInteractiveCardSendResult: SendIsvCardMessageResponseBodyHrmInteractiveCardSendResult,
            requestId: 'string',
            success: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.SendIsvCardMessageResponseBody = SendIsvCardMessageResponseBody;
class SendIsvCardMessageResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: SendIsvCardMessageResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.SendIsvCardMessageResponse = SendIsvCardMessageResponse;
class SendRealAuthInviteMessageHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.SendRealAuthInviteMessageHeaders = SendRealAuthInviteMessageHeaders;
class SendRealAuthInviteMessageRequest extends $tea.Model {
    static names() {
        return {
            inviterId: 'inviterId',
            onWorkingEmpSearchVO: 'onWorkingEmpSearchVO',
        };
    }
    static types() {
        return {
            inviterId: 'string',
            onWorkingEmpSearchVO: SendRealAuthInviteMessageRequestOnWorkingEmpSearchVO,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.SendRealAuthInviteMessageRequest = SendRealAuthInviteMessageRequest;
class SendRealAuthInviteMessageResponseBody extends $tea.Model {
    static names() {
        return {
            dingOpenErrcode: 'dingOpenErrcode',
            errorMsg: 'errorMsg',
            result: 'result',
            success: 'success',
        };
    }
    static types() {
        return {
            dingOpenErrcode: 'number',
            errorMsg: 'string',
            result: SendRealAuthInviteMessageResponseBodyResult,
            success: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.SendRealAuthInviteMessageResponseBody = SendRealAuthInviteMessageResponseBody;
class SendRealAuthInviteMessageResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: SendRealAuthInviteMessageResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.SendRealAuthInviteMessageResponse = SendRealAuthInviteMessageResponse;
class SolutionTaskInitHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.SolutionTaskInitHeaders = SolutionTaskInitHeaders;
class SolutionTaskInitRequest extends $tea.Model {
    static names() {
        return {
            category: 'category',
            claimTime: 'claimTime',
            description: 'description',
            finishTime: 'finishTime',
            outerId: 'outerId',
            status: 'status',
            title: 'title',
            userId: 'userId',
            solutionType: 'solutionType',
        };
    }
    static types() {
        return {
            category: 'string',
            claimTime: 'number',
            description: 'string',
            finishTime: 'number',
            outerId: 'string',
            status: 'string',
            title: 'string',
            userId: 'string',
            solutionType: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.SolutionTaskInitRequest = SolutionTaskInitRequest;
class SolutionTaskInitResponseBody extends $tea.Model {
    static names() {
        return {
            result: 'result',
        };
    }
    static types() {
        return {
            result: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.SolutionTaskInitResponseBody = SolutionTaskInitResponseBody;
class SolutionTaskInitResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: SolutionTaskInitResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.SolutionTaskInitResponse = SolutionTaskInitResponse;
class SolutionTaskSaveHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.SolutionTaskSaveHeaders = SolutionTaskSaveHeaders;
class SolutionTaskSaveRequest extends $tea.Model {
    static names() {
        return {
            claimTime: 'claimTime',
            description: 'description',
            finishTime: 'finishTime',
            outerId: 'outerId',
            solutionInstanceId: 'solutionInstanceId',
            startTime: 'startTime',
            status: 'status',
            taskType: 'taskType',
            templateOuterId: 'templateOuterId',
            title: 'title',
            userId: 'userId',
            solutionType: 'solutionType',
        };
    }
    static types() {
        return {
            claimTime: 'number',
            description: 'string',
            finishTime: 'number',
            outerId: 'string',
            solutionInstanceId: 'string',
            startTime: 'number',
            status: 'string',
            taskType: 'string',
            templateOuterId: 'string',
            title: 'string',
            userId: 'string',
            solutionType: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.SolutionTaskSaveRequest = SolutionTaskSaveRequest;
class SolutionTaskSaveResponseBody extends $tea.Model {
    static names() {
        return {
            result: 'result',
        };
    }
    static types() {
        return {
            result: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.SolutionTaskSaveResponseBody = SolutionTaskSaveResponseBody;
class SolutionTaskSaveResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: SolutionTaskSaveResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.SolutionTaskSaveResponse = SolutionTaskSaveResponse;
class SyncSolutionStatusHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.SyncSolutionStatusHeaders = SyncSolutionStatusHeaders;
class SyncSolutionStatusRequest extends $tea.Model {
    static names() {
        return {
            bizId: 'bizId',
            solutionStatus: 'solutionStatus',
            solutionType: 'solutionType',
            tenantId: 'tenantId',
            userIds: 'userIds',
        };
    }
    static types() {
        return {
            bizId: 'string',
            solutionStatus: 'string',
            solutionType: 'string',
            tenantId: 'number',
            userIds: { 'type': 'array', 'itemType': 'string' },
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.SyncSolutionStatusRequest = SyncSolutionStatusRequest;
class SyncSolutionStatusResponseBody extends $tea.Model {
    static names() {
        return {
            result: 'result',
        };
    }
    static types() {
        return {
            result: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.SyncSolutionStatusResponseBody = SyncSolutionStatusResponseBody;
class SyncSolutionStatusResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: SyncSolutionStatusResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.SyncSolutionStatusResponse = SyncSolutionStatusResponse;
class SyncTaskTemplateHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.SyncTaskTemplateHeaders = SyncTaskTemplateHeaders;
class SyncTaskTemplateRequest extends $tea.Model {
    static names() {
        return {
            delete: 'delete',
            des: 'des',
            ext: 'ext',
            name: 'name',
            optUserId: 'optUserId',
            outerId: 'outerId',
            taskScopeVO: 'taskScopeVO',
            taskType: 'taskType',
            solutionType: 'solutionType',
        };
    }
    static types() {
        return {
            delete: 'boolean',
            des: 'string',
            ext: 'string',
            name: 'string',
            optUserId: 'string',
            outerId: 'string',
            taskScopeVO: SyncTaskTemplateRequestTaskScopeVO,
            taskType: 'string',
            solutionType: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.SyncTaskTemplateRequest = SyncTaskTemplateRequest;
class SyncTaskTemplateResponseBody extends $tea.Model {
    static names() {
        return {
            result: 'result',
        };
    }
    static types() {
        return {
            result: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.SyncTaskTemplateResponseBody = SyncTaskTemplateResponseBody;
class SyncTaskTemplateResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: SyncTaskTemplateResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.SyncTaskTemplateResponse = SyncTaskTemplateResponse;
class UpdateCustomRosterFieldHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UpdateCustomRosterFieldHeaders = UpdateCustomRosterFieldHeaders;
class UpdateCustomRosterFieldRequest extends $tea.Model {
    static names() {
        return {
            contactClientFlag: 'contactClientFlag',
            contactFlag: 'contactFlag',
            contactSource: 'contactSource',
            contactSystemFlag: 'contactSystemFlag',
            deleted: 'deleted',
            derived: 'derived',
            disabled: 'disabled',
            editFromEmployeeFlag: 'editFromEmployeeFlag',
            editableByHr: 'editableByHr',
            fieldCode: 'fieldCode',
            fieldName: 'fieldName',
            fieldTip: 'fieldTip',
            fieldType: 'fieldType',
            groupId: 'groupId',
            hiddenFromEmployeeFlag: 'hiddenFromEmployeeFlag',
            hint: 'hint',
            historyField: 'historyField',
            index: 'index',
            modifyOptions: 'modifyOptions',
            noWatermark: 'noWatermark',
            numberDecimalPlace: 'numberDecimalPlace',
            numberFormatType: 'numberFormatType',
            numberValueType: 'numberValueType',
            optionText: 'optionText',
            required: 'required',
            sourceFieldCode: 'sourceFieldCode',
            systemFlag: 'systemFlag',
            textToSelectField: 'textToSelectField',
            updateUserId: 'updateUserId',
            value: 'value',
            visibleByEmp: 'visibleByEmp',
        };
    }
    static types() {
        return {
            contactClientFlag: 'boolean',
            contactFlag: 'boolean',
            contactSource: 'number',
            contactSystemFlag: 'boolean',
            deleted: 'boolean',
            derived: 'boolean',
            disabled: 'number',
            editFromEmployeeFlag: 'boolean',
            editableByHr: 'boolean',
            fieldCode: 'string',
            fieldName: 'string',
            fieldTip: 'string',
            fieldType: 'string',
            groupId: 'string',
            hiddenFromEmployeeFlag: 'boolean',
            hint: 'string',
            historyField: 'boolean',
            index: 'number',
            modifyOptions: 'boolean',
            noWatermark: 'boolean',
            numberDecimalPlace: 'number',
            numberFormatType: 'string',
            numberValueType: 'string',
            optionText: 'string',
            required: 'boolean',
            sourceFieldCode: 'string',
            systemFlag: 'boolean',
            textToSelectField: 'boolean',
            updateUserId: 'string',
            value: 'string',
            visibleByEmp: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UpdateCustomRosterFieldRequest = UpdateCustomRosterFieldRequest;
class UpdateCustomRosterFieldResponseBody extends $tea.Model {
    static names() {
        return {
            dingOpenErrcode: 'dingOpenErrcode',
            errorMsg: 'errorMsg',
            result: 'result',
            success: 'success',
        };
    }
    static types() {
        return {
            dingOpenErrcode: 'number',
            errorMsg: 'string',
            result: UpdateCustomRosterFieldResponseBodyResult,
            success: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UpdateCustomRosterFieldResponseBody = UpdateCustomRosterFieldResponseBody;
class UpdateCustomRosterFieldResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: UpdateCustomRosterFieldResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UpdateCustomRosterFieldResponse = UpdateCustomRosterFieldResponse;
class UpdateEmpDismissionInfoHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UpdateEmpDismissionInfoHeaders = UpdateEmpDismissionInfoHeaders;
class UpdateEmpDismissionInfoRequest extends $tea.Model {
    static names() {
        return {
            dismissionMemo: 'dismissionMemo',
            lastWorkDate: 'lastWorkDate',
            partner: 'partner',
            terminationReasonPassive: 'terminationReasonPassive',
            terminationReasonVoluntary: 'terminationReasonVoluntary',
            userId: 'userId',
        };
    }
    static types() {
        return {
            dismissionMemo: 'string',
            lastWorkDate: 'number',
            partner: 'boolean',
            terminationReasonPassive: { 'type': 'array', 'itemType': 'string' },
            terminationReasonVoluntary: { 'type': 'array', 'itemType': 'string' },
            userId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UpdateEmpDismissionInfoRequest = UpdateEmpDismissionInfoRequest;
class UpdateEmpDismissionInfoResponseBody extends $tea.Model {
    static names() {
        return {
            requestId: 'requestId',
            result: 'result',
            success: 'success',
        };
    }
    static types() {
        return {
            requestId: 'string',
            result: 'boolean',
            success: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UpdateEmpDismissionInfoResponseBody = UpdateEmpDismissionInfoResponseBody;
class UpdateEmpDismissionInfoResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: UpdateEmpDismissionInfoResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UpdateEmpDismissionInfoResponse = UpdateEmpDismissionInfoResponse;
class UpdateHrmLegalEntityNameHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UpdateHrmLegalEntityNameHeaders = UpdateHrmLegalEntityNameHeaders;
class UpdateHrmLegalEntityNameRequest extends $tea.Model {
    static names() {
        return {
            dingTenantId: 'dingTenantId',
            legalEntityName: 'legalEntityName',
            originLegalEntityName: 'originLegalEntityName',
        };
    }
    static types() {
        return {
            dingTenantId: 'number',
            legalEntityName: 'string',
            originLegalEntityName: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UpdateHrmLegalEntityNameRequest = UpdateHrmLegalEntityNameRequest;
class UpdateHrmLegalEntityNameResponseBody extends $tea.Model {
    static names() {
        return {
            result: 'result',
            success: 'success',
        };
    }
    static types() {
        return {
            result: UpdateHrmLegalEntityNameResponseBodyResult,
            success: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UpdateHrmLegalEntityNameResponseBody = UpdateHrmLegalEntityNameResponseBody;
class UpdateHrmLegalEntityNameResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: UpdateHrmLegalEntityNameResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UpdateHrmLegalEntityNameResponse = UpdateHrmLegalEntityNameResponse;
class UpdateHrmLegalEntityWithoutNameHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UpdateHrmLegalEntityWithoutNameHeaders = UpdateHrmLegalEntityWithoutNameHeaders;
class UpdateHrmLegalEntityWithoutNameRequest extends $tea.Model {
    static names() {
        return {
            corpId: 'corpId',
            createUserId: 'createUserId',
            ext: 'ext',
            legalEntityName: 'legalEntityName',
            legalEntityShortName: 'legalEntityShortName',
            legalEntityStatus: 'legalEntityStatus',
            legalPersonName: 'legalPersonName',
            dingTenantId: 'dingTenantId',
        };
    }
    static types() {
        return {
            corpId: 'string',
            createUserId: 'string',
            ext: UpdateHrmLegalEntityWithoutNameRequestExt,
            legalEntityName: 'string',
            legalEntityShortName: 'string',
            legalEntityStatus: 'number',
            legalPersonName: 'string',
            dingTenantId: 'number',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UpdateHrmLegalEntityWithoutNameRequest = UpdateHrmLegalEntityWithoutNameRequest;
class UpdateHrmLegalEntityWithoutNameResponseBody extends $tea.Model {
    static names() {
        return {
            result: 'result',
            success: 'success',
        };
    }
    static types() {
        return {
            result: UpdateHrmLegalEntityWithoutNameResponseBodyResult,
            success: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UpdateHrmLegalEntityWithoutNameResponseBody = UpdateHrmLegalEntityWithoutNameResponseBody;
class UpdateHrmLegalEntityWithoutNameResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: UpdateHrmLegalEntityWithoutNameResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UpdateHrmLegalEntityWithoutNameResponse = UpdateHrmLegalEntityWithoutNameResponse;
class UpdateHrmVersionRollBackStatusHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UpdateHrmVersionRollBackStatusHeaders = UpdateHrmVersionRollBackStatusHeaders;
class UpdateHrmVersionRollBackStatusRequest extends $tea.Model {
    static names() {
        return {
            configValue: 'configValue',
            optUserId: 'optUserId',
        };
    }
    static types() {
        return {
            configValue: 'string',
            optUserId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UpdateHrmVersionRollBackStatusRequest = UpdateHrmVersionRollBackStatusRequest;
class UpdateHrmVersionRollBackStatusResponseBody extends $tea.Model {
    static names() {
        return {
            requestId: 'requestId',
            result: 'result',
            success: 'success',
        };
    }
    static types() {
        return {
            requestId: 'string',
            result: 'boolean',
            success: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UpdateHrmVersionRollBackStatusResponseBody = UpdateHrmVersionRollBackStatusResponseBody;
class UpdateHrmVersionRollBackStatusResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: UpdateHrmVersionRollBackStatusResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UpdateHrmVersionRollBackStatusResponse = UpdateHrmVersionRollBackStatusResponse;
class UpdateIsvCardMessageHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UpdateIsvCardMessageHeaders = UpdateIsvCardMessageHeaders;
class UpdateIsvCardMessageRequest extends $tea.Model {
    static names() {
        return {
            agentId: 'agentId',
            bizId: 'bizId',
            messageType: 'messageType',
            sceneType: 'sceneType',
            scope: 'scope',
            valueMap: 'valueMap',
        };
    }
    static types() {
        return {
            agentId: 'number',
            bizId: 'string',
            messageType: 'string',
            sceneType: 'string',
            scope: 'string',
            valueMap: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UpdateIsvCardMessageRequest = UpdateIsvCardMessageRequest;
class UpdateIsvCardMessageResponseBody extends $tea.Model {
    static names() {
        return {
            errorCode: 'errorCode',
            errorMsg: 'errorMsg',
            requestId: 'requestId',
            success: 'success',
        };
    }
    static types() {
        return {
            errorCode: 'string',
            errorMsg: 'string',
            requestId: 'string',
            success: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UpdateIsvCardMessageResponseBody = UpdateIsvCardMessageResponseBody;
class UpdateIsvCardMessageResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: UpdateIsvCardMessageResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UpdateIsvCardMessageResponse = UpdateIsvCardMessageResponse;
class UpdateRosterFieldFormHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UpdateRosterFieldFormHeaders = UpdateRosterFieldFormHeaders;
class UpdateRosterFieldFormRequest extends $tea.Model {
    static names() {
        return {
            detail: 'detail',
            formId: 'formId',
            name: 'name',
            userId: 'userId',
        };
    }
    static types() {
        return {
            detail: 'boolean',
            formId: 'string',
            name: 'string',
            userId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UpdateRosterFieldFormRequest = UpdateRosterFieldFormRequest;
class UpdateRosterFieldFormResponseBody extends $tea.Model {
    static names() {
        return {
            dingOpenErrcode: 'dingOpenErrcode',
            errorMsg: 'errorMsg',
            result: 'result',
            success: 'success',
        };
    }
    static types() {
        return {
            dingOpenErrcode: 'number',
            errorMsg: 'string',
            result: 'boolean',
            success: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UpdateRosterFieldFormResponseBody = UpdateRosterFieldFormResponseBody;
class UpdateRosterFieldFormResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: UpdateRosterFieldFormResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UpdateRosterFieldFormResponse = UpdateRosterFieldFormResponse;
class UploadAttachmentHeaders extends $tea.Model {
    static names() {
        return {
            commonHeaders: 'commonHeaders',
            xAcsDingtalkAccessToken: 'x-acs-dingtalk-access-token',
        };
    }
    static types() {
        return {
            commonHeaders: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            xAcsDingtalkAccessToken: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UploadAttachmentHeaders = UploadAttachmentHeaders;
class UploadAttachmentRequest extends $tea.Model {
    static names() {
        return {
            mediaId: 'mediaId',
            userId: 'userId',
        };
    }
    static types() {
        return {
            mediaId: 'string',
            userId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UploadAttachmentRequest = UploadAttachmentRequest;
class UploadAttachmentResponseBody extends $tea.Model {
    static names() {
        return {
            result: 'result',
            success: 'success',
        };
    }
    static types() {
        return {
            result: 'string',
            success: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UploadAttachmentResponseBody = UploadAttachmentResponseBody;
class UploadAttachmentResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
            body: 'body',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
            body: UploadAttachmentResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UploadAttachmentResponse = UploadAttachmentResponse;
class AddCustomRosterFieldResponseBodyResult extends $tea.Model {
    static names() {
        return {
            contactClientFlag: 'contactClientFlag',
            contactFlag: 'contactFlag',
            contactSource: 'contactSource',
            contactSystemFlag: 'contactSystemFlag',
            deleted: 'deleted',
            derived: 'derived',
            disabled: 'disabled',
            editFromEmployeeFlag: 'editFromEmployeeFlag',
            editableByHr: 'editableByHr',
            fieldCode: 'fieldCode',
            fieldName: 'fieldName',
            fieldTip: 'fieldTip',
            fieldType: 'fieldType',
            groupId: 'groupId',
            hiddenFromEmployeeFlag: 'hiddenFromEmployeeFlag',
            hint: 'hint',
            historyField: 'historyField',
            index: 'index',
            modifyOptions: 'modifyOptions',
            noWatermark: 'noWatermark',
            numberDecimalPlace: 'numberDecimalPlace',
            numberFormatType: 'numberFormatType',
            numberValueType: 'numberValueType',
            optionText: 'optionText',
            required: 'required',
            sourceFieldCode: 'sourceFieldCode',
            systemFlag: 'systemFlag',
            textToSelectField: 'textToSelectField',
            value: 'value',
            visibleByEmp: 'visibleByEmp',
        };
    }
    static types() {
        return {
            contactClientFlag: 'boolean',
            contactFlag: 'boolean',
            contactSource: 'number',
            contactSystemFlag: 'boolean',
            deleted: 'boolean',
            derived: 'boolean',
            disabled: 'number',
            editFromEmployeeFlag: 'boolean',
            editableByHr: 'boolean',
            fieldCode: 'string',
            fieldName: 'string',
            fieldTip: 'string',
            fieldType: 'string',
            groupId: 'string',
            hiddenFromEmployeeFlag: 'boolean',
            hint: 'string',
            historyField: 'boolean',
            index: 'number',
            modifyOptions: 'boolean',
            noWatermark: 'boolean',
            numberDecimalPlace: 'string',
            numberFormatType: 'string',
            numberValueType: 'string',
            optionText: 'string',
            required: 'boolean',
            sourceFieldCode: 'string',
            systemFlag: 'boolean',
            textToSelectField: 'boolean',
            value: 'string',
            visibleByEmp: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.AddCustomRosterFieldResponseBodyResult = AddCustomRosterFieldResponseBodyResult;
class AddHrmLegalEntityRequestExtManageAddress extends $tea.Model {
    static names() {
        return {
            areaCode: 'areaCode',
            areaName: 'areaName',
            cityCode: 'cityCode',
            cityName: 'cityName',
            countryCode: 'countryCode',
            countryName: 'countryName',
            detailAddress: 'detailAddress',
            globalAreaType: 'globalAreaType',
            provinceCode: 'provinceCode',
            provinceName: 'provinceName',
        };
    }
    static types() {
        return {
            areaCode: 'string',
            areaName: 'string',
            cityCode: 'string',
            cityName: 'string',
            countryCode: 'string',
            countryName: 'string',
            detailAddress: 'string',
            globalAreaType: 'string',
            provinceCode: 'string',
            provinceName: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.AddHrmLegalEntityRequestExtManageAddress = AddHrmLegalEntityRequestExtManageAddress;
class AddHrmLegalEntityRequestExtRegistrationAddress extends $tea.Model {
    static names() {
        return {
            areaCode: 'areaCode',
            areaName: 'areaName',
            cityCode: 'cityCode',
            cityName: 'cityName',
            countryCode: 'countryCode',
            countryName: 'countryName',
            detailAddress: 'detailAddress',
            globalAreaType: 'globalAreaType',
            provinceCode: 'provinceCode',
            provinceName: 'provinceName',
        };
    }
    static types() {
        return {
            areaCode: 'string',
            areaName: 'string',
            cityCode: 'string',
            cityName: 'string',
            countryCode: 'string',
            countryName: 'string',
            detailAddress: 'string',
            globalAreaType: 'string',
            provinceCode: 'string',
            provinceName: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.AddHrmLegalEntityRequestExtRegistrationAddress = AddHrmLegalEntityRequestExtRegistrationAddress;
class AddHrmLegalEntityRequestExt extends $tea.Model {
    static names() {
        return {
            legalEntityEnName: 'legalEntityEnName',
            legalEntityEnShortName: 'legalEntityEnShortName',
            legalEntityType: 'legalEntityType',
            manageAddress: 'manageAddress',
            registrationAddress: 'registrationAddress',
            registrationDate: 'registrationDate',
            unifiedSocialCreditCode: 'unifiedSocialCreditCode',
            zipCode: 'zipCode',
        };
    }
    static types() {
        return {
            legalEntityEnName: 'string',
            legalEntityEnShortName: 'string',
            legalEntityType: 'string',
            manageAddress: AddHrmLegalEntityRequestExtManageAddress,
            registrationAddress: AddHrmLegalEntityRequestExtRegistrationAddress,
            registrationDate: 'number',
            unifiedSocialCreditCode: 'string',
            zipCode: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.AddHrmLegalEntityRequestExt = AddHrmLegalEntityRequestExt;
class AddHrmLegalEntityResponseBodyResult extends $tea.Model {
    static names() {
        return {
            corpId: 'corpId',
            gmtCreate: 'gmtCreate',
            gmtModified: 'gmtModified',
            legalEntityId: 'legalEntityId',
            legalEntityName: 'legalEntityName',
            legalEntityShortName: 'legalEntityShortName',
            legalEntityStatus: 'legalEntityStatus',
            legalPersonName: 'legalPersonName',
        };
    }
    static types() {
        return {
            corpId: 'string',
            gmtCreate: 'number',
            gmtModified: 'number',
            legalEntityId: 'string',
            legalEntityName: 'string',
            legalEntityShortName: 'string',
            legalEntityStatus: 'number',
            legalPersonName: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.AddHrmLegalEntityResponseBodyResult = AddHrmLegalEntityResponseBodyResult;
class AddHrmPreentryRequestGroupsSectionsEmpFieldVOList extends $tea.Model {
    static names() {
        return {
            fieldCode: 'fieldCode',
            value: 'value',
        };
    }
    static types() {
        return {
            fieldCode: 'string',
            value: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.AddHrmPreentryRequestGroupsSectionsEmpFieldVOList = AddHrmPreentryRequestGroupsSectionsEmpFieldVOList;
class AddHrmPreentryRequestGroupsSections extends $tea.Model {
    static names() {
        return {
            empFieldVOList: 'empFieldVOList',
            oldIndex: 'oldIndex',
        };
    }
    static types() {
        return {
            empFieldVOList: { 'type': 'array', 'itemType': AddHrmPreentryRequestGroupsSectionsEmpFieldVOList },
            oldIndex: 'number',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.AddHrmPreentryRequestGroupsSections = AddHrmPreentryRequestGroupsSections;
class AddHrmPreentryRequestGroups extends $tea.Model {
    static names() {
        return {
            groupId: 'groupId',
            sections: 'sections',
        };
    }
    static types() {
        return {
            groupId: 'string',
            sections: { 'type': 'array', 'itemType': AddHrmPreentryRequestGroupsSections },
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.AddHrmPreentryRequestGroups = AddHrmPreentryRequestGroups;
class AddRosterFieldFormResponseBodyResult extends $tea.Model {
    static names() {
        return {
            bizGroupId: 'bizGroupId',
            content: 'content',
            corpId: 'corpId',
            deleteFlag: 'deleteFlag',
            detail: 'detail',
            formId: 'formId',
            gmtCreate: 'gmtCreate',
            gmtModified: 'gmtModified',
            icon: 'icon',
            id: 'id',
            memo: 'memo',
            name: 'name',
            sortOrder: 'sortOrder',
            versionId: 'versionId',
        };
    }
    static types() {
        return {
            bizGroupId: 'number',
            content: 'string',
            corpId: 'string',
            deleteFlag: 'string',
            detail: 'boolean',
            formId: 'string',
            gmtCreate: 'any',
            gmtModified: 'any',
            icon: 'string',
            id: 'number',
            memo: 'string',
            name: 'string',
            sortOrder: 'number',
            versionId: 'number',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.AddRosterFieldFormResponseBodyResult = AddRosterFieldFormResponseBodyResult;
class CreateRecordRequestAttachmentList extends $tea.Model {
    static names() {
        return {
            fieldCode: 'fieldCode',
            fieldName: 'fieldName',
            fieldType: 'fieldType',
            fieldValue: 'fieldValue',
            groupId: 'groupId',
        };
    }
    static types() {
        return {
            fieldCode: 'string',
            fieldName: 'string',
            fieldType: 'string',
            fieldValue: 'string',
            groupId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.CreateRecordRequestAttachmentList = CreateRecordRequestAttachmentList;
class CreateRecordRequestFieldList extends $tea.Model {
    static names() {
        return {
            fieldCode: 'fieldCode',
            fieldName: 'fieldName',
            fieldType: 'fieldType',
            fieldValue: 'fieldValue',
            groupId: 'groupId',
            optionId: 'optionId',
            options: 'options',
            signRequired: 'signRequired',
            userCustomField: 'userCustomField',
        };
    }
    static types() {
        return {
            fieldCode: 'string',
            fieldName: 'string',
            fieldType: 'string',
            fieldValue: 'string',
            groupId: 'string',
            optionId: 'string',
            options: 'string',
            signRequired: 'boolean',
            userCustomField: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.CreateRecordRequestFieldList = CreateRecordRequestFieldList;
class CreateRecordRequestGroupListFieldList extends $tea.Model {
    static names() {
        return {
            fieldCode: 'fieldCode',
            fieldName: 'fieldName',
            fieldType: 'fieldType',
            fieldValue: 'fieldValue',
            options: 'options',
            optionId: 'optionId',
            groupId: 'groupId',
        };
    }
    static types() {
        return {
            fieldCode: 'string',
            fieldName: 'string',
            fieldType: 'string',
            fieldValue: 'string',
            options: 'string',
            optionId: 'string',
            groupId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.CreateRecordRequestGroupListFieldList = CreateRecordRequestGroupListFieldList;
class CreateRecordRequestGroupList extends $tea.Model {
    static names() {
        return {
            detailFlag: 'detailFlag',
            fieldList: 'fieldList',
            groupId: 'groupId',
            groupName: 'groupName',
        };
    }
    static types() {
        return {
            detailFlag: 'boolean',
            fieldList: { 'type': 'array', 'itemType': { 'type': 'array', 'itemType': CreateRecordRequestGroupListFieldList } },
            groupId: 'string',
            groupName: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.CreateRecordRequestGroupList = CreateRecordRequestGroupList;
class CreateRecordResponseBodyResult extends $tea.Model {
    static names() {
        return {
            details: 'details',
            itemId: 'itemId',
            type: 'type',
        };
    }
    static types() {
        return {
            details: 'string',
            itemId: 'string',
            type: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.CreateRecordResponseBodyResult = CreateRecordResponseBodyResult;
class GetAllDismissionReasonsResponseBodyResultPassiveList extends $tea.Model {
    static names() {
        return {
            id: 'id',
            name: 'name',
        };
    }
    static types() {
        return {
            id: 'string',
            name: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetAllDismissionReasonsResponseBodyResultPassiveList = GetAllDismissionReasonsResponseBodyResultPassiveList;
class GetAllDismissionReasonsResponseBodyResultVoluntaryList extends $tea.Model {
    static names() {
        return {
            id: 'id',
            name: 'name',
        };
    }
    static types() {
        return {
            id: 'string',
            name: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetAllDismissionReasonsResponseBodyResultVoluntaryList = GetAllDismissionReasonsResponseBodyResultVoluntaryList;
class GetAllDismissionReasonsResponseBodyResult extends $tea.Model {
    static names() {
        return {
            passiveList: 'passiveList',
            voluntaryList: 'voluntaryList',
        };
    }
    static types() {
        return {
            passiveList: { 'type': 'array', 'itemType': GetAllDismissionReasonsResponseBodyResultPassiveList },
            voluntaryList: { 'type': 'array', 'itemType': GetAllDismissionReasonsResponseBodyResultVoluntaryList },
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetAllDismissionReasonsResponseBodyResult = GetAllDismissionReasonsResponseBodyResult;
class GetEmployeeRosterByFieldResponseBodyResultFieldDataListFieldValueList extends $tea.Model {
    static names() {
        return {
            itemIndex: 'itemIndex',
            label: 'label',
            value: 'value',
        };
    }
    static types() {
        return {
            itemIndex: 'number',
            label: 'string',
            value: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetEmployeeRosterByFieldResponseBodyResultFieldDataListFieldValueList = GetEmployeeRosterByFieldResponseBodyResultFieldDataListFieldValueList;
class GetEmployeeRosterByFieldResponseBodyResultFieldDataList extends $tea.Model {
    static names() {
        return {
            fieldCode: 'fieldCode',
            fieldName: 'fieldName',
            fieldValueList: 'fieldValueList',
            groupId: 'groupId',
        };
    }
    static types() {
        return {
            fieldCode: 'string',
            fieldName: 'string',
            fieldValueList: { 'type': 'array', 'itemType': GetEmployeeRosterByFieldResponseBodyResultFieldDataListFieldValueList },
            groupId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetEmployeeRosterByFieldResponseBodyResultFieldDataList = GetEmployeeRosterByFieldResponseBodyResultFieldDataList;
class GetEmployeeRosterByFieldResponseBodyResult extends $tea.Model {
    static names() {
        return {
            corpId: 'corpId',
            fieldDataList: 'fieldDataList',
            unionId: 'unionId',
            userId: 'userId',
        };
    }
    static types() {
        return {
            corpId: 'string',
            fieldDataList: { 'type': 'array', 'itemType': GetEmployeeRosterByFieldResponseBodyResultFieldDataList },
            unionId: 'string',
            userId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetEmployeeRosterByFieldResponseBodyResult = GetEmployeeRosterByFieldResponseBodyResult;
class GetFileTemplateListResponseBodyResultDataAttachmentList extends $tea.Model {
    static names() {
        return {
            desc: 'desc',
            fieldCode: 'fieldCode',
            fieldName: 'fieldName',
            fieldType: 'fieldType',
            groupId: 'groupId',
            signRequired: 'signRequired',
            userCustomField: 'userCustomField',
        };
    }
    static types() {
        return {
            desc: 'string',
            fieldCode: 'string',
            fieldName: 'string',
            fieldType: 'string',
            groupId: 'string',
            signRequired: 'boolean',
            userCustomField: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetFileTemplateListResponseBodyResultDataAttachmentList = GetFileTemplateListResponseBodyResultDataAttachmentList;
class GetFileTemplateListResponseBodyResultDataFieldList extends $tea.Model {
    static names() {
        return {
            desc: 'desc',
            fieldCode: 'fieldCode',
            fieldName: 'fieldName',
            fieldType: 'fieldType',
            groupId: 'groupId',
            signRequired: 'signRequired',
            userCustomField: 'userCustomField',
        };
    }
    static types() {
        return {
            desc: 'string',
            fieldCode: 'string',
            fieldName: 'string',
            fieldType: 'string',
            groupId: 'string',
            signRequired: 'boolean',
            userCustomField: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetFileTemplateListResponseBodyResultDataFieldList = GetFileTemplateListResponseBodyResultDataFieldList;
class GetFileTemplateListResponseBodyResultDataGroupListFieldList extends $tea.Model {
    static names() {
        return {
            desc: 'desc',
            fieldCode: 'fieldCode',
            fieldName: 'fieldName',
            fieldType: 'fieldType',
            groupId: 'groupId',
            signRequired: 'signRequired',
            userCustomField: 'userCustomField',
        };
    }
    static types() {
        return {
            desc: 'string',
            fieldCode: 'string',
            fieldName: 'string',
            fieldType: 'string',
            groupId: 'string',
            signRequired: 'boolean',
            userCustomField: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetFileTemplateListResponseBodyResultDataGroupListFieldList = GetFileTemplateListResponseBodyResultDataGroupListFieldList;
class GetFileTemplateListResponseBodyResultDataGroupList extends $tea.Model {
    static names() {
        return {
            detailFlag: 'detailFlag',
            fieldList: 'fieldList',
            groupId: 'groupId',
            groupName: 'groupName',
        };
    }
    static types() {
        return {
            detailFlag: 'boolean',
            fieldList: { 'type': 'array', 'itemType': GetFileTemplateListResponseBodyResultDataGroupListFieldList },
            groupId: 'string',
            groupName: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetFileTemplateListResponseBodyResultDataGroupList = GetFileTemplateListResponseBodyResultDataGroupList;
class GetFileTemplateListResponseBodyResultData extends $tea.Model {
    static names() {
        return {
            attachmentList: 'attachmentList',
            corpId: 'corpId',
            fieldList: 'fieldList',
            groupList: 'groupList',
            templateId: 'templateId',
            templateInstName: 'templateInstName',
            templateName: 'templateName',
            templateSignStatus: 'templateSignStatus',
            templateStatus: 'templateStatus',
            templateType: 'templateType',
            templateTypeName: 'templateTypeName',
            tenantId: 'tenantId',
        };
    }
    static types() {
        return {
            attachmentList: { 'type': 'array', 'itemType': GetFileTemplateListResponseBodyResultDataAttachmentList },
            corpId: 'string',
            fieldList: { 'type': 'array', 'itemType': GetFileTemplateListResponseBodyResultDataFieldList },
            groupList: { 'type': 'array', 'itemType': GetFileTemplateListResponseBodyResultDataGroupList },
            templateId: 'string',
            templateInstName: 'string',
            templateName: 'string',
            templateSignStatus: 'number',
            templateStatus: 'number',
            templateType: 'string',
            templateTypeName: 'string',
            tenantId: 'number',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetFileTemplateListResponseBodyResultData = GetFileTemplateListResponseBodyResultData;
class GetFileTemplateListResponseBodyResult extends $tea.Model {
    static names() {
        return {
            data: 'data',
            hasMore: 'hasMore',
            nextToken: 'nextToken',
        };
    }
    static types() {
        return {
            data: { 'type': 'array', 'itemType': GetFileTemplateListResponseBodyResultData },
            hasMore: 'boolean',
            nextToken: 'number',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetFileTemplateListResponseBodyResult = GetFileTemplateListResponseBodyResult;
class GetSignRecordByIdResponseBodyResult extends $tea.Model {
    static names() {
        return {
            corpId: 'corpId',
            remark: 'remark',
            signExpireTime: 'signExpireTime',
            signFileName: 'signFileName',
            signFinishTime: 'signFinishTime',
            signLegalEntityName: 'signLegalEntityName',
            signRecordId: 'signRecordId',
            signStartTime: 'signStartTime',
            signStatus: 'signStatus',
            signStatusRemarks: 'signStatusRemarks',
            signTemplateType: 'signTemplateType',
            signUserId: 'signUserId',
            signUserName: 'signUserName',
            signWay: 'signWay',
        };
    }
    static types() {
        return {
            corpId: 'string',
            remark: 'string',
            signExpireTime: 'number',
            signFileName: 'string',
            signFinishTime: 'number',
            signLegalEntityName: 'string',
            signRecordId: 'string',
            signStartTime: 'number',
            signStatus: 'string',
            signStatusRemarks: 'string',
            signTemplateType: 'string',
            signUserId: 'string',
            signUserName: 'string',
            signWay: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetSignRecordByIdResponseBodyResult = GetSignRecordByIdResponseBodyResult;
class GetSignRecordByUserIdResponseBodyResultData extends $tea.Model {
    static names() {
        return {
            corpId: 'corpId',
            outerId: 'outerId',
            remark: 'remark',
            signExpireTime: 'signExpireTime',
            signFileName: 'signFileName',
            signFileUrl: 'signFileUrl',
            signFinishTime: 'signFinishTime',
            signLegalEntityName: 'signLegalEntityName',
            signRecordId: 'signRecordId',
            signStartTime: 'signStartTime',
            signStatus: 'signStatus',
            signStatusRemarks: 'signStatusRemarks',
            signTemplateType: 'signTemplateType',
            signUserId: 'signUserId',
            signUserName: 'signUserName',
            signWay: 'signWay',
        };
    }
    static types() {
        return {
            corpId: 'string',
            outerId: 'string',
            remark: 'string',
            signExpireTime: 'number',
            signFileName: 'string',
            signFileUrl: 'string',
            signFinishTime: 'number',
            signLegalEntityName: 'string',
            signRecordId: 'string',
            signStartTime: 'number',
            signStatus: 'string',
            signStatusRemarks: 'string',
            signTemplateType: 'string',
            signUserId: 'string',
            signUserName: 'string',
            signWay: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetSignRecordByUserIdResponseBodyResultData = GetSignRecordByUserIdResponseBodyResultData;
class GetSignRecordByUserIdResponseBodyResult extends $tea.Model {
    static names() {
        return {
            data: 'data',
            hasMore: 'hasMore',
            nextToken: 'nextToken',
        };
    }
    static types() {
        return {
            data: { 'type': 'array', 'itemType': GetSignRecordByUserIdResponseBodyResultData },
            hasMore: 'boolean',
            nextToken: 'number',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetSignRecordByUserIdResponseBodyResult = GetSignRecordByUserIdResponseBodyResult;
class GetUserSignedRecordsByOuterIdResponseBodyResult extends $tea.Model {
    static names() {
        return {
            corpId: 'corpId',
            outerId: 'outerId',
            remark: 'remark',
            signExpireTime: 'signExpireTime',
            signFileName: 'signFileName',
            signFileUrl: 'signFileUrl',
            signFinishTime: 'signFinishTime',
            signLegalEntityName: 'signLegalEntityName',
            signRecordId: 'signRecordId',
            signStartTime: 'signStartTime',
            signStatus: 'signStatus',
            signStatusRemarks: 'signStatusRemarks',
            signTemplateType: 'signTemplateType',
            signUserId: 'signUserId',
            signUserName: 'signUserName',
            signWay: 'signWay',
        };
    }
    static types() {
        return {
            corpId: 'string',
            outerId: 'string',
            remark: 'string',
            signExpireTime: 'string',
            signFileName: 'string',
            signFileUrl: 'string',
            signFinishTime: 'string',
            signLegalEntityName: 'string',
            signRecordId: 'string',
            signStartTime: 'string',
            signStatus: 'string',
            signStatusRemarks: 'string',
            signTemplateType: 'string',
            signUserId: 'string',
            signUserName: 'string',
            signWay: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetUserSignedRecordsByOuterIdResponseBodyResult = GetUserSignedRecordsByOuterIdResponseBodyResult;
class HrmAuthResourcesQueryResponseBodyResult extends $tea.Model {
    static names() {
        return {
            authorized: 'authorized',
            resourceId: 'resourceId',
        };
    }
    static types() {
        return {
            authorized: 'boolean',
            resourceId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.HrmAuthResourcesQueryResponseBodyResult = HrmAuthResourcesQueryResponseBodyResult;
class HrmMailSendRequestMailAttachments extends $tea.Model {
    static names() {
        return {
            name: 'name',
            path: 'path',
            type: 'type',
        };
    }
    static types() {
        return {
            name: 'string',
            path: 'string',
            type: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.HrmMailSendRequestMailAttachments = HrmMailSendRequestMailAttachments;
class HrmMailSendRequestMailMeetingAlarm extends $tea.Model {
    static names() {
        return {
            alarmDesc: 'alarmDesc',
            alarmMinutes: 'alarmMinutes',
            alarmSummary: 'alarmSummary',
        };
    }
    static types() {
        return {
            alarmDesc: 'string',
            alarmMinutes: 'number',
            alarmSummary: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.HrmMailSendRequestMailMeetingAlarm = HrmMailSendRequestMailMeetingAlarm;
class HrmMailSendRequestMailMeetingAttendees extends $tea.Model {
    static names() {
        return {
            address: 'address',
            name: 'name',
        };
    }
    static types() {
        return {
            address: 'string',
            name: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.HrmMailSendRequestMailMeetingAttendees = HrmMailSendRequestMailMeetingAttendees;
class HrmMailSendRequestMailMeetingOrganizer extends $tea.Model {
    static names() {
        return {
            address: 'address',
            name: 'name',
        };
    }
    static types() {
        return {
            address: 'string',
            name: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.HrmMailSendRequestMailMeetingOrganizer = HrmMailSendRequestMailMeetingOrganizer;
class HrmMailSendRequestMailMeeting extends $tea.Model {
    static names() {
        return {
            alarm: 'alarm',
            attendees: 'attendees',
            description: 'description',
            endTime: 'endTime',
            location: 'location',
            method: 'method',
            organizer: 'organizer',
            sequence: 'sequence',
            startTime: 'startTime',
            summary: 'summary',
            uuid: 'uuid',
        };
    }
    static types() {
        return {
            alarm: HrmMailSendRequestMailMeetingAlarm,
            attendees: { 'type': 'array', 'itemType': HrmMailSendRequestMailMeetingAttendees },
            description: 'string',
            endTime: 'number',
            location: 'string',
            method: 'string',
            organizer: HrmMailSendRequestMailMeetingOrganizer,
            sequence: 'number',
            startTime: 'number',
            summary: 'string',
            uuid: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.HrmMailSendRequestMailMeeting = HrmMailSendRequestMailMeeting;
class HrmMailSendRequestMail extends $tea.Model {
    static names() {
        return {
            attachments: 'attachments',
            bccAddress: 'bccAddress',
            ccAddress: 'ccAddress',
            content: 'content',
            meeting: 'meeting',
            receiverAddress: 'receiverAddress',
            senderAlias: 'senderAlias',
            subject: 'subject',
        };
    }
    static types() {
        return {
            attachments: { 'type': 'array', 'itemType': HrmMailSendRequestMailAttachments },
            bccAddress: 'string',
            ccAddress: 'string',
            content: 'string',
            meeting: HrmMailSendRequestMailMeeting,
            receiverAddress: 'string',
            senderAlias: 'string',
            subject: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.HrmMailSendRequestMail = HrmMailSendRequestMail;
class HrmMailSendRequestOperator extends $tea.Model {
    static names() {
        return {
            bizId: 'bizId',
            mailAccountType: 'mailAccountType',
            token: 'token',
        };
    }
    static types() {
        return {
            bizId: 'string',
            mailAccountType: 'string',
            token: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.HrmMailSendRequestOperator = HrmMailSendRequestOperator;
class InvalidSignRecordsResponseBodyResultFailItems extends $tea.Model {
    static names() {
        return {
            itemId: 'itemId',
            type: 'type',
        };
    }
    static types() {
        return {
            itemId: 'string',
            type: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.InvalidSignRecordsResponseBodyResultFailItems = InvalidSignRecordsResponseBodyResultFailItems;
class InvalidSignRecordsResponseBodyResultSuccessItems extends $tea.Model {
    static names() {
        return {
            itemId: 'itemId',
        };
    }
    static types() {
        return {
            itemId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.InvalidSignRecordsResponseBodyResultSuccessItems = InvalidSignRecordsResponseBodyResultSuccessItems;
class InvalidSignRecordsResponseBodyResult extends $tea.Model {
    static names() {
        return {
            failItems: 'failItems',
            successItems: 'successItems',
        };
    }
    static types() {
        return {
            failItems: { 'type': 'array', 'itemType': InvalidSignRecordsResponseBodyResultFailItems },
            successItems: { 'type': 'array', 'itemType': InvalidSignRecordsResponseBodyResultSuccessItems },
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.InvalidSignRecordsResponseBodyResult = InvalidSignRecordsResponseBodyResult;
class MasterDataDeleteRequestBodyFieldList extends $tea.Model {
    static names() {
        return {
            name: 'name',
            valueStr: 'valueStr',
        };
    }
    static types() {
        return {
            name: 'string',
            valueStr: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.MasterDataDeleteRequestBodyFieldList = MasterDataDeleteRequestBodyFieldList;
class MasterDataDeleteRequestBodyScope extends $tea.Model {
    static names() {
        return {
            scopeCode: 'scopeCode',
            version: 'version',
        };
    }
    static types() {
        return {
            scopeCode: 'string',
            version: 'number',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.MasterDataDeleteRequestBodyScope = MasterDataDeleteRequestBodyScope;
class MasterDataDeleteRequestBody extends $tea.Model {
    static names() {
        return {
            bizTime: 'bizTime',
            bizUk: 'bizUk',
            entityCode: 'entityCode',
            fieldList: 'fieldList',
            scope: 'scope',
        };
    }
    static types() {
        return {
            bizTime: 'number',
            bizUk: 'string',
            entityCode: 'string',
            fieldList: { 'type': 'array', 'itemType': MasterDataDeleteRequestBodyFieldList },
            scope: MasterDataDeleteRequestBodyScope,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.MasterDataDeleteRequestBody = MasterDataDeleteRequestBody;
class MasterDataDeleteResponseBodyFailResult extends $tea.Model {
    static names() {
        return {
            bizUK: 'bizUK',
            errorCode: 'errorCode',
            errorMsg: 'errorMsg',
            success: 'success',
        };
    }
    static types() {
        return {
            bizUK: 'string',
            errorCode: 'string',
            errorMsg: 'string',
            success: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.MasterDataDeleteResponseBodyFailResult = MasterDataDeleteResponseBodyFailResult;
class MasterDataQueryRequestQueryParamsConditionList extends $tea.Model {
    static names() {
        return {
            operate: 'operate',
            value: 'value',
        };
    }
    static types() {
        return {
            operate: 'string',
            value: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.MasterDataQueryRequestQueryParamsConditionList = MasterDataQueryRequestQueryParamsConditionList;
class MasterDataQueryRequestQueryParams extends $tea.Model {
    static names() {
        return {
            conditionList: 'conditionList',
            fieldCode: 'fieldCode',
            joinType: 'joinType',
        };
    }
    static types() {
        return {
            conditionList: { 'type': 'array', 'itemType': MasterDataQueryRequestQueryParamsConditionList },
            fieldCode: 'string',
            joinType: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.MasterDataQueryRequestQueryParams = MasterDataQueryRequestQueryParams;
class MasterDataQueryResponseBodyResultViewEntityFieldVOListFieldDataVO extends $tea.Model {
    static names() {
        return {
            key: 'key',
            value: 'value',
        };
    }
    static types() {
        return {
            key: 'string',
            value: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.MasterDataQueryResponseBodyResultViewEntityFieldVOListFieldDataVO = MasterDataQueryResponseBodyResultViewEntityFieldVOListFieldDataVO;
class MasterDataQueryResponseBodyResultViewEntityFieldVOList extends $tea.Model {
    static names() {
        return {
            fieldCode: 'fieldCode',
            fieldDataVO: 'fieldDataVO',
            fieldName: 'fieldName',
            fieldType: 'fieldType',
        };
    }
    static types() {
        return {
            fieldCode: 'string',
            fieldDataVO: MasterDataQueryResponseBodyResultViewEntityFieldVOListFieldDataVO,
            fieldName: 'string',
            fieldType: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.MasterDataQueryResponseBodyResultViewEntityFieldVOList = MasterDataQueryResponseBodyResultViewEntityFieldVOList;
class MasterDataQueryResponseBodyResult extends $tea.Model {
    static names() {
        return {
            outerId: 'outerId',
            relationId: 'relationId',
            scopeCode: 'scopeCode',
            viewEntityCode: 'viewEntityCode',
            viewEntityFieldVOList: 'viewEntityFieldVOList',
        };
    }
    static types() {
        return {
            outerId: 'string',
            relationId: 'string',
            scopeCode: 'string',
            viewEntityCode: 'string',
            viewEntityFieldVOList: { 'type': 'array', 'itemType': MasterDataQueryResponseBodyResultViewEntityFieldVOList },
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.MasterDataQueryResponseBodyResult = MasterDataQueryResponseBodyResult;
class MasterDataSaveRequestBodyFieldList extends $tea.Model {
    static names() {
        return {
            name: 'name',
            valueStr: 'valueStr',
        };
    }
    static types() {
        return {
            name: 'string',
            valueStr: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.MasterDataSaveRequestBodyFieldList = MasterDataSaveRequestBodyFieldList;
class MasterDataSaveRequestBodyScope extends $tea.Model {
    static names() {
        return {
            scopeCode: 'scopeCode',
            version: 'version',
        };
    }
    static types() {
        return {
            scopeCode: 'string',
            version: 'number',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.MasterDataSaveRequestBodyScope = MasterDataSaveRequestBodyScope;
class MasterDataSaveRequestBody extends $tea.Model {
    static names() {
        return {
            bizTime: 'bizTime',
            bizUk: 'bizUk',
            entityCode: 'entityCode',
            fieldList: 'fieldList',
            scope: 'scope',
            userId: 'userId',
        };
    }
    static types() {
        return {
            bizTime: 'number',
            bizUk: 'string',
            entityCode: 'string',
            fieldList: { 'type': 'array', 'itemType': MasterDataSaveRequestBodyFieldList },
            scope: MasterDataSaveRequestBodyScope,
            userId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.MasterDataSaveRequestBody = MasterDataSaveRequestBody;
class MasterDataSaveResponseBodyFailResult extends $tea.Model {
    static names() {
        return {
            bizUk: 'bizUk',
            errorCode: 'errorCode',
            errorMsg: 'errorMsg',
            success: 'success',
        };
    }
    static types() {
        return {
            bizUk: 'string',
            errorCode: 'string',
            errorMsg: 'string',
            success: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.MasterDataSaveResponseBodyFailResult = MasterDataSaveResponseBodyFailResult;
class MasterDataTenantQueyResponseBodyResult extends $tea.Model {
    static names() {
        return {
            hasData: 'hasData',
            integrateDataAuth: 'integrateDataAuth',
            name: 'name',
            readAuth: 'readAuth',
            tenantId: 'tenantId',
            type: 'type',
        };
    }
    static types() {
        return {
            hasData: 'boolean',
            integrateDataAuth: 'boolean',
            name: 'string',
            readAuth: 'boolean',
            tenantId: 'number',
            type: 'number',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.MasterDataTenantQueyResponseBodyResult = MasterDataTenantQueyResponseBodyResult;
class MasterDatasGetResponseBodyResultViewEntityFieldVOListFieldDataVO extends $tea.Model {
    static names() {
        return {
            key: 'key',
            value: 'value',
        };
    }
    static types() {
        return {
            key: 'string',
            value: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.MasterDatasGetResponseBodyResultViewEntityFieldVOListFieldDataVO = MasterDatasGetResponseBodyResultViewEntityFieldVOListFieldDataVO;
class MasterDatasGetResponseBodyResultViewEntityFieldVOList extends $tea.Model {
    static names() {
        return {
            fieldCode: 'fieldCode',
            fieldDataVO: 'fieldDataVO',
            fieldName: 'fieldName',
            fieldType: 'fieldType',
        };
    }
    static types() {
        return {
            fieldCode: 'string',
            fieldDataVO: MasterDatasGetResponseBodyResultViewEntityFieldVOListFieldDataVO,
            fieldName: 'string',
            fieldType: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.MasterDatasGetResponseBodyResultViewEntityFieldVOList = MasterDatasGetResponseBodyResultViewEntityFieldVOList;
class MasterDatasGetResponseBodyResult extends $tea.Model {
    static names() {
        return {
            objId: 'objId',
            relationId: 'relationId',
            scopeCode: 'scopeCode',
            viewEntityCode: 'viewEntityCode',
            viewEntityFieldVOList: 'viewEntityFieldVOList',
        };
    }
    static types() {
        return {
            objId: 'string',
            relationId: 'string',
            scopeCode: 'string',
            viewEntityCode: 'string',
            viewEntityFieldVOList: { 'type': 'array', 'itemType': MasterDatasGetResponseBodyResultViewEntityFieldVOList },
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.MasterDatasGetResponseBodyResult = MasterDatasGetResponseBodyResult;
class MasterDatasQueryRequestQueryParamsConditionList extends $tea.Model {
    static names() {
        return {
            operate: 'operate',
            value: 'value',
        };
    }
    static types() {
        return {
            operate: 'string',
            value: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.MasterDatasQueryRequestQueryParamsConditionList = MasterDatasQueryRequestQueryParamsConditionList;
class MasterDatasQueryRequestQueryParams extends $tea.Model {
    static names() {
        return {
            conditionList: 'conditionList',
            fieldCode: 'fieldCode',
            joinType: 'joinType',
        };
    }
    static types() {
        return {
            conditionList: { 'type': 'array', 'itemType': MasterDatasQueryRequestQueryParamsConditionList },
            fieldCode: 'string',
            joinType: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.MasterDatasQueryRequestQueryParams = MasterDatasQueryRequestQueryParams;
class MasterDatasQueryResponseBodyResultViewEntityFieldVOListFieldDataVO extends $tea.Model {
    static names() {
        return {
            key: 'key',
            value: 'value',
        };
    }
    static types() {
        return {
            key: 'string',
            value: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.MasterDatasQueryResponseBodyResultViewEntityFieldVOListFieldDataVO = MasterDatasQueryResponseBodyResultViewEntityFieldVOListFieldDataVO;
class MasterDatasQueryResponseBodyResultViewEntityFieldVOList extends $tea.Model {
    static names() {
        return {
            fieldCode: 'fieldCode',
            fieldDataVO: 'fieldDataVO',
            fieldName: 'fieldName',
            fieldType: 'fieldType',
        };
    }
    static types() {
        return {
            fieldCode: 'string',
            fieldDataVO: MasterDatasQueryResponseBodyResultViewEntityFieldVOListFieldDataVO,
            fieldName: 'string',
            fieldType: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.MasterDatasQueryResponseBodyResultViewEntityFieldVOList = MasterDatasQueryResponseBodyResultViewEntityFieldVOList;
class MasterDatasQueryResponseBodyResult extends $tea.Model {
    static names() {
        return {
            objId: 'objId',
            relationId: 'relationId',
            scopeCode: 'scopeCode',
            viewEntityCode: 'viewEntityCode',
            viewEntityFieldVOList: 'viewEntityFieldVOList',
        };
    }
    static types() {
        return {
            objId: 'string',
            relationId: 'string',
            scopeCode: 'string',
            viewEntityCode: 'string',
            viewEntityFieldVOList: { 'type': 'array', 'itemType': MasterDatasQueryResponseBodyResultViewEntityFieldVOList },
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.MasterDatasQueryResponseBodyResult = MasterDatasQueryResponseBodyResult;
class QueryCustomEntryProcessesResponseBodyList extends $tea.Model {
    static names() {
        return {
            formDesc: 'formDesc',
            formId: 'formId',
            formName: 'formName',
            shortUrl: 'shortUrl',
        };
    }
    static types() {
        return {
            formDesc: 'string',
            formId: 'string',
            formName: 'string',
            shortUrl: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryCustomEntryProcessesResponseBodyList = QueryCustomEntryProcessesResponseBodyList;
class QueryHrmEmployeeDismissionInfoResponseBodyResultDeptList extends $tea.Model {
    static names() {
        return {
            deptId: 'dept_id',
            deptPath: 'dept_path',
        };
    }
    static types() {
        return {
            deptId: 'number',
            deptPath: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryHrmEmployeeDismissionInfoResponseBodyResultDeptList = QueryHrmEmployeeDismissionInfoResponseBodyResultDeptList;
class QueryHrmEmployeeDismissionInfoResponseBodyResult extends $tea.Model {
    static names() {
        return {
            deptList: 'deptList',
            handoverUserId: 'handoverUserId',
            lastWorkDay: 'lastWorkDay',
            mainDeptId: 'mainDeptId',
            mainDeptName: 'mainDeptName',
            name: 'name',
            passiveReason: 'passiveReason',
            preStatus: 'preStatus',
            reasonMemo: 'reasonMemo',
            status: 'status',
            userId: 'userId',
            voluntaryReason: 'voluntaryReason',
        };
    }
    static types() {
        return {
            deptList: { 'type': 'array', 'itemType': QueryHrmEmployeeDismissionInfoResponseBodyResultDeptList },
            handoverUserId: 'string',
            lastWorkDay: 'number',
            mainDeptId: 'number',
            mainDeptName: 'string',
            name: 'string',
            passiveReason: { 'type': 'array', 'itemType': 'string' },
            preStatus: 'number',
            reasonMemo: 'string',
            status: 'number',
            userId: 'string',
            voluntaryReason: { 'type': 'array', 'itemType': 'string' },
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryHrmEmployeeDismissionInfoResponseBodyResult = QueryHrmEmployeeDismissionInfoResponseBodyResult;
class QueryJobRanksResponseBodyList extends $tea.Model {
    static names() {
        return {
            maxJobGrade: 'maxJobGrade',
            minJobGrade: 'minJobGrade',
            rankCategoryId: 'rankCategoryId',
            rankCode: 'rankCode',
            rankDescription: 'rankDescription',
            rankId: 'rankId',
            rankName: 'rankName',
        };
    }
    static types() {
        return {
            maxJobGrade: 'number',
            minJobGrade: 'number',
            rankCategoryId: 'string',
            rankCode: 'string',
            rankDescription: 'string',
            rankId: 'string',
            rankName: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryJobRanksResponseBodyList = QueryJobRanksResponseBodyList;
class QueryJobsResponseBodyList extends $tea.Model {
    static names() {
        return {
            jobDescription: 'jobDescription',
            jobId: 'jobId',
            jobName: 'jobName',
        };
    }
    static types() {
        return {
            jobDescription: 'string',
            jobId: 'string',
            jobName: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryJobsResponseBodyList = QueryJobsResponseBodyList;
class QueryPositionsResponseBodyList extends $tea.Model {
    static names() {
        return {
            jobId: 'jobId',
            positionCategoryId: 'positionCategoryId',
            positionDes: 'positionDes',
            positionId: 'positionId',
            positionName: 'positionName',
            rankIdList: 'rankIdList',
            status: 'status',
        };
    }
    static types() {
        return {
            jobId: 'string',
            positionCategoryId: 'string',
            positionDes: 'string',
            positionId: 'string',
            positionName: 'string',
            rankIdList: { 'type': 'array', 'itemType': 'string' },
            status: 'number',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryPositionsResponseBodyList = QueryPositionsResponseBodyList;
class RevokeSignRecordsResponseBodyResultFailItems extends $tea.Model {
    static names() {
        return {
            itemId: 'itemId',
            type: 'type',
        };
    }
    static types() {
        return {
            itemId: 'string',
            type: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.RevokeSignRecordsResponseBodyResultFailItems = RevokeSignRecordsResponseBodyResultFailItems;
class RevokeSignRecordsResponseBodyResultSuccessItems extends $tea.Model {
    static names() {
        return {
            itemId: 'itemId',
        };
    }
    static types() {
        return {
            itemId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.RevokeSignRecordsResponseBodyResultSuccessItems = RevokeSignRecordsResponseBodyResultSuccessItems;
class RevokeSignRecordsResponseBodyResult extends $tea.Model {
    static names() {
        return {
            failItems: 'failItems',
            successItems: 'successItems',
        };
    }
    static types() {
        return {
            failItems: { 'type': 'array', 'itemType': RevokeSignRecordsResponseBodyResultFailItems },
            successItems: { 'type': 'array', 'itemType': RevokeSignRecordsResponseBodyResultSuccessItems },
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.RevokeSignRecordsResponseBodyResult = RevokeSignRecordsResponseBodyResult;
class RosterMetaAvailableFieldListResponseBodyResult extends $tea.Model {
    static names() {
        return {
            fieldCode: 'fieldCode',
            fieldName: 'fieldName',
            fieldType: 'fieldType',
            optionText: 'optionText',
        };
    }
    static types() {
        return {
            fieldCode: 'string',
            fieldName: 'string',
            fieldType: 'string',
            optionText: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.RosterMetaAvailableFieldListResponseBodyResult = RosterMetaAvailableFieldListResponseBodyResult;
class SendIsvCardMessageResponseBodyHrmInteractiveCardSendResult extends $tea.Model {
    static names() {
        return {
            bizId: 'bizId',
            errorCode: 'errorCode',
            errorMsg: 'errorMsg',
        };
    }
    static types() {
        return {
            bizId: 'string',
            errorCode: 'string',
            errorMsg: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.SendIsvCardMessageResponseBodyHrmInteractiveCardSendResult = SendIsvCardMessageResponseBodyHrmInteractiveCardSendResult;
class SendRealAuthInviteMessageRequestOnWorkingEmpSearchVO extends $tea.Model {
    static names() {
        return {
            userIds: 'userIds',
        };
    }
    static types() {
        return {
            userIds: { 'type': 'array', 'itemType': 'string' },
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.SendRealAuthInviteMessageRequestOnWorkingEmpSearchVO = SendRealAuthInviteMessageRequestOnWorkingEmpSearchVO;
class SendRealAuthInviteMessageResponseBodyResult extends $tea.Model {
    static names() {
        return {
            hadInvitedNum: 'hadInvitedNum',
            hadRealAuthNum: 'hadRealAuthNum',
            successNum: 'successNum',
        };
    }
    static types() {
        return {
            hadInvitedNum: 'number',
            hadRealAuthNum: 'number',
            successNum: 'number',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.SendRealAuthInviteMessageResponseBodyResult = SendRealAuthInviteMessageResponseBodyResult;
class SyncTaskTemplateRequestTaskScopeVO extends $tea.Model {
    static names() {
        return {
            deptIds: 'deptIds',
            positionIds: 'positionIds',
            roleIds: 'roleIds',
            userIds: 'userIds',
        };
    }
    static types() {
        return {
            deptIds: { 'type': 'array', 'itemType': 'number' },
            positionIds: { 'type': 'array', 'itemType': 'string' },
            roleIds: { 'type': 'array', 'itemType': 'string' },
            userIds: { 'type': 'array', 'itemType': 'string' },
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.SyncTaskTemplateRequestTaskScopeVO = SyncTaskTemplateRequestTaskScopeVO;
class UpdateCustomRosterFieldResponseBodyResult extends $tea.Model {
    static names() {
        return {
            contactClientFlag: 'contactClientFlag',
            contactFlag: 'contactFlag',
            contactSource: 'contactSource',
            contactSystemFlag: 'contactSystemFlag',
            deleted: 'deleted',
            derived: 'derived',
            disabled: 'disabled',
            editFromEmployeeFlag: 'editFromEmployeeFlag',
            editableByHr: 'editableByHr',
            fieldCode: 'fieldCode',
            fieldName: 'fieldName',
            fieldTip: 'fieldTip',
            fieldType: 'fieldType',
            groupId: 'groupId',
            hiddenFromEmployeeFlag: 'hiddenFromEmployeeFlag',
            hint: 'hint',
            historyField: 'historyField',
            index: 'index',
            modifyOptions: 'modifyOptions',
            noWatermark: 'noWatermark',
            numberDecimalPlace: 'numberDecimalPlace',
            numberFormatType: 'numberFormatType',
            numberValueType: 'numberValueType',
            optionText: 'optionText',
            required: 'required',
            sourceFieldCode: 'sourceFieldCode',
            systemFlag: 'systemFlag',
            textToSelectField: 'textToSelectField',
            value: 'value',
            visibleByEmp: 'visibleByEmp',
        };
    }
    static types() {
        return {
            contactClientFlag: 'boolean',
            contactFlag: 'boolean',
            contactSource: 'number',
            contactSystemFlag: 'boolean',
            deleted: 'boolean',
            derived: 'boolean',
            disabled: 'number',
            editFromEmployeeFlag: 'boolean',
            editableByHr: 'boolean',
            fieldCode: 'string',
            fieldName: 'string',
            fieldTip: 'string',
            fieldType: 'string',
            groupId: 'string',
            hiddenFromEmployeeFlag: 'boolean',
            hint: 'string',
            historyField: 'boolean',
            index: 'number',
            modifyOptions: 'boolean',
            noWatermark: 'boolean',
            numberDecimalPlace: 'string',
            numberFormatType: 'string',
            numberValueType: 'string',
            optionText: 'string',
            required: 'boolean',
            sourceFieldCode: 'string',
            systemFlag: 'boolean',
            textToSelectField: 'boolean',
            value: 'string',
            visibleByEmp: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UpdateCustomRosterFieldResponseBodyResult = UpdateCustomRosterFieldResponseBodyResult;
class UpdateHrmLegalEntityNameResponseBodyResult extends $tea.Model {
    static names() {
        return {
            corpId: 'corpId',
            gmtCreate: 'gmtCreate',
            gmtModified: 'gmtModified',
            legalEntityId: 'legalEntityId',
            legalEntityName: 'legalEntityName',
            legalEntityShortName: 'legalEntityShortName',
            legalEntityStatus: 'legalEntityStatus',
            legalPersonName: 'legalPersonName',
        };
    }
    static types() {
        return {
            corpId: 'string',
            gmtCreate: 'number',
            gmtModified: 'number',
            legalEntityId: 'string',
            legalEntityName: 'string',
            legalEntityShortName: 'string',
            legalEntityStatus: 'number',
            legalPersonName: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UpdateHrmLegalEntityNameResponseBodyResult = UpdateHrmLegalEntityNameResponseBodyResult;
class UpdateHrmLegalEntityWithoutNameRequestExtManageAddress extends $tea.Model {
    static names() {
        return {
            areaCode: 'areaCode',
            areaName: 'areaName',
            cityCode: 'cityCode',
            cityName: 'cityName',
            countryCode: 'countryCode',
            countryName: 'countryName',
            detailAddress: 'detailAddress',
            globalAreaType: 'globalAreaType',
            provinceCode: 'provinceCode',
            provinceName: 'provinceName',
        };
    }
    static types() {
        return {
            areaCode: 'string',
            areaName: 'string',
            cityCode: 'string',
            cityName: 'string',
            countryCode: 'string',
            countryName: 'string',
            detailAddress: 'string',
            globalAreaType: 'string',
            provinceCode: 'string',
            provinceName: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UpdateHrmLegalEntityWithoutNameRequestExtManageAddress = UpdateHrmLegalEntityWithoutNameRequestExtManageAddress;
class UpdateHrmLegalEntityWithoutNameRequestExtRegistrationAddress extends $tea.Model {
    static names() {
        return {
            areaCode: 'areaCode',
            areaName: 'areaName',
            cityCode: 'cityCode',
            cityName: 'cityName',
            countryCode: 'countryCode',
            countryName: 'countryName',
            detailAddress: 'detailAddress',
            globalAreaType: 'globalAreaType',
            provinceCode: 'provinceCode',
            provinceName: 'provinceName',
        };
    }
    static types() {
        return {
            areaCode: 'string',
            areaName: 'string',
            cityCode: 'string',
            cityName: 'string',
            countryCode: 'string',
            countryName: 'string',
            detailAddress: 'string',
            globalAreaType: 'string',
            provinceCode: 'string',
            provinceName: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UpdateHrmLegalEntityWithoutNameRequestExtRegistrationAddress = UpdateHrmLegalEntityWithoutNameRequestExtRegistrationAddress;
class UpdateHrmLegalEntityWithoutNameRequestExt extends $tea.Model {
    static names() {
        return {
            legalEntityEnName: 'legalEntityEnName',
            legalEntityEnShortName: 'legalEntityEnShortName',
            legalEntityType: 'legalEntityType',
            manageAddress: 'manageAddress',
            registrationAddress: 'registrationAddress',
            registrationDate: 'registrationDate',
            unifiedSocialCreditCode: 'unifiedSocialCreditCode',
            zipCode: 'zipCode',
        };
    }
    static types() {
        return {
            legalEntityEnName: 'string',
            legalEntityEnShortName: 'string',
            legalEntityType: 'string',
            manageAddress: UpdateHrmLegalEntityWithoutNameRequestExtManageAddress,
            registrationAddress: UpdateHrmLegalEntityWithoutNameRequestExtRegistrationAddress,
            registrationDate: 'number',
            unifiedSocialCreditCode: 'string',
            zipCode: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UpdateHrmLegalEntityWithoutNameRequestExt = UpdateHrmLegalEntityWithoutNameRequestExt;
class UpdateHrmLegalEntityWithoutNameResponseBodyResult extends $tea.Model {
    static names() {
        return {
            corpId: 'corpId',
            gmtCreate: 'gmtCreate',
            gmtModified: 'gmtModified',
            legalEntityId: 'legalEntityId',
            legalEntityName: 'legalEntityName',
            legalEntityShortName: 'legalEntityShortName',
            legalEntityStatus: 'legalEntityStatus',
            legalPersonName: 'legalPersonName',
        };
    }
    static types() {
        return {
            corpId: 'string',
            gmtCreate: 'number',
            gmtModified: 'number',
            legalEntityId: 'string',
            legalEntityName: 'string',
            legalEntityShortName: 'string',
            legalEntityStatus: 'number',
            legalPersonName: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UpdateHrmLegalEntityWithoutNameResponseBodyResult = UpdateHrmLegalEntityWithoutNameResponseBodyResult;
class Client extends openapi_client_1.default {
    constructor(config) {
        super(config);
        let gatewayClient = new gateway_dingtalk_1.default();
        this._spi = gatewayClient;
        this._endpointRule = "";
        if (tea_util_1.default.empty(this._endpoint)) {
            this._endpoint = "api.dingtalk.com";
        }
    }
    /**
     * 添加自定义花名册字段
     *
     * @param request - AddCustomRosterFieldRequest
     * @param headers - AddCustomRosterFieldHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns AddCustomRosterFieldResponse
     */
    async addCustomRosterFieldWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.editFromEmployeeFlag)) {
            body["editFromEmployeeFlag"] = request.editFromEmployeeFlag;
        }
        if (!tea_util_1.default.isUnset(request.fieldName)) {
            body["fieldName"] = request.fieldName;
        }
        if (!tea_util_1.default.isUnset(request.fieldType)) {
            body["fieldType"] = request.fieldType;
        }
        if (!tea_util_1.default.isUnset(request.groupId)) {
            body["groupId"] = request.groupId;
        }
        if (!tea_util_1.default.isUnset(request.hiddenFromEmployeeFlag)) {
            body["hiddenFromEmployeeFlag"] = request.hiddenFromEmployeeFlag;
        }
        if (!tea_util_1.default.isUnset(request.hint)) {
            body["hint"] = request.hint;
        }
        if (!tea_util_1.default.isUnset(request.noWatermark)) {
            body["noWatermark"] = request.noWatermark;
        }
        if (!tea_util_1.default.isUnset(request.numberDecimalPlace)) {
            body["numberDecimalPlace"] = request.numberDecimalPlace;
        }
        if (!tea_util_1.default.isUnset(request.numberFormatType)) {
            body["numberFormatType"] = request.numberFormatType;
        }
        if (!tea_util_1.default.isUnset(request.numberValueType)) {
            body["numberValueType"] = request.numberValueType;
        }
        if (!tea_util_1.default.isUnset(request.optionText)) {
            body["optionText"] = request.optionText;
        }
        if (!tea_util_1.default.isUnset(request.required)) {
            body["required"] = request.required;
        }
        if (!tea_util_1.default.isUnset(request.visibleByEmp)) {
            body["visibleByEmp"] = request.visibleByEmp;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            body: openapi_util_1.default.parseToMap(body),
        });
        let params = new $OpenApi.Params({
            action: "AddCustomRosterField",
            version: "hrm_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/hrm/customRosterField/add`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new AddCustomRosterFieldResponse({}));
    }
    /**
     * 添加自定义花名册字段
     *
     * @param request - AddCustomRosterFieldRequest
     * @returns AddCustomRosterFieldResponse
     */
    async addCustomRosterField(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new AddCustomRosterFieldHeaders({});
        return await this.addCustomRosterFieldWithOptions(request, headers, runtime);
    }
    /**
     * 新增法人公司
     *
     * @param request - AddHrmLegalEntityRequest
     * @param headers - AddHrmLegalEntityHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns AddHrmLegalEntityResponse
     */
    async addHrmLegalEntityWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let query = {};
        if (!tea_util_1.default.isUnset(request.dingTenantId)) {
            query["dingTenantId"] = request.dingTenantId;
        }
        let body = {};
        if (!tea_util_1.default.isUnset(request.corpId)) {
            body["corpId"] = request.corpId;
        }
        if (!tea_util_1.default.isUnset(request.createUserId)) {
            body["createUserId"] = request.createUserId;
        }
        if (!tea_util_1.default.isUnset(request.ext)) {
            body["ext"] = request.ext;
        }
        if (!tea_util_1.default.isUnset(request.legalEntityName)) {
            body["legalEntityName"] = request.legalEntityName;
        }
        if (!tea_util_1.default.isUnset(request.legalEntityShortName)) {
            body["legalEntityShortName"] = request.legalEntityShortName;
        }
        if (!tea_util_1.default.isUnset(request.legalEntityStatus)) {
            body["legalEntityStatus"] = request.legalEntityStatus;
        }
        if (!tea_util_1.default.isUnset(request.legalPersonName)) {
            body["legalPersonName"] = request.legalPersonName;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            query: openapi_util_1.default.query(query),
            body: openapi_util_1.default.parseToMap(body),
        });
        let params = new $OpenApi.Params({
            action: "AddHrmLegalEntity",
            version: "hrm_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/hrm/masters/legalEntities/companies`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new AddHrmLegalEntityResponse({}));
    }
    /**
     * 新增法人公司
     *
     * @param request - AddHrmLegalEntityRequest
     * @returns AddHrmLegalEntityResponse
     */
    async addHrmLegalEntity(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new AddHrmLegalEntityHeaders({});
        return await this.addHrmLegalEntityWithOptions(request, headers, runtime);
    }
    /**
     * 智能人事添加待入职员工信息(支持花名册数据和分组明细更新)
     *
     * @param request - AddHrmPreentryRequest
     * @param headers - AddHrmPreentryHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns AddHrmPreentryResponse
     */
    async addHrmPreentryWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.agentId)) {
            body["agentId"] = request.agentId;
        }
        if (!tea_util_1.default.isUnset(request.groups)) {
            body["groups"] = request.groups;
        }
        if (!tea_util_1.default.isUnset(request.mobile)) {
            body["mobile"] = request.mobile;
        }
        if (!tea_util_1.default.isUnset(request.name)) {
            body["name"] = request.name;
        }
        if (!tea_util_1.default.isUnset(request.needSendPreEntryMsg)) {
            body["needSendPreEntryMsg"] = request.needSendPreEntryMsg;
        }
        if (!tea_util_1.default.isUnset(request.preEntryTime)) {
            body["preEntryTime"] = request.preEntryTime;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            body: openapi_util_1.default.parseToMap(body),
        });
        let params = new $OpenApi.Params({
            action: "AddHrmPreentry",
            version: "hrm_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/hrm/preentries`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new AddHrmPreentryResponse({}));
    }
    /**
     * 智能人事添加待入职员工信息(支持花名册数据和分组明细更新)
     *
     * @param request - AddHrmPreentryRequest
     * @returns AddHrmPreentryResponse
     */
    async addHrmPreentry(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new AddHrmPreentryHeaders({});
        return await this.addHrmPreentryWithOptions(request, headers, runtime);
    }
    /**
     * 新建花名册字段分组
     *
     * @param request - AddRosterFieldFormRequest
     * @param headers - AddRosterFieldFormHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns AddRosterFieldFormResponse
     */
    async addRosterFieldFormWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.detail)) {
            body["detail"] = request.detail;
        }
        if (!tea_util_1.default.isUnset(request.name)) {
            body["name"] = request.name;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            body: openapi_util_1.default.parseToMap(body),
        });
        let params = new $OpenApi.Params({
            action: "AddRosterFieldForm",
            version: "hrm_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/hrm/rosterFieldForm/add`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new AddRosterFieldFormResponse({}));
    }
    /**
     * 新建花名册字段分组
     *
     * @param request - AddRosterFieldFormRequest
     * @returns AddRosterFieldFormResponse
     */
    async addRosterFieldForm(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new AddRosterFieldFormHeaders({});
        return await this.addRosterFieldFormWithOptions(request, headers, runtime);
    }
    /**
     * 创建电子签签署记录
     *
     * @param request - CreateRecordRequest
     * @param headers - CreateRecordHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns CreateRecordResponse
     */
    async createRecordWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.attachmentList)) {
            body["attachmentList"] = request.attachmentList;
        }
        if (!tea_util_1.default.isUnset(request.deptId)) {
            body["deptId"] = request.deptId;
        }
        if (!tea_util_1.default.isUnset(request.fieldList)) {
            body["fieldList"] = request.fieldList;
        }
        if (!tea_util_1.default.isUnset(request.groupList)) {
            body["groupList"] = request.groupList;
        }
        if (!tea_util_1.default.isUnset(request.outerId)) {
            body["outerId"] = request.outerId;
        }
        if (!tea_util_1.default.isUnset(request.remark)) {
            body["remark"] = request.remark;
        }
        if (!tea_util_1.default.isUnset(request.signLastLegalEntityName)) {
            body["signLastLegalEntityName"] = request.signLastLegalEntityName;
        }
        if (!tea_util_1.default.isUnset(request.signLegalEntityName)) {
            body["signLegalEntityName"] = request.signLegalEntityName;
        }
        if (!tea_util_1.default.isUnset(request.signSource)) {
            body["signSource"] = request.signSource;
        }
        if (!tea_util_1.default.isUnset(request.signStartUserId)) {
            body["signStartUserId"] = request.signStartUserId;
        }
        if (!tea_util_1.default.isUnset(request.signUserId)) {
            body["signUserId"] = request.signUserId;
        }
        if (!tea_util_1.default.isUnset(request.templateId)) {
            body["templateId"] = request.templateId;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            body: openapi_util_1.default.parseToMap(body),
        });
        let params = new $OpenApi.Params({
            action: "CreateRecord",
            version: "hrm_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/hrm/masters/signCenters/records`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new CreateRecordResponse({}));
    }
    /**
     * 创建电子签签署记录
     *
     * @param request - CreateRecordRequest
     * @returns CreateRecordResponse
     */
    async createRecord(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new CreateRecordHeaders({});
        return await this.createRecordWithOptions(request, headers, runtime);
    }
    /**
     * 删除花名册自定义字段
     *
     * @param request - DeleteCustomRosterFieldRequest
     * @param headers - DeleteCustomRosterFieldHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns DeleteCustomRosterFieldResponse
     */
    async deleteCustomRosterFieldWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.fieldCode)) {
            body["fieldCode"] = request.fieldCode;
        }
        if (!tea_util_1.default.isUnset(request.groupId)) {
            body["groupId"] = request.groupId;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            body: openapi_util_1.default.parseToMap(body),
        });
        let params = new $OpenApi.Params({
            action: "DeleteCustomRosterField",
            version: "hrm_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/hrm/customRosterField/delete`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new DeleteCustomRosterFieldResponse({}));
    }
    /**
     * 删除花名册自定义字段
     *
     * @param request - DeleteCustomRosterFieldRequest
     * @returns DeleteCustomRosterFieldResponse
     */
    async deleteCustomRosterField(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new DeleteCustomRosterFieldHeaders({});
        return await this.deleteCustomRosterFieldWithOptions(request, headers, runtime);
    }
    /**
     * 删除花名册字段分组
     *
     * @param request - DeleteRosterFieldFormRequest
     * @param headers - DeleteRosterFieldFormHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns DeleteRosterFieldFormResponse
     */
    async deleteRosterFieldFormWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.formId)) {
            body["formId"] = request.formId;
        }
        if (!tea_util_1.default.isUnset(request.userId)) {
            body["userId"] = request.userId;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            body: openapi_util_1.default.parseToMap(body),
        });
        let params = new $OpenApi.Params({
            action: "DeleteRosterFieldForm",
            version: "hrm_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/hrm/rosterFieldForm/delete`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new DeleteRosterFieldFormResponse({}));
    }
    /**
     * 删除花名册字段分组
     *
     * @param request - DeleteRosterFieldFormRequest
     * @returns DeleteRosterFieldFormResponse
     */
    async deleteRosterFieldForm(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new DeleteRosterFieldFormHeaders({});
        return await this.deleteRosterFieldFormWithOptions(request, headers, runtime);
    }
    /**
     * 智能人事设备市场管理
     *
     * @param headers - map
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns DeviceMarketManagerResponse
     */
    async deviceMarketManagerWithOptions(headers, runtime) {
        let req = new $OpenApi.OpenApiRequest({
            headers: headers,
        });
        let params = new $OpenApi.Params({
            action: "DeviceMarketManager",
            version: "hrm_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/hrm/device/market/manager`,
            method: "GET",
            authType: "Anonymous",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new DeviceMarketManagerResponse({}));
    }
    /**
     * 智能人事设备市场管理
     * @returns DeviceMarketManagerResponse
     */
    async deviceMarketManager() {
        let runtime = new $Util.RuntimeOptions({});
        let headers = {};
        return await this.deviceMarketManagerWithOptions(headers, runtime);
    }
    /**
     * 智能人事设备定向管理接口
     *
     * @param headers - map
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns DeviceMarketOrderManagerResponse
     */
    async deviceMarketOrderManagerWithOptions(headers, runtime) {
        let req = new $OpenApi.OpenApiRequest({
            headers: headers,
        });
        let params = new $OpenApi.Params({
            action: "DeviceMarketOrderManager",
            version: "hrm_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/hrm/device/market/order/manager`,
            method: "GET",
            authType: "Anonymous",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new DeviceMarketOrderManagerResponse({}));
    }
    /**
     * 智能人事设备定向管理接口
     * @returns DeviceMarketOrderManagerResponse
     */
    async deviceMarketOrderManager() {
        let runtime = new $Util.RuntimeOptions({});
        let headers = {};
        return await this.deviceMarketOrderManagerWithOptions(headers, runtime);
    }
    /**
     * e签宝专有查询证件接口
     *
     * @param request - ECertQueryRequest
     * @param headers - ECertQueryHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns ECertQueryResponse
     */
    async eCertQueryWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let query = {};
        if (!tea_util_1.default.isUnset(request.userId)) {
            query["userId"] = request.userId;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            query: openapi_util_1.default.query(query),
        });
        let params = new $OpenApi.Params({
            action: "ECertQuery",
            version: "hrm_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/hrm/eCerts`,
            method: "GET",
            authType: "AK",
            style: "ROA",
            reqBodyType: "json",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new ECertQueryResponse({}));
    }
    /**
     * e签宝专有查询证件接口
     *
     * @param request - ECertQueryRequest
     * @returns ECertQueryResponse
     */
    async eCertQuery(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new ECertQueryHeaders({});
        return await this.eCertQueryWithOptions(request, headers, runtime);
    }
    /**
     * 加入待离职
     *
     * @param request - EmpStartDismissionRequest
     * @param headers - EmpStartDismissionHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns EmpStartDismissionResponse
     */
    async empStartDismissionWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.lastWorkDate)) {
            body["lastWorkDate"] = request.lastWorkDate;
        }
        if (!tea_util_1.default.isUnset(request.partner)) {
            body["partner"] = request.partner;
        }
        if (!tea_util_1.default.isUnset(request.remark)) {
            body["remark"] = request.remark;
        }
        if (!tea_util_1.default.isUnset(request.terminationReasonPassive)) {
            body["terminationReasonPassive"] = request.terminationReasonPassive;
        }
        if (!tea_util_1.default.isUnset(request.terminationReasonVoluntary)) {
            body["terminationReasonVoluntary"] = request.terminationReasonVoluntary;
        }
        if (!tea_util_1.default.isUnset(request.toHireBlackList)) {
            body["toHireBlackList"] = request.toHireBlackList;
        }
        if (!tea_util_1.default.isUnset(request.toHireDismissionTalent)) {
            body["toHireDismissionTalent"] = request.toHireDismissionTalent;
        }
        if (!tea_util_1.default.isUnset(request.toHrmBlackList)) {
            body["toHrmBlackList"] = request.toHrmBlackList;
        }
        if (!tea_util_1.default.isUnset(request.userId)) {
            body["userId"] = request.userId;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            body: openapi_util_1.default.parseToMap(body),
        });
        let params = new $OpenApi.Params({
            action: "EmpStartDismission",
            version: "hrm_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/hrm/pendingDismission/start`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new EmpStartDismissionResponse({}));
    }
    /**
     * 加入待离职
     *
     * @param request - EmpStartDismissionRequest
     * @returns EmpStartDismissionResponse
     */
    async empStartDismission(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new EmpStartDismissionHeaders({});
        return await this.empStartDismissionWithOptions(request, headers, runtime);
    }
    /**
     * 智能人事员工档案附件更新
     *
     * @param request - EmployeeAttachmentUpdateRequest
     * @param headers - EmployeeAttachmentUpdateHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns EmployeeAttachmentUpdateResponse
     */
    async employeeAttachmentUpdateWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let query = {};
        if (!tea_util_1.default.isUnset(request.appAgentId)) {
            query["appAgentId"] = request.appAgentId;
        }
        let body = {};
        if (!tea_util_1.default.isUnset(request.fieldCode)) {
            body["fieldCode"] = request.fieldCode;
        }
        if (!tea_util_1.default.isUnset(request.fileSuffix)) {
            body["fileSuffix"] = request.fileSuffix;
        }
        if (!tea_util_1.default.isUnset(request.mediaId)) {
            body["mediaId"] = request.mediaId;
        }
        if (!tea_util_1.default.isUnset(request.userId)) {
            body["userId"] = request.userId;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            query: openapi_util_1.default.query(query),
            body: openapi_util_1.default.parseToMap(body),
        });
        let params = new $OpenApi.Params({
            action: "EmployeeAttachmentUpdate",
            version: "hrm_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/hrm/employees/attachments`,
            method: "PUT",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new EmployeeAttachmentUpdateResponse({}));
    }
    /**
     * 智能人事员工档案附件更新
     *
     * @param request - EmployeeAttachmentUpdateRequest
     * @returns EmployeeAttachmentUpdateResponse
     */
    async employeeAttachmentUpdate(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new EmployeeAttachmentUpdateHeaders({});
        return await this.employeeAttachmentUpdateWithOptions(request, headers, runtime);
    }
    /**
     * 人事高级合同管理回退
     *
     * @param request - EsignRollbackRequest
     * @param headers - EsignRollbackHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns EsignRollbackResponse
     */
    async esignRollbackWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let query = {};
        if (!tea_util_1.default.isUnset(request.optUserId)) {
            query["optUserId"] = request.optUserId;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            query: openapi_util_1.default.query(query),
        });
        let params = new $OpenApi.Params({
            action: "EsignRollback",
            version: "hrm_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/hrm/contracts/esign/rollback`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new EsignRollbackResponse({}));
    }
    /**
     * 人事高级合同管理回退
     *
     * @param request - EsignRollbackRequest
     * @returns EsignRollbackResponse
     */
    async esignRollback(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new EsignRollbackHeaders({});
        return await this.esignRollbackWithOptions(request, headers, runtime);
    }
    /**
     * 获取所有离职原因
     *
     * @param headers - GetAllDismissionReasonsHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns GetAllDismissionReasonsResponse
     */
    async getAllDismissionReasonsWithOptions(headers, runtime) {
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
        });
        let params = new $OpenApi.Params({
            action: "GetAllDismissionReasons",
            version: "hrm_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/hrm/dismission/reasons`,
            method: "GET",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new GetAllDismissionReasonsResponse({}));
    }
    /**
     * 获取所有离职原因
     * @returns GetAllDismissionReasonsResponse
     */
    async getAllDismissionReasons() {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new GetAllDismissionReasonsHeaders({});
        return await this.getAllDismissionReasonsWithOptions(headers, runtime);
    }
    /**
     * 获取员工花名册指定字段的信息，支持明细分组字段
     *
     * @param request - GetEmployeeRosterByFieldRequest
     * @param headers - GetEmployeeRosterByFieldHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns GetEmployeeRosterByFieldResponse
     */
    async getEmployeeRosterByFieldWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.appAgentId)) {
            body["appAgentId"] = request.appAgentId;
        }
        if (!tea_util_1.default.isUnset(request.fieldFilterList)) {
            body["fieldFilterList"] = request.fieldFilterList;
        }
        if (!tea_util_1.default.isUnset(request.text2SelectConvert)) {
            body["text2SelectConvert"] = request.text2SelectConvert;
        }
        if (!tea_util_1.default.isUnset(request.userIdList)) {
            body["userIdList"] = request.userIdList;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            body: openapi_util_1.default.parseToMap(body),
        });
        let params = new $OpenApi.Params({
            action: "GetEmployeeRosterByField",
            version: "hrm_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/hrm/rosters/lists/query`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new GetEmployeeRosterByFieldResponse({}));
    }
    /**
     * 获取员工花名册指定字段的信息，支持明细分组字段
     *
     * @param request - GetEmployeeRosterByFieldRequest
     * @returns GetEmployeeRosterByFieldResponse
     */
    async getEmployeeRosterByField(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new GetEmployeeRosterByFieldHeaders({});
        return await this.getEmployeeRosterByFieldWithOptions(request, headers, runtime);
    }
    /**
     * 查询文件模板列表及文件模板内花名册字段
     *
     * @param request - GetFileTemplateListRequest
     * @param headers - GetFileTemplateListHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns GetFileTemplateListResponse
     */
    async getFileTemplateListWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.maxResults)) {
            body["maxResults"] = request.maxResults;
        }
        if (!tea_util_1.default.isUnset(request.nextToken)) {
            body["nextToken"] = request.nextToken;
        }
        if (!tea_util_1.default.isUnset(request.signSource)) {
            body["signSource"] = request.signSource;
        }
        if (!tea_util_1.default.isUnset(request.templateStatus)) {
            body["templateStatus"] = request.templateStatus;
        }
        if (!tea_util_1.default.isUnset(request.templateTypeList)) {
            body["templateTypeList"] = request.templateTypeList;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            body: openapi_util_1.default.parseToMap(body),
        });
        let params = new $OpenApi.Params({
            action: "GetFileTemplateList",
            version: "hrm_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/hrm/masters/fileTemplates/lists/query`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new GetFileTemplateListResponse({}));
    }
    /**
     * 查询文件模板列表及文件模板内花名册字段
     *
     * @param request - GetFileTemplateListRequest
     * @returns GetFileTemplateListResponse
     */
    async getFileTemplateList(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new GetFileTemplateListHeaders({});
        return await this.getFileTemplateListWithOptions(request, headers, runtime);
    }
    /**
     * 通过签署记录id查询指定的电子签署记录
     *
     * @param request - GetSignRecordByIdRequest
     * @param headers - GetSignRecordByIdHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns GetSignRecordByIdResponse
     */
    async getSignRecordByIdWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            body: request.body,
        });
        let params = new $OpenApi.Params({
            action: "GetSignRecordById",
            version: "hrm_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/hrm/masters/signCenters/records/query`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new GetSignRecordByIdResponse({}));
    }
    /**
     * 通过签署记录id查询指定的电子签署记录
     *
     * @param request - GetSignRecordByIdRequest
     * @returns GetSignRecordByIdResponse
     */
    async getSignRecordById(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new GetSignRecordByIdHeaders({});
        return await this.getSignRecordByIdWithOptions(request, headers, runtime);
    }
    /**
     * 查询指定用户的电子签署记录，并返回签署记录的基本数据及已签署完成的文件预览地址
     *
     * @param request - GetSignRecordByUserIdRequest
     * @param headers - GetSignRecordByUserIdHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns GetSignRecordByUserIdResponse
     */
    async getSignRecordByUserIdWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.maxResults)) {
            body["maxResults"] = request.maxResults;
        }
        if (!tea_util_1.default.isUnset(request.nextToken)) {
            body["nextToken"] = request.nextToken;
        }
        if (!tea_util_1.default.isUnset(request.signStatus)) {
            body["signStatus"] = request.signStatus;
        }
        if (!tea_util_1.default.isUnset(request.signUserId)) {
            body["signUserId"] = request.signUserId;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            body: openapi_util_1.default.parseToMap(body),
        });
        let params = new $OpenApi.Params({
            action: "GetSignRecordByUserId",
            version: "hrm_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/hrm/masters/signCenters/users/records/query`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new GetSignRecordByUserIdResponse({}));
    }
    /**
     * 查询指定用户的电子签署记录，并返回签署记录的基本数据及已签署完成的文件预览地址
     *
     * @param request - GetSignRecordByUserIdRequest
     * @returns GetSignRecordByUserIdResponse
     */
    async getSignRecordByUserId(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new GetSignRecordByUserIdHeaders({});
        return await this.getSignRecordByUserIdWithOptions(request, headers, runtime);
    }
    /**
     * 查询指定outerId的电子签署记录详情
     *
     * @param request - GetUserSignedRecordsByOuterIdRequest
     * @param headers - GetUserSignedRecordsByOuterIdHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns GetUserSignedRecordsByOuterIdResponse
     */
    async getUserSignedRecordsByOuterIdWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            body: request.body,
        });
        let params = new $OpenApi.Params({
            action: "GetUserSignedRecordsByOuterId",
            version: "hrm_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/hrm/masters/signCenters/outerIds/records/query`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new GetUserSignedRecordsByOuterIdResponse({}));
    }
    /**
     * 查询指定outerId的电子签署记录详情
     *
     * @param request - GetUserSignedRecordsByOuterIdRequest
     * @returns GetUserSignedRecordsByOuterIdResponse
     */
    async getUserSignedRecordsByOuterId(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new GetUserSignedRecordsByOuterIdHeaders({});
        return await this.getUserSignedRecordsByOuterIdWithOptions(request, headers, runtime);
    }
    /**
     * 智能人事权限查询
     *
     * @param request - HrmAuthResourcesQueryRequest
     * @param headers - HrmAuthResourcesQueryHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns HrmAuthResourcesQueryResponse
     */
    async hrmAuthResourcesQueryWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.authResourceIds)) {
            body["authResourceIds"] = request.authResourceIds;
        }
        if (!tea_util_1.default.isUnset(request.userId)) {
            body["userId"] = request.userId;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            body: openapi_util_1.default.parseToMap(body),
        });
        let params = new $OpenApi.Params({
            action: "HrmAuthResourcesQuery",
            version: "hrm_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/hrm/authResources/query`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new HrmAuthResourcesQueryResponse({}));
    }
    /**
     * 智能人事权限查询
     *
     * @param request - HrmAuthResourcesQueryRequest
     * @returns HrmAuthResourcesQueryResponse
     */
    async hrmAuthResourcesQuery(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new HrmAuthResourcesQueryHeaders({});
        return await this.hrmAuthResourcesQueryWithOptions(request, headers, runtime);
    }
    /**
     * 智能人事权益查询
     *
     * @param request - HrmBenefitQueryRequest
     * @param headers - HrmBenefitQueryHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns HrmBenefitQueryResponse
     */
    async hrmBenefitQueryWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.benefitCodes)) {
            body["benefitCodes"] = request.benefitCodes;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            body: openapi_util_1.default.parseToMap(body),
        });
        let params = new $OpenApi.Params({
            action: "HrmBenefitQuery",
            version: "hrm_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/hrm/benefits/query`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new HrmBenefitQueryResponse({}));
    }
    /**
     * 智能人事权益查询
     *
     * @param request - HrmBenefitQueryRequest
     * @returns HrmBenefitQueryResponse
     */
    async hrmBenefitQuery(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new HrmBenefitQueryHeaders({});
        return await this.hrmBenefitQueryWithOptions(request, headers, runtime);
    }
    /**
     * 查询企业配置信息
     *
     * @param request - HrmCorpConfigQueryRequest
     * @param headers - HrmCorpConfigQueryHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns HrmCorpConfigQueryResponse
     */
    async hrmCorpConfigQueryWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.subType)) {
            body["subType"] = request.subType;
        }
        if (!tea_util_1.default.isUnset(request.type)) {
            body["type"] = request.type;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            body: openapi_util_1.default.parseToMap(body),
        });
        let params = new $OpenApi.Params({
            action: "HrmCorpConfigQuery",
            version: "hrm_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/hrm/corp/configs/query`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new HrmCorpConfigQueryResponse({}));
    }
    /**
     * 查询企业配置信息
     *
     * @param request - HrmCorpConfigQueryRequest
     * @returns HrmCorpConfigQueryResponse
     */
    async hrmCorpConfigQuery(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new HrmCorpConfigQueryHeaders({});
        return await this.hrmCorpConfigQueryWithOptions(request, headers, runtime);
    }
    /**
     * 智能人事邮件发送
     *
     * @param request - HrmMailSendRequest
     * @param headers - HrmMailSendHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns HrmMailSendResponse
     */
    async hrmMailSendWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.mail)) {
            body["mail"] = request.mail;
        }
        if (!tea_util_1.default.isUnset(request.operator)) {
            body["operator"] = request.operator;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            body: openapi_util_1.default.parseToMap(body),
        });
        let params = new $OpenApi.Params({
            action: "HrmMailSend",
            version: "hrm_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/hrm/mails/send`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new HrmMailSendResponse({}));
    }
    /**
     * 智能人事邮件发送
     *
     * @param request - HrmMailSendRequest
     * @returns HrmMailSendResponse
     */
    async hrmMailSend(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new HrmMailSendHeaders({});
        return await this.hrmMailSendWithOptions(request, headers, runtime);
    }
    /**
     * 人事2.0支持Moka事件转发
     *
     * @param request - HrmMokaEventRequest
     * @param headers - HrmMokaEventHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns HrmMokaEventResponse
     */
    async hrmMokaEventWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.bizId)) {
            body["bizId"] = request.bizId;
        }
        if (!tea_util_1.default.isUnset(request.content)) {
            body["content"] = request.content;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            body: openapi_util_1.default.parseToMap(body),
        });
        let params = new $OpenApi.Params({
            action: "HrmMokaEvent",
            version: "hrm_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/hrm/moka/events/forward`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new HrmMokaEventResponse({}));
    }
    /**
     * 人事2.0支持Moka事件转发
     *
     * @param request - HrmMokaEventRequest
     * @returns HrmMokaEventResponse
     */
    async hrmMokaEvent(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new HrmMokaEventHeaders({});
        return await this.hrmMokaEventWithOptions(request, headers, runtime);
    }
    /**
     * 人事2.0支持Moka接口转发
     *
     * @param request - HrmMokaOapiRequest
     * @param headers - HrmMokaOapiHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns HrmMokaOapiResponse
     */
    async hrmMokaOapiWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.apiCode)) {
            body["apiCode"] = request.apiCode;
        }
        if (!tea_util_1.default.isUnset(request.params)) {
            body["params"] = request.params;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            body: openapi_util_1.default.parseToMap(body),
        });
        let params = new $OpenApi.Params({
            action: "HrmMokaOapi",
            version: "hrm_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/hrm/moka/forward`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new HrmMokaOapiResponse({}));
    }
    /**
     * 人事2.0支持Moka接口转发
     *
     * @param request - HrmMokaOapiRequest
     * @returns HrmMokaOapiResponse
     */
    async hrmMokaOapi(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new HrmMokaOapiHeaders({});
        return await this.hrmMokaOapiWithOptions(request, headers, runtime);
    }
    /**
     * 智能人事转正接口
     *
     * @param request - HrmProcessRegularRequest
     * @param headers - HrmProcessRegularHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns HrmProcessRegularResponse
     */
    async hrmProcessRegularWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.operationId)) {
            body["operationId"] = request.operationId;
        }
        if (!tea_util_1.default.isUnset(request.regularDate)) {
            body["regularDate"] = request.regularDate;
        }
        if (!tea_util_1.default.isUnset(request.remark)) {
            body["remark"] = request.remark;
        }
        if (!tea_util_1.default.isUnset(request.userId)) {
            body["userId"] = request.userId;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            body: openapi_util_1.default.parseToMap(body),
        });
        let params = new $OpenApi.Params({
            action: "HrmProcessRegular",
            version: "hrm_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/hrm/processes/regulars/become`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new HrmProcessRegularResponse({}));
    }
    /**
     * 智能人事转正接口
     *
     * @param request - HrmProcessRegularRequest
     * @returns HrmProcessRegularResponse
     */
    async hrmProcessRegular(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new HrmProcessRegularHeaders({});
        return await this.hrmProcessRegularWithOptions(request, headers, runtime);
    }
    /**
     * 智能人事离职和交接接口
     *
     * @param request - HrmProcessTerminationAndHandoverRequest
     * @param headers - HrmProcessTerminationAndHandoverHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns HrmProcessTerminationAndHandoverResponse
     */
    async hrmProcessTerminationAndHandoverWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.aflowHandOverUserId)) {
            body["aflowHandOverUserId"] = request.aflowHandOverUserId;
        }
        if (!tea_util_1.default.isUnset(request.dingPanHandoverUserId)) {
            body["dingPanHandoverUserId"] = request.dingPanHandoverUserId;
        }
        if (!tea_util_1.default.isUnset(request.directSubordinatesHandoverUserId)) {
            body["directSubordinatesHandoverUserId"] = request.directSubordinatesHandoverUserId;
        }
        if (!tea_util_1.default.isUnset(request.dismissionMemo)) {
            body["dismissionMemo"] = request.dismissionMemo;
        }
        if (!tea_util_1.default.isUnset(request.dismissionReason)) {
            body["dismissionReason"] = request.dismissionReason;
        }
        if (!tea_util_1.default.isUnset(request.docNoteHandoverUserId)) {
            body["docNoteHandoverUserId"] = request.docNoteHandoverUserId;
        }
        if (!tea_util_1.default.isUnset(request.lastWorkDate)) {
            body["lastWorkDate"] = request.lastWorkDate;
        }
        if (!tea_util_1.default.isUnset(request.optUserId)) {
            body["optUserId"] = request.optUserId;
        }
        if (!tea_util_1.default.isUnset(request.permissionHandoverUserId)) {
            body["permissionHandoverUserId"] = request.permissionHandoverUserId;
        }
        if (!tea_util_1.default.isUnset(request.terminationReasonPassive)) {
            body["terminationReasonPassive"] = request.terminationReasonPassive;
        }
        if (!tea_util_1.default.isUnset(request.terminationReasonVoluntary)) {
            body["terminationReasonVoluntary"] = request.terminationReasonVoluntary;
        }
        if (!tea_util_1.default.isUnset(request.userId)) {
            body["userId"] = request.userId;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            body: openapi_util_1.default.parseToMap(body),
        });
        let params = new $OpenApi.Params({
            action: "HrmProcessTerminationAndHandover",
            version: "hrm_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/hrm/processes/terminateAndHandOver`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new HrmProcessTerminationAndHandoverResponse({}));
    }
    /**
     * 智能人事离职和交接接口
     *
     * @param request - HrmProcessTerminationAndHandoverRequest
     * @returns HrmProcessTerminationAndHandoverResponse
     */
    async hrmProcessTerminationAndHandover(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new HrmProcessTerminationAndHandoverHeaders({});
        return await this.hrmProcessTerminationAndHandoverWithOptions(request, headers, runtime);
    }
    /**
     * 智能人事调岗接口
     *
     * @param request - HrmProcessTransferRequest
     * @param headers - HrmProcessTransferHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns HrmProcessTransferResponse
     */
    async hrmProcessTransferWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.deptIdsAfterTransfer)) {
            body["deptIdsAfterTransfer"] = request.deptIdsAfterTransfer;
        }
        if (!tea_util_1.default.isUnset(request.jobIdAfterTransfer)) {
            body["jobIdAfterTransfer"] = request.jobIdAfterTransfer;
        }
        if (!tea_util_1.default.isUnset(request.mainDeptIdAfterTransfer)) {
            body["mainDeptIdAfterTransfer"] = request.mainDeptIdAfterTransfer;
        }
        if (!tea_util_1.default.isUnset(request.operateUserId)) {
            body["operateUserId"] = request.operateUserId;
        }
        if (!tea_util_1.default.isUnset(request.positionIdAfterTransfer)) {
            body["positionIdAfterTransfer"] = request.positionIdAfterTransfer;
        }
        if (!tea_util_1.default.isUnset(request.positionLevelAfterTransfer)) {
            body["positionLevelAfterTransfer"] = request.positionLevelAfterTransfer;
        }
        if (!tea_util_1.default.isUnset(request.positionNameAfterTransfer)) {
            body["positionNameAfterTransfer"] = request.positionNameAfterTransfer;
        }
        if (!tea_util_1.default.isUnset(request.rankIdAfterTransfer)) {
            body["rankIdAfterTransfer"] = request.rankIdAfterTransfer;
        }
        if (!tea_util_1.default.isUnset(request.userId)) {
            body["userId"] = request.userId;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            body: openapi_util_1.default.parseToMap(body),
        });
        let params = new $OpenApi.Params({
            action: "HrmProcessTransfer",
            version: "hrm_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/hrm/processes/transfer`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new HrmProcessTransferResponse({}));
    }
    /**
     * 智能人事调岗接口
     *
     * @param request - HrmProcessTransferRequest
     * @returns HrmProcessTransferResponse
     */
    async hrmProcessTransfer(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new HrmProcessTransferHeaders({});
        return await this.hrmProcessTransferWithOptions(request, headers, runtime);
    }
    /**
     * 修改员工最后一次离职信息
     *
     * @param request - HrmProcessUpdateTerminationInfoRequest
     * @param headers - HrmProcessUpdateTerminationInfoHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns HrmProcessUpdateTerminationInfoResponse
     */
    async hrmProcessUpdateTerminationInfoWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.dismissionMemo)) {
            body["dismissionMemo"] = request.dismissionMemo;
        }
        if (!tea_util_1.default.isUnset(request.lastWorkDate)) {
            body["lastWorkDate"] = request.lastWorkDate;
        }
        if (!tea_util_1.default.isUnset(request.userId)) {
            body["userId"] = request.userId;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            body: openapi_util_1.default.parseToMap(body),
        });
        let params = new $OpenApi.Params({
            action: "HrmProcessUpdateTerminationInfo",
            version: "hrm_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/hrm/processes/employees/terminations`,
            method: "PUT",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new HrmProcessUpdateTerminationInfoResponse({}));
    }
    /**
     * 修改员工最后一次离职信息
     *
     * @param request - HrmProcessUpdateTerminationInfoRequest
     * @returns HrmProcessUpdateTerminationInfoResponse
     */
    async hrmProcessUpdateTerminationInfo(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new HrmProcessUpdateTerminationInfoHeaders({});
        return await this.hrmProcessUpdateTerminationInfoWithOptions(request, headers, runtime);
    }
    /**
     * 智能人事pts能力调用
     *
     * @param request - HrmPtsServiceRequest
     * @param headers - HrmPtsServiceHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns HrmPtsServiceResponse
     */
    async hrmPtsServiceWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.env)) {
            body["env"] = request.env;
        }
        if (!tea_util_1.default.isUnset(request.method)) {
            body["method"] = request.method;
        }
        if (!tea_util_1.default.isUnset(request.outerId)) {
            body["outerId"] = request.outerId;
        }
        if (!tea_util_1.default.isUnset(request.params)) {
            body["params"] = request.params;
        }
        if (!tea_util_1.default.isUnset(request.path)) {
            body["path"] = request.path;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            body: openapi_util_1.default.parseToMap(body),
        });
        let params = new $OpenApi.Params({
            action: "HrmPtsService",
            version: "hrm_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/hrm/pts/request`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new HrmPtsServiceResponse({}));
    }
    /**
     * 智能人事pts能力调用
     *
     * @param request - HrmPtsServiceRequest
     * @returns HrmPtsServiceResponse
     */
    async hrmPtsService(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new HrmPtsServiceHeaders({});
        return await this.hrmPtsServiceWithOptions(request, headers, runtime);
    }
    /**
     * 作废签署记录
     *
     * @param request - InvalidSignRecordsRequest
     * @param headers - InvalidSignRecordsHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns InvalidSignRecordsResponse
     */
    async invalidSignRecordsWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.invalidUserId)) {
            body["invalidUserId"] = request.invalidUserId;
        }
        if (!tea_util_1.default.isUnset(request.signRecordIds)) {
            body["signRecordIds"] = request.signRecordIds;
        }
        if (!tea_util_1.default.isUnset(request.statusRemark)) {
            body["statusRemark"] = request.statusRemark;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            body: openapi_util_1.default.parseToMap(body),
        });
        let params = new $OpenApi.Params({
            action: "InvalidSignRecords",
            version: "hrm_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/hrm/masters/signCenters/records/invalid`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new InvalidSignRecordsResponse({}));
    }
    /**
     * 作废签署记录
     *
     * @param request - InvalidSignRecordsRequest
     * @returns InvalidSignRecordsResponse
     */
    async invalidSignRecords(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new InvalidSignRecordsHeaders({});
        return await this.invalidSignRecordsWithOptions(request, headers, runtime);
    }
    /**
     * 智能人事主数据删除服务
     *
     * @param request - MasterDataDeleteRequest
     * @param headers - MasterDataDeleteHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns MasterDataDeleteResponse
     */
    async masterDataDeleteWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let query = {};
        if (!tea_util_1.default.isUnset(request.tenantId)) {
            query["tenantId"] = request.tenantId;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            query: openapi_util_1.default.query(query),
            body: tea_util_1.default.toArray(request.body),
        });
        let params = new $OpenApi.Params({
            action: "MasterDataDelete",
            version: "hrm_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/hrm/masters/datas/batchRemove`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new MasterDataDeleteResponse({}));
    }
    /**
     * 智能人事主数据删除服务
     *
     * @param request - MasterDataDeleteRequest
     * @returns MasterDataDeleteResponse
     */
    async masterDataDelete(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new MasterDataDeleteHeaders({});
        return await this.masterDataDeleteWithOptions(request, headers, runtime);
    }
    /**
     * 智能人事主数据查询服务
     *
     * @param request - MasterDataQueryRequest
     * @param headers - MasterDataQueryHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns MasterDataQueryResponse
     */
    async masterDataQueryWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.bizUK)) {
            body["bizUK"] = request.bizUK;
        }
        if (!tea_util_1.default.isUnset(request.maxResults)) {
            body["maxResults"] = request.maxResults;
        }
        if (!tea_util_1.default.isUnset(request.nextToken)) {
            body["nextToken"] = request.nextToken;
        }
        if (!tea_util_1.default.isUnset(request.optUserId)) {
            body["optUserId"] = request.optUserId;
        }
        if (!tea_util_1.default.isUnset(request.queryParams)) {
            body["queryParams"] = request.queryParams;
        }
        if (!tea_util_1.default.isUnset(request.relationIds)) {
            body["relationIds"] = request.relationIds;
        }
        if (!tea_util_1.default.isUnset(request.scopeCode)) {
            body["scopeCode"] = request.scopeCode;
        }
        if (!tea_util_1.default.isUnset(request.tenantId)) {
            body["tenantId"] = request.tenantId;
        }
        if (!tea_util_1.default.isUnset(request.viewEntityCode)) {
            body["viewEntityCode"] = request.viewEntityCode;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            body: openapi_util_1.default.parseToMap(body),
        });
        let params = new $OpenApi.Params({
            action: "MasterDataQuery",
            version: "hrm_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/hrm/masters/datas/query`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new MasterDataQueryResponse({}));
    }
    /**
     * 智能人事主数据查询服务
     *
     * @param request - MasterDataQueryRequest
     * @returns MasterDataQueryResponse
     */
    async masterDataQuery(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new MasterDataQueryHeaders({});
        return await this.masterDataQueryWithOptions(request, headers, runtime);
    }
    /**
     * 智能人事主数据保存服务
     *
     * @param request - MasterDataSaveRequest
     * @param headers - MasterDataSaveHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns MasterDataSaveResponse
     */
    async masterDataSaveWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let query = {};
        if (!tea_util_1.default.isUnset(request.tenantId)) {
            query["tenantId"] = request.tenantId;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            query: openapi_util_1.default.query(query),
            body: tea_util_1.default.toArray(request.body),
        });
        let params = new $OpenApi.Params({
            action: "MasterDataSave",
            version: "hrm_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/hrm/masters/datas/save`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new MasterDataSaveResponse({}));
    }
    /**
     * 智能人事主数据保存服务
     *
     * @param request - MasterDataSaveRequest
     * @returns MasterDataSaveResponse
     */
    async masterDataSave(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new MasterDataSaveHeaders({});
        return await this.masterDataSaveWithOptions(request, headers, runtime);
    }
    /**
     * 主数据中拥有某个领域数据的租户信息查询
     *
     * @param request - MasterDataTenantQueyRequest
     * @param headers - MasterDataTenantQueyHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns MasterDataTenantQueyResponse
     */
    async masterDataTenantQueyWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let query = {};
        if (!tea_util_1.default.isUnset(request.entityCode)) {
            query["entityCode"] = request.entityCode;
        }
        if (!tea_util_1.default.isUnset(request.scopeCode)) {
            query["scopeCode"] = request.scopeCode;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            query: openapi_util_1.default.query(query),
        });
        let params = new $OpenApi.Params({
            action: "MasterDataTenantQuey",
            version: "hrm_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/hrm/masters/tenants`,
            method: "GET",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new MasterDataTenantQueyResponse({}));
    }
    /**
     * 主数据中拥有某个领域数据的租户信息查询
     *
     * @param request - MasterDataTenantQueyRequest
     * @returns MasterDataTenantQueyResponse
     */
    async masterDataTenantQuey(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new MasterDataTenantQueyHeaders({});
        return await this.masterDataTenantQueyWithOptions(request, headers, runtime);
    }
    /**
     * 智能人事主数据根据ID获取
     *
     * @param request - MasterDatasGetRequest
     * @param headers - MasterDatasGetHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns MasterDatasGetResponse
     */
    async masterDatasGetWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.objId)) {
            body["objId"] = request.objId;
        }
        if (!tea_util_1.default.isUnset(request.scopeCode)) {
            body["scopeCode"] = request.scopeCode;
        }
        if (!tea_util_1.default.isUnset(request.tenantId)) {
            body["tenantId"] = request.tenantId;
        }
        if (!tea_util_1.default.isUnset(request.viewEntityCode)) {
            body["viewEntityCode"] = request.viewEntityCode;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            body: openapi_util_1.default.parseToMap(body),
        });
        let params = new $OpenApi.Params({
            action: "MasterDatasGet",
            version: "hrm_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/hrm/masterDatas/objects/query`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new MasterDatasGetResponse({}));
    }
    /**
     * 智能人事主数据根据ID获取
     *
     * @param request - MasterDatasGetRequest
     * @returns MasterDatasGetResponse
     */
    async masterDatasGet(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new MasterDatasGetHeaders({});
        return await this.masterDatasGetWithOptions(request, headers, runtime);
    }
    /**
     * 智能人事主数据查询服务
     *
     * @param request - MasterDatasQueryRequest
     * @param headers - MasterDatasQueryHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns MasterDatasQueryResponse
     */
    async masterDatasQueryWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.bizUK)) {
            body["bizUK"] = request.bizUK;
        }
        if (!tea_util_1.default.isUnset(request.maxResults)) {
            body["maxResults"] = request.maxResults;
        }
        if (!tea_util_1.default.isUnset(request.nextToken)) {
            body["nextToken"] = request.nextToken;
        }
        if (!tea_util_1.default.isUnset(request.queryParams)) {
            body["queryParams"] = request.queryParams;
        }
        if (!tea_util_1.default.isUnset(request.relationIds)) {
            body["relationIds"] = request.relationIds;
        }
        if (!tea_util_1.default.isUnset(request.scopeCode)) {
            body["scopeCode"] = request.scopeCode;
        }
        if (!tea_util_1.default.isUnset(request.tenantId)) {
            body["tenantId"] = request.tenantId;
        }
        if (!tea_util_1.default.isUnset(request.viewEntityCode)) {
            body["viewEntityCode"] = request.viewEntityCode;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            body: openapi_util_1.default.parseToMap(body),
        });
        let params = new $OpenApi.Params({
            action: "MasterDatasQuery",
            version: "hrm_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/hrm/masterDatas/query`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new MasterDatasQueryResponse({}));
    }
    /**
     * 智能人事主数据查询服务
     *
     * @param request - MasterDatasQueryRequest
     * @returns MasterDatasQueryResponse
     */
    async masterDatasQuery(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new MasterDatasQueryHeaders({});
        return await this.masterDatasQueryWithOptions(request, headers, runtime);
    }
    /**
     * oem 老用户数据迁移时，开通oem 应用
     *
     * @param request - OpenOemMicroAppRequest
     * @param headers - OpenOemMicroAppHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns OpenOemMicroAppResponse
     */
    async openOemMicroAppWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let query = {};
        if (!tea_util_1.default.isUnset(request.tenantId)) {
            query["tenantId"] = request.tenantId;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            query: openapi_util_1.default.query(query),
        });
        let params = new $OpenApi.Params({
            action: "OpenOemMicroApp",
            version: "hrm_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/hrm/oem/microApps/open`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new OpenOemMicroAppResponse({}));
    }
    /**
     * oem 老用户数据迁移时，开通oem 应用
     *
     * @param request - OpenOemMicroAppRequest
     * @returns OpenOemMicroAppResponse
     */
    async openOemMicroApp(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new OpenOemMicroAppHeaders({});
        return await this.openOemMicroAppWithOptions(request, headers, runtime);
    }
    /**
     * 自定义入职流程数据查询
     *
     * @param request - QueryCustomEntryProcessesRequest
     * @param headers - QueryCustomEntryProcessesHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns QueryCustomEntryProcessesResponse
     */
    async queryCustomEntryProcessesWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let query = {};
        if (!tea_util_1.default.isUnset(request.maxResults)) {
            query["maxResults"] = request.maxResults;
        }
        if (!tea_util_1.default.isUnset(request.nextToken)) {
            query["nextToken"] = request.nextToken;
        }
        if (!tea_util_1.default.isUnset(request.operateUserId)) {
            query["operateUserId"] = request.operateUserId;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            query: openapi_util_1.default.query(query),
        });
        let params = new $OpenApi.Params({
            action: "QueryCustomEntryProcesses",
            version: "hrm_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/hrm/customEntryProcesses`,
            method: "GET",
            authType: "AK",
            style: "ROA",
            reqBodyType: "json",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new QueryCustomEntryProcessesResponse({}));
    }
    /**
     * 自定义入职流程数据查询
     *
     * @param request - QueryCustomEntryProcessesRequest
     * @returns QueryCustomEntryProcessesResponse
     */
    async queryCustomEntryProcesses(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new QueryCustomEntryProcessesHeaders({});
        return await this.queryCustomEntryProcessesWithOptions(request, headers, runtime);
    }
    /**
     * 查询企业已离职员工列表
     *
     * @param request - QueryDismissionStaffIdListRequest
     * @param headers - QueryDismissionStaffIdListHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns QueryDismissionStaffIdListResponse
     */
    async queryDismissionStaffIdListWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let query = {};
        if (!tea_util_1.default.isUnset(request.maxResults)) {
            query["maxResults"] = request.maxResults;
        }
        if (!tea_util_1.default.isUnset(request.nextToken)) {
            query["nextToken"] = request.nextToken;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            query: openapi_util_1.default.query(query),
        });
        let params = new $OpenApi.Params({
            action: "QueryDismissionStaffIdList",
            version: "hrm_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/hrm/employees/dismissions`,
            method: "GET",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new QueryDismissionStaffIdListResponse({}));
    }
    /**
     * 查询企业已离职员工列表
     *
     * @param request - QueryDismissionStaffIdListRequest
     * @returns QueryDismissionStaffIdListResponse
     */
    async queryDismissionStaffIdList(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new QueryDismissionStaffIdListHeaders({});
        return await this.queryDismissionStaffIdListWithOptions(request, headers, runtime);
    }
    /**
     * 根据传入的staffId列表，批量查询员工的离职信息
     *
     * @param tmpReq - QueryHrmEmployeeDismissionInfoRequest
     * @param headers - QueryHrmEmployeeDismissionInfoHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns QueryHrmEmployeeDismissionInfoResponse
     */
    async queryHrmEmployeeDismissionInfoWithOptions(tmpReq, headers, runtime) {
        tea_util_1.default.validateModel(tmpReq);
        let request = new QueryHrmEmployeeDismissionInfoShrinkRequest({});
        openapi_util_1.default.convert(tmpReq, request);
        if (!tea_util_1.default.isUnset(tmpReq.userIdList)) {
            request.userIdListShrink = openapi_util_1.default.arrayToStringWithSpecifiedStyle(tmpReq.userIdList, "userIdList", "json");
        }
        let query = {};
        if (!tea_util_1.default.isUnset(request.userIdListShrink)) {
            query["userIdList"] = request.userIdListShrink;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            query: openapi_util_1.default.query(query),
        });
        let params = new $OpenApi.Params({
            action: "QueryHrmEmployeeDismissionInfo",
            version: "hrm_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/hrm/employees/dimissionInfos`,
            method: "GET",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new QueryHrmEmployeeDismissionInfoResponse({}));
    }
    /**
     * 根据传入的staffId列表，批量查询员工的离职信息
     *
     * @param request - QueryHrmEmployeeDismissionInfoRequest
     * @returns QueryHrmEmployeeDismissionInfoResponse
     */
    async queryHrmEmployeeDismissionInfo(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new QueryHrmEmployeeDismissionInfoHeaders({});
        return await this.queryHrmEmployeeDismissionInfoWithOptions(request, headers, runtime);
    }
    /**
     * 分页查询企业的职级信息
     *
     * @param request - QueryJobRanksRequest
     * @param headers - QueryJobRanksHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns QueryJobRanksResponse
     */
    async queryJobRanksWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let query = {};
        if (!tea_util_1.default.isUnset(request.maxResults)) {
            query["maxResults"] = request.maxResults;
        }
        if (!tea_util_1.default.isUnset(request.nextToken)) {
            query["nextToken"] = request.nextToken;
        }
        if (!tea_util_1.default.isUnset(request.rankCategoryId)) {
            query["rankCategoryId"] = request.rankCategoryId;
        }
        if (!tea_util_1.default.isUnset(request.rankCode)) {
            query["rankCode"] = request.rankCode;
        }
        if (!tea_util_1.default.isUnset(request.rankName)) {
            query["rankName"] = request.rankName;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            query: openapi_util_1.default.query(query),
        });
        let params = new $OpenApi.Params({
            action: "QueryJobRanks",
            version: "hrm_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/hrm/jobRanks`,
            method: "GET",
            authType: "AK",
            style: "ROA",
            reqBodyType: "json",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new QueryJobRanksResponse({}));
    }
    /**
     * 分页查询企业的职级信息
     *
     * @param request - QueryJobRanksRequest
     * @returns QueryJobRanksResponse
     */
    async queryJobRanks(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new QueryJobRanksHeaders({});
        return await this.queryJobRanksWithOptions(request, headers, runtime);
    }
    /**
     * 分页查询企业职务信息
     *
     * @param request - QueryJobsRequest
     * @param headers - QueryJobsHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns QueryJobsResponse
     */
    async queryJobsWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let query = {};
        if (!tea_util_1.default.isUnset(request.jobName)) {
            query["jobName"] = request.jobName;
        }
        if (!tea_util_1.default.isUnset(request.maxResults)) {
            query["maxResults"] = request.maxResults;
        }
        if (!tea_util_1.default.isUnset(request.nextToken)) {
            query["nextToken"] = request.nextToken;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            query: openapi_util_1.default.query(query),
        });
        let params = new $OpenApi.Params({
            action: "QueryJobs",
            version: "hrm_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/hrm/jobs`,
            method: "GET",
            authType: "AK",
            style: "ROA",
            reqBodyType: "json",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new QueryJobsResponse({}));
    }
    /**
     * 分页查询企业职务信息
     *
     * @param request - QueryJobsRequest
     * @returns QueryJobsResponse
     */
    async queryJobs(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new QueryJobsHeaders({});
        return await this.queryJobsWithOptions(request, headers, runtime);
    }
    /**
     * 智能人事查询微应用状态
     *
     * @param request - QueryMicroAppStatusRequest
     * @param headers - QueryMicroAppStatusHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns QueryMicroAppStatusResponse
     */
    async queryMicroAppStatusWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.tenantIdList)) {
            body["tenantIdList"] = request.tenantIdList;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            body: openapi_util_1.default.parseToMap(body),
        });
        let params = new $OpenApi.Params({
            action: "QueryMicroAppStatus",
            version: "hrm_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/hrm/microApps/statuses/query`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new QueryMicroAppStatusResponse({}));
    }
    /**
     * 智能人事查询微应用状态
     *
     * @param request - QueryMicroAppStatusRequest
     * @returns QueryMicroAppStatusResponse
     */
    async queryMicroAppStatus(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new QueryMicroAppStatusHeaders({});
        return await this.queryMicroAppStatusWithOptions(request, headers, runtime);
    }
    /**
     * 智能人事查询微应用可见性
     *
     * @param request - QueryMicroAppViewRequest
     * @param headers - QueryMicroAppViewHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns QueryMicroAppViewResponse
     */
    async queryMicroAppViewWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.tenantIdList)) {
            body["tenantIdList"] = request.tenantIdList;
        }
        if (!tea_util_1.default.isUnset(request.viewUserId)) {
            body["viewUserId"] = request.viewUserId;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            body: openapi_util_1.default.parseToMap(body),
        });
        let params = new $OpenApi.Params({
            action: "QueryMicroAppView",
            version: "hrm_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/hrm/microApps/visibilities/query`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new QueryMicroAppViewResponse({}));
    }
    /**
     * 智能人事查询微应用可见性
     *
     * @param request - QueryMicroAppViewRequest
     * @returns QueryMicroAppViewResponse
     */
    async queryMicroAppView(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new QueryMicroAppViewHeaders({});
        return await this.queryMicroAppViewWithOptions(request, headers, runtime);
    }
    /**
     * 查询企业职位版本
     *
     * @param headers - QueryPositionVersionHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns QueryPositionVersionResponse
     */
    async queryPositionVersionWithOptions(headers, runtime) {
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
        });
        let params = new $OpenApi.Params({
            action: "QueryPositionVersion",
            version: "hrm_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/hrm/positions/versions/query`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new QueryPositionVersionResponse({}));
    }
    /**
     * 查询企业职位版本
     * @returns QueryPositionVersionResponse
     */
    async queryPositionVersion() {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new QueryPositionVersionHeaders({});
        return await this.queryPositionVersionWithOptions(headers, runtime);
    }
    /**
     * 分页查询企业职位信息
     *
     * @param request - QueryPositionsRequest
     * @param headers - QueryPositionsHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns QueryPositionsResponse
     */
    async queryPositionsWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let query = {};
        if (!tea_util_1.default.isUnset(request.maxResults)) {
            query["maxResults"] = request.maxResults;
        }
        if (!tea_util_1.default.isUnset(request.nextToken)) {
            query["nextToken"] = request.nextToken;
        }
        let body = {};
        if (!tea_util_1.default.isUnset(request.deptId)) {
            body["deptId"] = request.deptId;
        }
        if (!tea_util_1.default.isUnset(request.inCategoryIds)) {
            body["inCategoryIds"] = request.inCategoryIds;
        }
        if (!tea_util_1.default.isUnset(request.inPositionIds)) {
            body["inPositionIds"] = request.inPositionIds;
        }
        if (!tea_util_1.default.isUnset(request.positionName)) {
            body["positionName"] = request.positionName;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            query: openapi_util_1.default.query(query),
            body: openapi_util_1.default.parseToMap(body),
        });
        let params = new $OpenApi.Params({
            action: "QueryPositions",
            version: "hrm_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/hrm/positions/query`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new QueryPositionsResponse({}));
    }
    /**
     * 分页查询企业职位信息
     *
     * @param request - QueryPositionsRequest
     * @returns QueryPositionsResponse
     */
    async queryPositions(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new QueryPositionsHeaders({});
        return await this.queryPositionsWithOptions(request, headers, runtime);
    }
    /**
     * 撤回电子签署中的签署记录
     *
     * @param request - RevokeSignRecordsRequest
     * @param headers - RevokeSignRecordsHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns RevokeSignRecordsResponse
     */
    async revokeSignRecordsWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.revokeUserId)) {
            body["revokeUserId"] = request.revokeUserId;
        }
        if (!tea_util_1.default.isUnset(request.signRecordIds)) {
            body["signRecordIds"] = request.signRecordIds;
        }
        if (!tea_util_1.default.isUnset(request.statusRemark)) {
            body["statusRemark"] = request.statusRemark;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            body: openapi_util_1.default.parseToMap(body),
        });
        let params = new $OpenApi.Params({
            action: "RevokeSignRecords",
            version: "hrm_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/hrm/masters/signCenters/records/revoke`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new RevokeSignRecordsResponse({}));
    }
    /**
     * 撤回电子签署中的签署记录
     *
     * @param request - RevokeSignRecordsRequest
     * @returns RevokeSignRecordsResponse
     */
    async revokeSignRecords(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new RevokeSignRecordsHeaders({});
        return await this.revokeSignRecordsWithOptions(request, headers, runtime);
    }
    /**
     * 撤销待离职
     *
     * @param request - RevokeTerminationRequest
     * @param headers - RevokeTerminationHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns RevokeTerminationResponse
     */
    async revokeTerminationWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.userId)) {
            body["userId"] = request.userId;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            body: openapi_util_1.default.parseToMap(body),
        });
        let params = new $OpenApi.Params({
            action: "RevokeTermination",
            version: "hrm_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/hrm/pendingDismission/revoke`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new RevokeTerminationResponse({}));
    }
    /**
     * 撤销待离职
     *
     * @param request - RevokeTerminationRequest
     * @returns RevokeTerminationResponse
     */
    async revokeTermination(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new RevokeTerminationHeaders({});
        return await this.revokeTerminationWithOptions(request, headers, runtime);
    }
    /**
     * 查询花名册中有权限的字段列表
     *
     * @param request - RosterMetaAvailableFieldListRequest
     * @param headers - RosterMetaAvailableFieldListHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns RosterMetaAvailableFieldListResponse
     */
    async rosterMetaAvailableFieldListWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let query = {};
        if (!tea_util_1.default.isUnset(request.appAgentId)) {
            query["appAgentId"] = request.appAgentId;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            query: openapi_util_1.default.query(query),
        });
        let params = new $OpenApi.Params({
            action: "RosterMetaAvailableFieldList",
            version: "hrm_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/hrm/rosters/meta/authorities/fields`,
            method: "GET",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new RosterMetaAvailableFieldListResponse({}));
    }
    /**
     * 查询花名册中有权限的字段列表
     *
     * @param request - RosterMetaAvailableFieldListRequest
     * @returns RosterMetaAvailableFieldListResponse
     */
    async rosterMetaAvailableFieldList(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new RosterMetaAvailableFieldListHeaders({});
        return await this.rosterMetaAvailableFieldListWithOptions(request, headers, runtime);
    }
    /**
     * 智能人事花名册字段选项修改
     *
     * @param request - RosterMetaFieldOptionsUpdateRequest
     * @param headers - RosterMetaFieldOptionsUpdateHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns RosterMetaFieldOptionsUpdateResponse
     */
    async rosterMetaFieldOptionsUpdateWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let query = {};
        if (!tea_util_1.default.isUnset(request.appAgentId)) {
            query["appAgentId"] = request.appAgentId;
        }
        let body = {};
        if (!tea_util_1.default.isUnset(request.fieldCode)) {
            body["fieldCode"] = request.fieldCode;
        }
        if (!tea_util_1.default.isUnset(request.groupId)) {
            body["groupId"] = request.groupId;
        }
        if (!tea_util_1.default.isUnset(request.labels)) {
            body["labels"] = request.labels;
        }
        if (!tea_util_1.default.isUnset(request.modifyType)) {
            body["modifyType"] = request.modifyType;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            query: openapi_util_1.default.query(query),
            body: openapi_util_1.default.parseToMap(body),
        });
        let params = new $OpenApi.Params({
            action: "RosterMetaFieldOptionsUpdate",
            version: "hrm_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/hrm/rosters/meta/fields/options`,
            method: "PUT",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new RosterMetaFieldOptionsUpdateResponse({}));
    }
    /**
     * 智能人事花名册字段选项修改
     *
     * @param request - RosterMetaFieldOptionsUpdateRequest
     * @returns RosterMetaFieldOptionsUpdateResponse
     */
    async rosterMetaFieldOptionsUpdate(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new RosterMetaFieldOptionsUpdateHeaders({});
        return await this.rosterMetaFieldOptionsUpdateWithOptions(request, headers, runtime);
    }
    /**
     * ISV发送卡片消息
     *
     * @param request - SendIsvCardMessageRequest
     * @param headers - SendIsvCardMessageHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns SendIsvCardMessageResponse
     */
    async sendIsvCardMessageWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let query = {};
        if (!tea_util_1.default.isUnset(request.agentId)) {
            query["agentId"] = request.agentId;
        }
        let body = {};
        if (!tea_util_1.default.isUnset(request.bizId)) {
            body["bizId"] = request.bizId;
        }
        if (!tea_util_1.default.isUnset(request.messageType)) {
            body["messageType"] = request.messageType;
        }
        if (!tea_util_1.default.isUnset(request.receiverUserIds)) {
            body["receiverUserIds"] = request.receiverUserIds;
        }
        if (!tea_util_1.default.isUnset(request.sceneType)) {
            body["sceneType"] = request.sceneType;
        }
        if (!tea_util_1.default.isUnset(request.scope)) {
            body["scope"] = request.scope;
        }
        if (!tea_util_1.default.isUnset(request.senderUserId)) {
            body["senderUserId"] = request.senderUserId;
        }
        if (!tea_util_1.default.isUnset(request.valueMap)) {
            body["valueMap"] = request.valueMap;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            query: openapi_util_1.default.query(query),
            body: openapi_util_1.default.parseToMap(body),
        });
        let params = new $OpenApi.Params({
            action: "SendIsvCardMessage",
            version: "hrm_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/hrm/cardMessages/send`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new SendIsvCardMessageResponse({}));
    }
    /**
     * ISV发送卡片消息
     *
     * @param request - SendIsvCardMessageRequest
     * @returns SendIsvCardMessageResponse
     */
    async sendIsvCardMessage(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new SendIsvCardMessageHeaders({});
        return await this.sendIsvCardMessageWithOptions(request, headers, runtime);
    }
    /**
     * 发送实人认证邀请消息
     *
     * @param request - SendRealAuthInviteMessageRequest
     * @param headers - SendRealAuthInviteMessageHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns SendRealAuthInviteMessageResponse
     */
    async sendRealAuthInviteMessageWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.inviterId)) {
            body["inviterId"] = request.inviterId;
        }
        if (!tea_util_1.default.isUnset(request.onWorkingEmpSearchVO)) {
            body["onWorkingEmpSearchVO"] = request.onWorkingEmpSearchVO;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            body: openapi_util_1.default.parseToMap(body),
        });
        let params = new $OpenApi.Params({
            action: "SendRealAuthInviteMessage",
            version: "hrm_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/hrm/realAuth/send`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new SendRealAuthInviteMessageResponse({}));
    }
    /**
     * 发送实人认证邀请消息
     *
     * @param request - SendRealAuthInviteMessageRequest
     * @returns SendRealAuthInviteMessageResponse
     */
    async sendRealAuthInviteMessage(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new SendRealAuthInviteMessageHeaders({});
        return await this.sendRealAuthInviteMessageWithOptions(request, headers, runtime);
    }
    /**
     * 初始化解决方案任务
     *
     * @param request - SolutionTaskInitRequest
     * @param headers - SolutionTaskInitHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns SolutionTaskInitResponse
     */
    async solutionTaskInitWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let query = {};
        if (!tea_util_1.default.isUnset(request.solutionType)) {
            query["solutionType"] = request.solutionType;
        }
        let body = {};
        if (!tea_util_1.default.isUnset(request.category)) {
            body["category"] = request.category;
        }
        if (!tea_util_1.default.isUnset(request.claimTime)) {
            body["claimTime"] = request.claimTime;
        }
        if (!tea_util_1.default.isUnset(request.description)) {
            body["description"] = request.description;
        }
        if (!tea_util_1.default.isUnset(request.finishTime)) {
            body["finishTime"] = request.finishTime;
        }
        if (!tea_util_1.default.isUnset(request.outerId)) {
            body["outerId"] = request.outerId;
        }
        if (!tea_util_1.default.isUnset(request.status)) {
            body["status"] = request.status;
        }
        if (!tea_util_1.default.isUnset(request.title)) {
            body["title"] = request.title;
        }
        if (!tea_util_1.default.isUnset(request.userId)) {
            body["userId"] = request.userId;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            query: openapi_util_1.default.query(query),
            body: openapi_util_1.default.parseToMap(body),
        });
        let params = new $OpenApi.Params({
            action: "SolutionTaskInit",
            version: "hrm_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/hrm/solutions/tasks/init`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new SolutionTaskInitResponse({}));
    }
    /**
     * 初始化解决方案任务
     *
     * @param request - SolutionTaskInitRequest
     * @returns SolutionTaskInitResponse
     */
    async solutionTaskInit(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new SolutionTaskInitHeaders({});
        return await this.solutionTaskInitWithOptions(request, headers, runtime);
    }
    /**
     * 保存解决方案任务
     *
     * @param request - SolutionTaskSaveRequest
     * @param headers - SolutionTaskSaveHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns SolutionTaskSaveResponse
     */
    async solutionTaskSaveWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let query = {};
        if (!tea_util_1.default.isUnset(request.solutionType)) {
            query["solutionType"] = request.solutionType;
        }
        let body = {};
        if (!tea_util_1.default.isUnset(request.claimTime)) {
            body["claimTime"] = request.claimTime;
        }
        if (!tea_util_1.default.isUnset(request.description)) {
            body["description"] = request.description;
        }
        if (!tea_util_1.default.isUnset(request.finishTime)) {
            body["finishTime"] = request.finishTime;
        }
        if (!tea_util_1.default.isUnset(request.outerId)) {
            body["outerId"] = request.outerId;
        }
        if (!tea_util_1.default.isUnset(request.solutionInstanceId)) {
            body["solutionInstanceId"] = request.solutionInstanceId;
        }
        if (!tea_util_1.default.isUnset(request.startTime)) {
            body["startTime"] = request.startTime;
        }
        if (!tea_util_1.default.isUnset(request.status)) {
            body["status"] = request.status;
        }
        if (!tea_util_1.default.isUnset(request.taskType)) {
            body["taskType"] = request.taskType;
        }
        if (!tea_util_1.default.isUnset(request.templateOuterId)) {
            body["templateOuterId"] = request.templateOuterId;
        }
        if (!tea_util_1.default.isUnset(request.title)) {
            body["title"] = request.title;
        }
        if (!tea_util_1.default.isUnset(request.userId)) {
            body["userId"] = request.userId;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            query: openapi_util_1.default.query(query),
            body: openapi_util_1.default.parseToMap(body),
        });
        let params = new $OpenApi.Params({
            action: "SolutionTaskSave",
            version: "hrm_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/hrm/solutions/tasks/save`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new SolutionTaskSaveResponse({}));
    }
    /**
     * 保存解决方案任务
     *
     * @param request - SolutionTaskSaveRequest
     * @returns SolutionTaskSaveResponse
     */
    async solutionTaskSave(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new SolutionTaskSaveHeaders({});
        return await this.solutionTaskSaveWithOptions(request, headers, runtime);
    }
    /**
     * 同步解决方案状态
     *
     * @param request - SyncSolutionStatusRequest
     * @param headers - SyncSolutionStatusHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns SyncSolutionStatusResponse
     */
    async syncSolutionStatusWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.bizId)) {
            body["bizId"] = request.bizId;
        }
        if (!tea_util_1.default.isUnset(request.solutionStatus)) {
            body["solutionStatus"] = request.solutionStatus;
        }
        if (!tea_util_1.default.isUnset(request.solutionType)) {
            body["solutionType"] = request.solutionType;
        }
        if (!tea_util_1.default.isUnset(request.tenantId)) {
            body["tenantId"] = request.tenantId;
        }
        if (!tea_util_1.default.isUnset(request.userIds)) {
            body["userIds"] = request.userIds;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            body: openapi_util_1.default.parseToMap(body),
        });
        let params = new $OpenApi.Params({
            action: "SyncSolutionStatus",
            version: "hrm_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/hrm/solutions/statuses/sync`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new SyncSolutionStatusResponse({}));
    }
    /**
     * 同步解决方案状态
     *
     * @param request - SyncSolutionStatusRequest
     * @returns SyncSolutionStatusResponse
     */
    async syncSolutionStatus(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new SyncSolutionStatusHeaders({});
        return await this.syncSolutionStatusWithOptions(request, headers, runtime);
    }
    /**
     * 同步解决方案任务模版
     *
     * @param request - SyncTaskTemplateRequest
     * @param headers - SyncTaskTemplateHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns SyncTaskTemplateResponse
     */
    async syncTaskTemplateWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let query = {};
        if (!tea_util_1.default.isUnset(request.solutionType)) {
            query["solutionType"] = request.solutionType;
        }
        let body = {};
        if (!tea_util_1.default.isUnset(request.delete)) {
            body["delete"] = request.delete;
        }
        if (!tea_util_1.default.isUnset(request.des)) {
            body["des"] = request.des;
        }
        if (!tea_util_1.default.isUnset(request.ext)) {
            body["ext"] = request.ext;
        }
        if (!tea_util_1.default.isUnset(request.name)) {
            body["name"] = request.name;
        }
        if (!tea_util_1.default.isUnset(request.optUserId)) {
            body["optUserId"] = request.optUserId;
        }
        if (!tea_util_1.default.isUnset(request.outerId)) {
            body["outerId"] = request.outerId;
        }
        if (!tea_util_1.default.isUnset(request.taskScopeVO)) {
            body["taskScopeVO"] = request.taskScopeVO;
        }
        if (!tea_util_1.default.isUnset(request.taskType)) {
            body["taskType"] = request.taskType;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            query: openapi_util_1.default.query(query),
            body: openapi_util_1.default.parseToMap(body),
        });
        let params = new $OpenApi.Params({
            action: "SyncTaskTemplate",
            version: "hrm_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/hrm/solutions/tasks/templates/sync`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new SyncTaskTemplateResponse({}));
    }
    /**
     * 同步解决方案任务模版
     *
     * @param request - SyncTaskTemplateRequest
     * @returns SyncTaskTemplateResponse
     */
    async syncTaskTemplate(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new SyncTaskTemplateHeaders({});
        return await this.syncTaskTemplateWithOptions(request, headers, runtime);
    }
    /**
     * 更新花名册自定义字段
     *
     * @param request - UpdateCustomRosterFieldRequest
     * @param headers - UpdateCustomRosterFieldHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns UpdateCustomRosterFieldResponse
     */
    async updateCustomRosterFieldWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.contactClientFlag)) {
            body["contactClientFlag"] = request.contactClientFlag;
        }
        if (!tea_util_1.default.isUnset(request.contactFlag)) {
            body["contactFlag"] = request.contactFlag;
        }
        if (!tea_util_1.default.isUnset(request.contactSource)) {
            body["contactSource"] = request.contactSource;
        }
        if (!tea_util_1.default.isUnset(request.contactSystemFlag)) {
            body["contactSystemFlag"] = request.contactSystemFlag;
        }
        if (!tea_util_1.default.isUnset(request.deleted)) {
            body["deleted"] = request.deleted;
        }
        if (!tea_util_1.default.isUnset(request.derived)) {
            body["derived"] = request.derived;
        }
        if (!tea_util_1.default.isUnset(request.disabled)) {
            body["disabled"] = request.disabled;
        }
        if (!tea_util_1.default.isUnset(request.editFromEmployeeFlag)) {
            body["editFromEmployeeFlag"] = request.editFromEmployeeFlag;
        }
        if (!tea_util_1.default.isUnset(request.editableByHr)) {
            body["editableByHr"] = request.editableByHr;
        }
        if (!tea_util_1.default.isUnset(request.fieldCode)) {
            body["fieldCode"] = request.fieldCode;
        }
        if (!tea_util_1.default.isUnset(request.fieldName)) {
            body["fieldName"] = request.fieldName;
        }
        if (!tea_util_1.default.isUnset(request.fieldTip)) {
            body["fieldTip"] = request.fieldTip;
        }
        if (!tea_util_1.default.isUnset(request.fieldType)) {
            body["fieldType"] = request.fieldType;
        }
        if (!tea_util_1.default.isUnset(request.groupId)) {
            body["groupId"] = request.groupId;
        }
        if (!tea_util_1.default.isUnset(request.hiddenFromEmployeeFlag)) {
            body["hiddenFromEmployeeFlag"] = request.hiddenFromEmployeeFlag;
        }
        if (!tea_util_1.default.isUnset(request.hint)) {
            body["hint"] = request.hint;
        }
        if (!tea_util_1.default.isUnset(request.historyField)) {
            body["historyField"] = request.historyField;
        }
        if (!tea_util_1.default.isUnset(request.index)) {
            body["index"] = request.index;
        }
        if (!tea_util_1.default.isUnset(request.modifyOptions)) {
            body["modifyOptions"] = request.modifyOptions;
        }
        if (!tea_util_1.default.isUnset(request.noWatermark)) {
            body["noWatermark"] = request.noWatermark;
        }
        if (!tea_util_1.default.isUnset(request.numberDecimalPlace)) {
            body["numberDecimalPlace"] = request.numberDecimalPlace;
        }
        if (!tea_util_1.default.isUnset(request.numberFormatType)) {
            body["numberFormatType"] = request.numberFormatType;
        }
        if (!tea_util_1.default.isUnset(request.numberValueType)) {
            body["numberValueType"] = request.numberValueType;
        }
        if (!tea_util_1.default.isUnset(request.optionText)) {
            body["optionText"] = request.optionText;
        }
        if (!tea_util_1.default.isUnset(request.required)) {
            body["required"] = request.required;
        }
        if (!tea_util_1.default.isUnset(request.sourceFieldCode)) {
            body["sourceFieldCode"] = request.sourceFieldCode;
        }
        if (!tea_util_1.default.isUnset(request.systemFlag)) {
            body["systemFlag"] = request.systemFlag;
        }
        if (!tea_util_1.default.isUnset(request.textToSelectField)) {
            body["textToSelectField"] = request.textToSelectField;
        }
        if (!tea_util_1.default.isUnset(request.updateUserId)) {
            body["updateUserId"] = request.updateUserId;
        }
        if (!tea_util_1.default.isUnset(request.value)) {
            body["value"] = request.value;
        }
        if (!tea_util_1.default.isUnset(request.visibleByEmp)) {
            body["visibleByEmp"] = request.visibleByEmp;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            body: openapi_util_1.default.parseToMap(body),
        });
        let params = new $OpenApi.Params({
            action: "UpdateCustomRosterField",
            version: "hrm_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/hrm/customRosterField/update`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new UpdateCustomRosterFieldResponse({}));
    }
    /**
     * 更新花名册自定义字段
     *
     * @param request - UpdateCustomRosterFieldRequest
     * @returns UpdateCustomRosterFieldResponse
     */
    async updateCustomRosterField(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new UpdateCustomRosterFieldHeaders({});
        return await this.updateCustomRosterFieldWithOptions(request, headers, runtime);
    }
    /**
     * 更新待离职信息
     *
     * @param request - UpdateEmpDismissionInfoRequest
     * @param headers - UpdateEmpDismissionInfoHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns UpdateEmpDismissionInfoResponse
     */
    async updateEmpDismissionInfoWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.dismissionMemo)) {
            body["dismissionMemo"] = request.dismissionMemo;
        }
        if (!tea_util_1.default.isUnset(request.lastWorkDate)) {
            body["lastWorkDate"] = request.lastWorkDate;
        }
        if (!tea_util_1.default.isUnset(request.partner)) {
            body["partner"] = request.partner;
        }
        if (!tea_util_1.default.isUnset(request.terminationReasonPassive)) {
            body["terminationReasonPassive"] = request.terminationReasonPassive;
        }
        if (!tea_util_1.default.isUnset(request.terminationReasonVoluntary)) {
            body["terminationReasonVoluntary"] = request.terminationReasonVoluntary;
        }
        if (!tea_util_1.default.isUnset(request.userId)) {
            body["userId"] = request.userId;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            body: openapi_util_1.default.parseToMap(body),
        });
        let params = new $OpenApi.Params({
            action: "UpdateEmpDismissionInfo",
            version: "hrm_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/hrm/pendingDismission/infos`,
            method: "PUT",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new UpdateEmpDismissionInfoResponse({}));
    }
    /**
     * 更新待离职信息
     *
     * @param request - UpdateEmpDismissionInfoRequest
     * @returns UpdateEmpDismissionInfoResponse
     */
    async updateEmpDismissionInfo(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new UpdateEmpDismissionInfoHeaders({});
        return await this.updateEmpDismissionInfoWithOptions(request, headers, runtime);
    }
    /**
     * 更新法人公司名称
     *
     * @param request - UpdateHrmLegalEntityNameRequest
     * @param headers - UpdateHrmLegalEntityNameHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns UpdateHrmLegalEntityNameResponse
     */
    async updateHrmLegalEntityNameWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let query = {};
        if (!tea_util_1.default.isUnset(request.dingTenantId)) {
            query["dingTenantId"] = request.dingTenantId;
        }
        if (!tea_util_1.default.isUnset(request.legalEntityName)) {
            query["legalEntityName"] = request.legalEntityName;
        }
        if (!tea_util_1.default.isUnset(request.originLegalEntityName)) {
            query["originLegalEntityName"] = request.originLegalEntityName;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            query: openapi_util_1.default.query(query),
        });
        let params = new $OpenApi.Params({
            action: "UpdateHrmLegalEntityName",
            version: "hrm_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/hrm/masters/legalEntities/companyNames`,
            method: "PUT",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new UpdateHrmLegalEntityNameResponse({}));
    }
    /**
     * 更新法人公司名称
     *
     * @param request - UpdateHrmLegalEntityNameRequest
     * @returns UpdateHrmLegalEntityNameResponse
     */
    async updateHrmLegalEntityName(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new UpdateHrmLegalEntityNameHeaders({});
        return await this.updateHrmLegalEntityNameWithOptions(request, headers, runtime);
    }
    /**
     * 更新法人公司
     *
     * @param request - UpdateHrmLegalEntityWithoutNameRequest
     * @param headers - UpdateHrmLegalEntityWithoutNameHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns UpdateHrmLegalEntityWithoutNameResponse
     */
    async updateHrmLegalEntityWithoutNameWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let query = {};
        if (!tea_util_1.default.isUnset(request.dingTenantId)) {
            query["dingTenantId"] = request.dingTenantId;
        }
        let body = {};
        if (!tea_util_1.default.isUnset(request.corpId)) {
            body["corpId"] = request.corpId;
        }
        if (!tea_util_1.default.isUnset(request.createUserId)) {
            body["createUserId"] = request.createUserId;
        }
        if (!tea_util_1.default.isUnset(request.ext)) {
            body["ext"] = request.ext;
        }
        if (!tea_util_1.default.isUnset(request.legalEntityName)) {
            body["legalEntityName"] = request.legalEntityName;
        }
        if (!tea_util_1.default.isUnset(request.legalEntityShortName)) {
            body["legalEntityShortName"] = request.legalEntityShortName;
        }
        if (!tea_util_1.default.isUnset(request.legalEntityStatus)) {
            body["legalEntityStatus"] = request.legalEntityStatus;
        }
        if (!tea_util_1.default.isUnset(request.legalPersonName)) {
            body["legalPersonName"] = request.legalPersonName;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            query: openapi_util_1.default.query(query),
            body: openapi_util_1.default.parseToMap(body),
        });
        let params = new $OpenApi.Params({
            action: "UpdateHrmLegalEntityWithoutName",
            version: "hrm_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/hrm/masters/legalEntities/companies`,
            method: "PUT",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new UpdateHrmLegalEntityWithoutNameResponse({}));
    }
    /**
     * 更新法人公司
     *
     * @param request - UpdateHrmLegalEntityWithoutNameRequest
     * @returns UpdateHrmLegalEntityWithoutNameResponse
     */
    async updateHrmLegalEntityWithoutName(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new UpdateHrmLegalEntityWithoutNameHeaders({});
        return await this.updateHrmLegalEntityWithoutNameWithOptions(request, headers, runtime);
    }
    /**
     * 智能人事更新版本回退按钮状态
     *
     * @param request - UpdateHrmVersionRollBackStatusRequest
     * @param headers - UpdateHrmVersionRollBackStatusHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns UpdateHrmVersionRollBackStatusResponse
     */
    async updateHrmVersionRollBackStatusWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.configValue)) {
            body["configValue"] = request.configValue;
        }
        if (!tea_util_1.default.isUnset(request.optUserId)) {
            body["optUserId"] = request.optUserId;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            body: openapi_util_1.default.parseToMap(body),
        });
        let params = new $OpenApi.Params({
            action: "UpdateHrmVersionRollBackStatus",
            version: "hrm_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/hrm/versions/rollbackButtons/statuses`,
            method: "PUT",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new UpdateHrmVersionRollBackStatusResponse({}));
    }
    /**
     * 智能人事更新版本回退按钮状态
     *
     * @param request - UpdateHrmVersionRollBackStatusRequest
     * @returns UpdateHrmVersionRollBackStatusResponse
     */
    async updateHrmVersionRollBackStatus(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new UpdateHrmVersionRollBackStatusHeaders({});
        return await this.updateHrmVersionRollBackStatusWithOptions(request, headers, runtime);
    }
    /**
     * ISV更新卡片消息
     *
     * @param request - UpdateIsvCardMessageRequest
     * @param headers - UpdateIsvCardMessageHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns UpdateIsvCardMessageResponse
     */
    async updateIsvCardMessageWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let query = {};
        if (!tea_util_1.default.isUnset(request.agentId)) {
            query["agentId"] = request.agentId;
        }
        let body = {};
        if (!tea_util_1.default.isUnset(request.bizId)) {
            body["bizId"] = request.bizId;
        }
        if (!tea_util_1.default.isUnset(request.messageType)) {
            body["messageType"] = request.messageType;
        }
        if (!tea_util_1.default.isUnset(request.sceneType)) {
            body["sceneType"] = request.sceneType;
        }
        if (!tea_util_1.default.isUnset(request.scope)) {
            body["scope"] = request.scope;
        }
        if (!tea_util_1.default.isUnset(request.valueMap)) {
            body["valueMap"] = request.valueMap;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            query: openapi_util_1.default.query(query),
            body: openapi_util_1.default.parseToMap(body),
        });
        let params = new $OpenApi.Params({
            action: "UpdateIsvCardMessage",
            version: "hrm_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/hrm/cardMessages`,
            method: "PUT",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new UpdateIsvCardMessageResponse({}));
    }
    /**
     * ISV更新卡片消息
     *
     * @param request - UpdateIsvCardMessageRequest
     * @returns UpdateIsvCardMessageResponse
     */
    async updateIsvCardMessage(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new UpdateIsvCardMessageHeaders({});
        return await this.updateIsvCardMessageWithOptions(request, headers, runtime);
    }
    /**
     * 更新花名册字段分组
     *
     * @param request - UpdateRosterFieldFormRequest
     * @param headers - UpdateRosterFieldFormHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns UpdateRosterFieldFormResponse
     */
    async updateRosterFieldFormWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.detail)) {
            body["detail"] = request.detail;
        }
        if (!tea_util_1.default.isUnset(request.formId)) {
            body["formId"] = request.formId;
        }
        if (!tea_util_1.default.isUnset(request.name)) {
            body["name"] = request.name;
        }
        if (!tea_util_1.default.isUnset(request.userId)) {
            body["userId"] = request.userId;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            body: openapi_util_1.default.parseToMap(body),
        });
        let params = new $OpenApi.Params({
            action: "UpdateRosterFieldForm",
            version: "hrm_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/hrm/rosterFieldForm/update`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new UpdateRosterFieldFormResponse({}));
    }
    /**
     * 更新花名册字段分组
     *
     * @param request - UpdateRosterFieldFormRequest
     * @returns UpdateRosterFieldFormResponse
     */
    async updateRosterFieldForm(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new UpdateRosterFieldFormHeaders({});
        return await this.updateRosterFieldFormWithOptions(request, headers, runtime);
    }
    /**
     * 上传附件材料
     *
     * @param request - UploadAttachmentRequest
     * @param headers - UploadAttachmentHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns UploadAttachmentResponse
     */
    async uploadAttachmentWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.mediaId)) {
            body["mediaId"] = request.mediaId;
        }
        if (!tea_util_1.default.isUnset(request.userId)) {
            body["userId"] = request.userId;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            body: openapi_util_1.default.parseToMap(body),
        });
        let params = new $OpenApi.Params({
            action: "UploadAttachment",
            version: "hrm_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/hrm/attachments/upload`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new UploadAttachmentResponse({}));
    }
    /**
     * 上传附件材料
     *
     * @param request - UploadAttachmentRequest
     * @returns UploadAttachmentResponse
     */
    async uploadAttachment(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new UploadAttachmentHeaders({});
        return await this.uploadAttachmentWithOptions(request, headers, runtime);
    }
}
exports.default = Client;
//# sourceMappingURL=client.js.map