"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.CreateSecondaryManagementGroupResponseBody = exports.CreateSecondaryManagementGroupRequest = exports.CreateSecondaryManagementGroupHeaders = exports.CreateManagementGroupResponse = exports.CreateManagementGroupResponseBody = exports.CreateManagementGroupRequest = exports.CreateManagementGroupHeaders = exports.CreateCooperateOrgResponse = exports.CreateCooperateOrgResponseBody = exports.CreateCooperateOrgRequest = exports.CreateCooperateOrgHeaders = exports.CourseFinishCourseResponse = exports.CourseFinishCourseResponseBody = exports.CourseFinishCourseRequest = exports.CourseFinishCourseHeaders = exports.ChangeMainAdminResponse = exports.ChangeMainAdminRequest = exports.ChangeMainAdminHeaders = exports.ChangeDingTalkIdResponse = exports.ChangeDingTalkIdResponseBody = exports.ChangeDingTalkIdRequest = exports.ChangeDingTalkIdHeaders = exports.BatchUpdateExternalTitleResponse = exports.BatchUpdateExternalTitleResponseBody = exports.BatchUpdateExternalTitleRequest = exports.BatchUpdateExternalTitleHeaders = exports.BatchApproveUnionApplyResponse = exports.BatchApproveUnionApplyResponseBody = exports.BatchApproveUnionApplyRequest = exports.BatchApproveUnionApplyHeaders = exports.AnnualCertificationAuditResponse = exports.AnnualCertificationAuditResponseBody = exports.AnnualCertificationAuditRequest = exports.AnnualCertificationAuditHeaders = exports.AddOrgAccountOwnnessResponse = exports.AddOrgAccountOwnnessResponseBody = exports.AddOrgAccountOwnnessRequest = exports.AddOrgAccountOwnnessHeaders = exports.AddEmpAttributeHideBySceneSettingResponse = exports.AddEmpAttributeHideBySceneSettingResponseBody = exports.AddEmpAttributeHideBySceneSettingRequest = exports.AddEmpAttributeHideBySceneSettingHeaders = exports.AddContactHideBySceneSettingResponse = exports.AddContactHideBySceneSettingResponseBody = exports.AddContactHideBySceneSettingRequest = exports.AddContactHideBySceneSettingHeaders = exports.AddAccountMappingResponse = exports.AddAccountMappingResponseBody = exports.AddAccountMappingRequest = exports.AddAccountMappingHeaders = void 0;
exports.GetCorpCardStyleListResponseBody = exports.GetCorpCardStyleListHeaders = exports.GetCooperateOrgInviteInfoResponse = exports.GetCooperateOrgInviteInfoResponseBody = exports.GetCooperateOrgInviteInfoHeaders = exports.GetContactHideBySceneSettingResponse = exports.GetContactHideBySceneSettingResponseBody = exports.GetContactHideBySceneSettingHeaders = exports.GetCardInfoResponse = exports.GetCardInfoResponseBody = exports.GetCardInfoHeaders = exports.GetCardInUserHolderResponse = exports.GetCardInUserHolderResponseBody = exports.GetCardInUserHolderHeaders = exports.GetBranchAuthDataResponse = exports.GetBranchAuthDataResponseBody = exports.GetBranchAuthDataRequest = exports.GetBranchAuthDataHeaders = exports.GetApplyInviteInfoResponse = exports.GetApplyInviteInfoResponseBody = exports.GetApplyInviteInfoRequest = exports.GetApplyInviteInfoHeaders = exports.GetAccountMappingResponse = exports.GetAccountMappingResponseBody = exports.GetAccountMappingRequest = exports.GetAccountMappingHeaders = exports.DeleteManagementGroupResponse = exports.DeleteManagementGroupHeaders = exports.DeleteEmpAttributeVisibilityResponse = exports.DeleteEmpAttributeVisibilityHeaders = exports.DeleteEmpAttributeHideBySceneSettingResponse = exports.DeleteEmpAttributeHideBySceneSettingResponseBody = exports.DeleteEmpAttributeHideBySceneSettingHeaders = exports.DeleteContactRestrictSettingResponse = exports.DeleteContactRestrictSettingResponseBody = exports.DeleteContactRestrictSettingHeaders = exports.DeleteContactHideSettingResponse = exports.DeleteContactHideSettingHeaders = exports.DeleteContactHideBySceneSettingResponse = exports.DeleteContactHideBySceneSettingResponseBody = exports.DeleteContactHideBySceneSettingHeaders = exports.DelOrgAccUserOwnnessResponse = exports.DelOrgAccUserOwnnessResponseBody = exports.DelOrgAccUserOwnnessRequest = exports.DelOrgAccUserOwnnessHeaders = exports.DelAccountMappingResponse = exports.DelAccountMappingResponseBody = exports.DelAccountMappingRequest = exports.DelAccountMappingHeaders = exports.CreateSecondaryManagementGroupResponse = void 0;
exports.IsvCardEventPushResponse = exports.IsvCardEventPushResponseBody = exports.IsvCardEventPushRequest = exports.IsvCardEventPushHeaders = exports.IsFriendResponse = exports.IsFriendResponseBody = exports.IsFriendRequest = exports.IsFriendHeaders = exports.InitVerifyEventResponse = exports.InitVerifyEventResponseBody = exports.InitVerifyEventRequest = exports.InitVerifyEventHeaders = exports.GetUserCardHolderListResponse = exports.GetUserCardHolderListResponseBody = exports.GetUserCardHolderListRequest = exports.GetUserCardHolderListHeaders = exports.GetUserResponse = exports.GetUserResponseBody = exports.GetUserHeaders = exports.GetUnionIdByMigrationUnionIdResponse = exports.GetUnionIdByMigrationUnionIdResponseBody = exports.GetUnionIdByMigrationUnionIdRequest = exports.GetUnionIdByMigrationUnionIdHeaders = exports.GetTranslateFileJobResultResponse = exports.GetTranslateFileJobResultResponseBody = exports.GetTranslateFileJobResultRequest = exports.GetTranslateFileJobResultHeaders = exports.GetOrgAuthInfoResponse = exports.GetOrgAuthInfoResponseBody = exports.GetOrgAuthInfoRequest = exports.GetOrgAuthInfoHeaders = exports.GetMigrationUnionIdByUnionIdResponse = exports.GetMigrationUnionIdByUnionIdResponseBody = exports.GetMigrationUnionIdByUnionIdRequest = exports.GetMigrationUnionIdByUnionIdHeaders = exports.GetMigrationDingIdByDingIdResponse = exports.GetMigrationDingIdByDingIdResponseBody = exports.GetMigrationDingIdByDingIdRequest = exports.GetMigrationDingIdByDingIdHeaders = exports.GetLatestDingIndexResponse = exports.GetLatestDingIndexResponseBody = exports.GetLatestDingIndexHeaders = exports.GetEmpAttributeHideBySceneSettingResponse = exports.GetEmpAttributeHideBySceneSettingResponseBody = exports.GetEmpAttributeHideBySceneSettingHeaders = exports.GetDingIdByMigrationDingIdResponse = exports.GetDingIdByMigrationDingIdResponseBody = exports.GetDingIdByMigrationDingIdRequest = exports.GetDingIdByMigrationDingIdHeaders = exports.GetCorpCardStyleListResponse = void 0;
exports.OrgInfoShrinkRequest = exports.OrgInfoRequest = exports.OrgInfoHeaders = exports.OrgAccountMobileVisiblePermissonResponse = exports.OrgAccountMobileVisiblePermissonResponseBody = exports.OrgAccountMobileVisiblePermissonRequest = exports.OrgAccountMobileVisiblePermissonHeaders = exports.OrgAccountMobileVisibleInOtherOrgResponse = exports.OrgAccountMobileVisibleInOtherOrgResponseBody = exports.OrgAccountMobileVisibleInOtherOrgRequest = exports.OrgAccountMobileVisibleInOtherOrgHeaders = exports.MultiOrgPermissionGrantResponse = exports.MultiOrgPermissionGrantRequest = exports.MultiOrgPermissionGrantHeaders = exports.ModifyOrgAccUserOwnnessResponse = exports.ModifyOrgAccUserOwnnessResponseBody = exports.ModifyOrgAccUserOwnnessRequest = exports.ModifyOrgAccUserOwnnessHeaders = exports.ListSeniorSettingsResponse = exports.ListSeniorSettingsResponseBody = exports.ListSeniorSettingsRequest = exports.ListSeniorSettingsHeaders = exports.ListOwnedOrgByStaffIdResponse = exports.ListOwnedOrgByStaffIdResponseBody = exports.ListOwnedOrgByStaffIdRequest = exports.ListOwnedOrgByStaffIdHeaders = exports.ListManagementGroupsResponse = exports.ListManagementGroupsResponseBody = exports.ListManagementGroupsRequest = exports.ListManagementGroupsHeaders = exports.ListEmpLeaveRecordsResponse = exports.ListEmpLeaveRecordsResponseBody = exports.ListEmpLeaveRecordsRequest = exports.ListEmpLeaveRecordsHeaders = exports.ListEmpAttributeVisibilityResponse = exports.ListEmpAttributeVisibilityResponseBody = exports.ListEmpAttributeVisibilityRequest = exports.ListEmpAttributeVisibilityHeaders = exports.ListContactRestrictSettingResponse = exports.ListContactRestrictSettingResponseBody = exports.ListContactRestrictSettingRequest = exports.ListContactRestrictSettingHeaders = exports.ListContactHideSettingsResponse = exports.ListContactHideSettingsResponseBody = exports.ListContactHideSettingsRequest = exports.ListContactHideSettingsHeaders = exports.ListBasicRoleInPageResponse = exports.ListBasicRoleInPageResponseBody = exports.ListBasicRoleInPageRequest = exports.ListBasicRoleInPageHeaders = void 0;
exports.SetDisableResponseBody = exports.SetDisableRequest = exports.SetDisableHeaders = exports.SeparateBranchOrgResponse = exports.SeparateBranchOrgResponseBody = exports.SeparateBranchOrgRequest = exports.SeparateBranchOrgHeaders = exports.SearchUserResponse = exports.SearchUserResponseBody = exports.SearchUserRequest = exports.SearchUserHeaders = exports.SearchDepartmentResponse = exports.SearchDepartmentResponseBody = exports.SearchDepartmentRequest = exports.SearchDepartmentHeaders = exports.RecallTeamInviteResponse = exports.RecallTeamInviteRequest = exports.RecallTeamInviteHeaders = exports.QueryVerifyResultResponse = exports.QueryVerifyResultResponseBody = exports.QueryVerifyResultRequest = exports.QueryVerifyResultHeaders = exports.QueryUserManagementResourcesResponse = exports.QueryUserManagementResourcesResponseBody = exports.QueryUserManagementResourcesHeaders = exports.QueryStatusResponse = exports.QueryStatusResponseBody = exports.QueryStatusRequest = exports.QueryStatusHeaders = exports.QueryResourceManagementMembersResponse = exports.QueryResourceManagementMembersResponseBody = exports.QueryResourceManagementMembersHeaders = exports.QueryCorpUserStatisticResponse = exports.QueryCorpUserStatisticResponseBody = exports.QueryCorpUserStatisticRequest = exports.QueryCorpUserStatisticHeaders = exports.QueryCorpStatisticDataResponse = exports.QueryCorpStatisticDataResponseBody = exports.QueryCorpStatisticDataRequest = exports.QueryCorpStatisticDataHeaders = exports.QueryCardVisitorStatisticDataResponse = exports.QueryCardVisitorStatisticDataResponseBody = exports.QueryCardVisitorStatisticDataRequest = exports.QueryCardVisitorStatisticDataHeaders = exports.PushVerifyEventResponse = exports.PushVerifyEventResponseBody = exports.PushVerifyEventRequest = exports.PushVerifyEventHeaders = exports.OrgInfoResponse = exports.OrgInfoResponseBody = void 0;
exports.UpdateEmpAttributeHideBySceneSettingHeaders = exports.UpdateEmpAttrbuteVisibilitySettingResponse = exports.UpdateEmpAttrbuteVisibilitySettingResponseBody = exports.UpdateEmpAttrbuteVisibilitySettingRequest = exports.UpdateEmpAttrbuteVisibilitySettingHeaders = exports.UpdateDeptSettngTailFirstResponse = exports.UpdateDeptSettngTailFirstRequest = exports.UpdateDeptSettngTailFirstHeaders = exports.UpdateContactRestrictSettingResponse = exports.UpdateContactRestrictSettingResponseBody = exports.UpdateContactRestrictSettingRequest = exports.UpdateContactRestrictSettingHeaders = exports.UpdateContactHideSettingResponse = exports.UpdateContactHideSettingResponseBody = exports.UpdateContactHideSettingRequest = exports.UpdateContactHideSettingHeaders = exports.UpdateContactHideBySceneSettingResponse = exports.UpdateContactHideBySceneSettingResponseBody = exports.UpdateContactHideBySceneSettingRequest = exports.UpdateContactHideBySceneSettingHeaders = exports.UpdateBranchVisibleSettingInCooperateResponse = exports.UpdateBranchVisibleSettingInCooperateRequest = exports.UpdateBranchVisibleSettingInCooperateHeaders = exports.UpdateBranchAttributesInCooperateResponse = exports.UpdateBranchAttributesInCooperateRequest = exports.UpdateBranchAttributesInCooperateHeaders = exports.UniqueQueryUserCardResponse = exports.UniqueQueryUserCardResponseBody = exports.UniqueQueryUserCardRequest = exports.UniqueQueryUserCardHeaders = exports.TranslateFileResponse = exports.TranslateFileResponseBody = exports.TranslateFileRequest = exports.TranslateFileHeaders = exports.TransformToExclusiveAccountResponse = exports.TransformToExclusiveAccountRequest = exports.TransformToExclusiveAccountHeaders = exports.SortUserResponse = exports.SortUserResponseBody = exports.SortUserRequest = exports.SortUserHeaders = exports.SignOutResponse = exports.SignOutResponseBody = exports.SignOutRequest = exports.SignOutHeaders = exports.SetEnableResponse = exports.SetEnableResponseBody = exports.SetEnableRequest = exports.SetEnableHeaders = exports.SetDisableResponse = void 0;
exports.GetContactHideBySceneSettingResponseBodySearchSceneConfig = exports.GetContactHideBySceneSettingResponseBodyProfileSceneConfig = exports.GetContactHideBySceneSettingResponseBodyNodeListSceneConfig = exports.GetCardInfoResponseBodyExtension = exports.GetCardInfoResponseBodyExtensionCardContactInfo = exports.GetCardInfoResponseBodyExtensionCardContactInfoWorkPhone = exports.GetCardInfoResponseBodyExtensionCardContactInfoTelephone = exports.GetCardInfoResponseBodyExtensionCardContactInfoLink = exports.GetCardInfoResponseBodyExtensionCardContactInfoEmail = exports.GetCardInfoResponseBodyExtensionCardContactInfoAddress = exports.GetCardInfoResponseBodyExtensionCardContactInfoAddressArea = exports.GetBranchAuthDataResponseBodyResult = exports.GetAccountMappingResponseBodyResult = exports.CreateSecondaryManagementGroupRequestScope = exports.CreateSecondaryManagementGroupRequestMembers = exports.CreateManagementGroupRequestScope = exports.CreateManagementGroupRequestMembers = exports.BatchUpdateExternalTitleResponseBodyResult = exports.BatchUpdateExternalTitleResponseBodyResultModifyList = exports.BatchUpdateExternalTitleResponseBodyResultFailedList = exports.BatchUpdateExternalTitleRequestUpdateTitleModelList = exports.BatchApproveUnionApplyRequestBody = exports.AddEmpAttributeHideBySceneSettingRequestSearchSceneConfig = exports.AddEmpAttributeHideBySceneSettingRequestProfileSceneConfig = exports.AddEmpAttributeHideBySceneSettingRequestChatSubtitleConfig = exports.AddContactHideBySceneSettingRequestSearchSceneConfig = exports.AddContactHideBySceneSettingRequestProfileSceneConfig = exports.AddContactHideBySceneSettingRequestNodeListSceneConfig = exports.UserProfileResponse = exports.UserProfileResponseBody = exports.UserProfileShrinkRequest = exports.UserProfileRequest = exports.UserProfileHeaders = exports.UpdateUserOwnnessResponse = exports.UpdateUserOwnnessResponseBody = exports.UpdateUserOwnnessRequest = exports.UpdateUserOwnnessHeaders = exports.UpdateTitleAuditStatusResponse = exports.UpdateTitleAuditStatusResponseBody = exports.UpdateTitleAuditStatusRequest = exports.UpdateTitleAuditStatusHeaders = exports.UpdateSeniorSettingResponse = exports.UpdateSeniorSettingRequest = exports.UpdateSeniorSettingHeaders = exports.UpdateManagementGroupResponse = exports.UpdateManagementGroupRequest = exports.UpdateManagementGroupHeaders = exports.UpdateEmpAttributeHideBySceneSettingResponse = exports.UpdateEmpAttributeHideBySceneSettingResponseBody = exports.UpdateEmpAttributeHideBySceneSettingRequest = void 0;
exports.UserProfileResponseBodyResult = exports.UpdateManagementGroupRequestScope = exports.UpdateManagementGroupRequestMembers = exports.UpdateEmpAttributeHideBySceneSettingRequestSearchSceneConfig = exports.UpdateEmpAttributeHideBySceneSettingRequestProfileSceneConfig = exports.UpdateEmpAttributeHideBySceneSettingRequestChatSubtitleConfig = exports.UpdateContactHideBySceneSettingRequestSearchSceneConfig = exports.UpdateContactHideBySceneSettingRequestProfileSceneConfig = exports.UpdateContactHideBySceneSettingRequestNodeListSceneConfig = exports.UpdateBranchVisibleSettingInCooperateRequestBody = exports.UpdateBranchAttributesInCooperateRequestBody = exports.QueryResourceManagementMembersResponseBodyMembers = exports.QueryCorpUserStatisticResponseBodyList = exports.QueryCorpStatisticDataResponseBodyResult = exports.OrgInfoResponseBodyResult = exports.ListSeniorSettingsResponseBodySeniorWhiteList = exports.ListOwnedOrgByStaffIdResponseBodyOrgList = exports.ListManagementGroupsResponseBodyGroups = exports.ListManagementGroupsResponseBodyGroupsScope = exports.ListManagementGroupsResponseBodyGroupsMembers = exports.ListEmpLeaveRecordsResponseBodyRecords = exports.ListEmpAttributeVisibilityResponseBodyList = exports.ListContactRestrictSettingResponseBodyList = exports.ListContactHideSettingsResponseBodyList = exports.ListBasicRoleInPageResponseBodyList = exports.ListBasicRoleInPageResponseBodyListOpenMembers = exports.ListBasicRoleInPageResponseBodyListOpenAction = exports.ListBasicRoleInPageResponseBodyListOpenActionOpenCondition = exports.ListBasicRoleInPageResponseBodyListOpenActionOpenConditionOpenContactScope = exports.GetUserCardHolderListResponseBodyList = exports.GetEmpAttributeHideBySceneSettingResponseBodySearchSceneConfig = exports.GetEmpAttributeHideBySceneSettingResponseBodyProfileSceneConfig = exports.GetEmpAttributeHideBySceneSettingResponseBodyChatSubtitleConfig = 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 AddAccountMappingHeaders 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.AddAccountMappingHeaders = AddAccountMappingHeaders;
class AddAccountMappingRequest extends $tea.Model {
    static names() {
        return {
            domain: 'domain',
            extension: 'extension',
            outId: 'outId',
            outTenantId: 'outTenantId',
            userId: 'userId',
        };
    }
    static types() {
        return {
            domain: 'string',
            extension: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            outId: 'string',
            outTenantId: 'string',
            userId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.AddAccountMappingRequest = AddAccountMappingRequest;
class AddAccountMappingResponseBody extends $tea.Model {
    static names() {
        return {
            result: 'result',
        };
    }
    static types() {
        return {
            result: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.AddAccountMappingResponseBody = AddAccountMappingResponseBody;
class AddAccountMappingResponse 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: AddAccountMappingResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.AddAccountMappingResponse = AddAccountMappingResponse;
class AddContactHideBySceneSettingHeaders 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.AddContactHideBySceneSettingHeaders = AddContactHideBySceneSettingHeaders;
class AddContactHideBySceneSettingRequest extends $tea.Model {
    static names() {
        return {
            description: 'description',
            excludeDeptIds: 'excludeDeptIds',
            excludeTagIds: 'excludeTagIds',
            excludeUserIds: 'excludeUserIds',
            name: 'name',
            nodeListSceneConfig: 'nodeListSceneConfig',
            objectDeptIds: 'objectDeptIds',
            objectTagIds: 'objectTagIds',
            objectUserIds: 'objectUserIds',
            profileSceneConfig: 'profileSceneConfig',
            searchSceneConfig: 'searchSceneConfig',
        };
    }
    static types() {
        return {
            description: 'string',
            excludeDeptIds: { 'type': 'array', 'itemType': 'number' },
            excludeTagIds: { 'type': 'array', 'itemType': 'number' },
            excludeUserIds: { 'type': 'array', 'itemType': 'string' },
            name: 'string',
            nodeListSceneConfig: AddContactHideBySceneSettingRequestNodeListSceneConfig,
            objectDeptIds: { 'type': 'array', 'itemType': 'number' },
            objectTagIds: { 'type': 'array', 'itemType': 'number' },
            objectUserIds: { 'type': 'array', 'itemType': 'string' },
            profileSceneConfig: AddContactHideBySceneSettingRequestProfileSceneConfig,
            searchSceneConfig: AddContactHideBySceneSettingRequestSearchSceneConfig,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.AddContactHideBySceneSettingRequest = AddContactHideBySceneSettingRequest;
class AddContactHideBySceneSettingResponseBody extends $tea.Model {
    static names() {
        return {
            settingId: 'settingId',
        };
    }
    static types() {
        return {
            settingId: 'number',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.AddContactHideBySceneSettingResponseBody = AddContactHideBySceneSettingResponseBody;
class AddContactHideBySceneSettingResponse 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: AddContactHideBySceneSettingResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.AddContactHideBySceneSettingResponse = AddContactHideBySceneSettingResponse;
class AddEmpAttributeHideBySceneSettingHeaders 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.AddEmpAttributeHideBySceneSettingHeaders = AddEmpAttributeHideBySceneSettingHeaders;
class AddEmpAttributeHideBySceneSettingRequest extends $tea.Model {
    static names() {
        return {
            chatSubtitleConfig: 'chatSubtitleConfig',
            description: 'description',
            excludeDeptIds: 'excludeDeptIds',
            excludeTagIds: 'excludeTagIds',
            excludeUserIds: 'excludeUserIds',
            hideFields: 'hideFields',
            name: 'name',
            objectDeptIds: 'objectDeptIds',
            objectTagIds: 'objectTagIds',
            objectUserIds: 'objectUserIds',
            profileSceneConfig: 'profileSceneConfig',
            searchSceneConfig: 'searchSceneConfig',
        };
    }
    static types() {
        return {
            chatSubtitleConfig: AddEmpAttributeHideBySceneSettingRequestChatSubtitleConfig,
            description: 'string',
            excludeDeptIds: { 'type': 'array', 'itemType': 'number' },
            excludeTagIds: { 'type': 'array', 'itemType': 'number' },
            excludeUserIds: { 'type': 'array', 'itemType': 'string' },
            hideFields: { 'type': 'array', 'itemType': 'string' },
            name: 'string',
            objectDeptIds: { 'type': 'array', 'itemType': 'number' },
            objectTagIds: { 'type': 'array', 'itemType': 'number' },
            objectUserIds: { 'type': 'array', 'itemType': 'string' },
            profileSceneConfig: AddEmpAttributeHideBySceneSettingRequestProfileSceneConfig,
            searchSceneConfig: AddEmpAttributeHideBySceneSettingRequestSearchSceneConfig,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.AddEmpAttributeHideBySceneSettingRequest = AddEmpAttributeHideBySceneSettingRequest;
class AddEmpAttributeHideBySceneSettingResponseBody extends $tea.Model {
    static names() {
        return {
            settingId: 'settingId',
        };
    }
    static types() {
        return {
            settingId: 'number',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.AddEmpAttributeHideBySceneSettingResponseBody = AddEmpAttributeHideBySceneSettingResponseBody;
class AddEmpAttributeHideBySceneSettingResponse 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: AddEmpAttributeHideBySceneSettingResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.AddEmpAttributeHideBySceneSettingResponse = AddEmpAttributeHideBySceneSettingResponse;
class AddOrgAccountOwnnessHeaders 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.AddOrgAccountOwnnessHeaders = AddOrgAccountOwnnessHeaders;
class AddOrgAccountOwnnessRequest extends $tea.Model {
    static names() {
        return {
            endTime: 'endTime',
            ownenssType: 'ownenssType',
            ownnessId: 'ownnessId',
            startTime: 'startTime',
            text: 'text',
            userId: 'userId',
        };
    }
    static types() {
        return {
            endTime: 'number',
            ownenssType: 'number',
            ownnessId: 'number',
            startTime: 'number',
            text: 'string',
            userId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.AddOrgAccountOwnnessRequest = AddOrgAccountOwnnessRequest;
class AddOrgAccountOwnnessResponseBody extends $tea.Model {
    static names() {
        return {
            result: 'result',
        };
    }
    static types() {
        return {
            result: 'number',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.AddOrgAccountOwnnessResponseBody = AddOrgAccountOwnnessResponseBody;
class AddOrgAccountOwnnessResponse 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: AddOrgAccountOwnnessResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.AddOrgAccountOwnnessResponse = AddOrgAccountOwnnessResponse;
class AnnualCertificationAuditHeaders 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.AnnualCertificationAuditHeaders = AnnualCertificationAuditHeaders;
class AnnualCertificationAuditRequest extends $tea.Model {
    static names() {
        return {
            applicantMobile: 'applicantMobile',
            applicantName: 'applicantName',
            applicationLetter: 'applicationLetter',
            authStatus: 'authStatus',
            certificateType: 'certificateType',
            corpName: 'corpName',
            depositaryBank: 'depositaryBank',
            extension: 'extension',
            legalPerson: 'legalPerson',
            licenseNumber: 'licenseNumber',
            licenseUrl: 'licenseUrl',
            orderId: 'orderId',
            publicAccount: 'publicAccount',
            reasonCode: 'reasonCode',
            reasonMsg: 'reasonMsg',
            tag: 'tag',
        };
    }
    static types() {
        return {
            applicantMobile: 'string',
            applicantName: 'string',
            applicationLetter: 'string',
            authStatus: 'number',
            certificateType: 'number',
            corpName: 'string',
            depositaryBank: 'string',
            extension: 'string',
            legalPerson: 'string',
            licenseNumber: 'string',
            licenseUrl: 'string',
            orderId: 'string',
            publicAccount: 'string',
            reasonCode: 'string',
            reasonMsg: 'string',
            tag: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.AnnualCertificationAuditRequest = AnnualCertificationAuditRequest;
class AnnualCertificationAuditResponseBody extends $tea.Model {
    static names() {
        return {
            result: 'result',
        };
    }
    static types() {
        return {
            result: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.AnnualCertificationAuditResponseBody = AnnualCertificationAuditResponseBody;
class AnnualCertificationAuditResponse 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: AnnualCertificationAuditResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.AnnualCertificationAuditResponse = AnnualCertificationAuditResponse;
class BatchApproveUnionApplyHeaders 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.BatchApproveUnionApplyHeaders = BatchApproveUnionApplyHeaders;
class BatchApproveUnionApplyRequest extends $tea.Model {
    static names() {
        return {
            body: 'body',
        };
    }
    static types() {
        return {
            body: { 'type': 'array', 'itemType': BatchApproveUnionApplyRequestBody },
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.BatchApproveUnionApplyRequest = BatchApproveUnionApplyRequest;
class BatchApproveUnionApplyResponseBody extends $tea.Model {
    static names() {
        return {
            result: 'result',
        };
    }
    static types() {
        return {
            result: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.BatchApproveUnionApplyResponseBody = BatchApproveUnionApplyResponseBody;
class BatchApproveUnionApplyResponse 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: BatchApproveUnionApplyResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.BatchApproveUnionApplyResponse = BatchApproveUnionApplyResponse;
class BatchUpdateExternalTitleHeaders 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.BatchUpdateExternalTitleHeaders = BatchUpdateExternalTitleHeaders;
class BatchUpdateExternalTitleRequest extends $tea.Model {
    static names() {
        return {
            operatorUserId: 'operatorUserId',
            updateTitleModelList: 'updateTitleModelList',
        };
    }
    static types() {
        return {
            operatorUserId: 'string',
            updateTitleModelList: { 'type': 'array', 'itemType': BatchUpdateExternalTitleRequestUpdateTitleModelList },
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.BatchUpdateExternalTitleRequest = BatchUpdateExternalTitleRequest;
class BatchUpdateExternalTitleResponseBody extends $tea.Model {
    static names() {
        return {
            result: 'result',
            success: 'success',
        };
    }
    static types() {
        return {
            result: BatchUpdateExternalTitleResponseBodyResult,
            success: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.BatchUpdateExternalTitleResponseBody = BatchUpdateExternalTitleResponseBody;
class BatchUpdateExternalTitleResponse 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: BatchUpdateExternalTitleResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.BatchUpdateExternalTitleResponse = BatchUpdateExternalTitleResponse;
class ChangeDingTalkIdHeaders 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.ChangeDingTalkIdHeaders = ChangeDingTalkIdHeaders;
class ChangeDingTalkIdRequest extends $tea.Model {
    static names() {
        return {
            dingTalkId: 'dingTalkId',
            userId: 'userId',
        };
    }
    static types() {
        return {
            dingTalkId: 'string',
            userId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.ChangeDingTalkIdRequest = ChangeDingTalkIdRequest;
class ChangeDingTalkIdResponseBody extends $tea.Model {
    static names() {
        return {
            result: 'result',
        };
    }
    static types() {
        return {
            result: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.ChangeDingTalkIdResponseBody = ChangeDingTalkIdResponseBody;
class ChangeDingTalkIdResponse 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: ChangeDingTalkIdResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.ChangeDingTalkIdResponse = ChangeDingTalkIdResponse;
class ChangeMainAdminHeaders 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.ChangeMainAdminHeaders = ChangeMainAdminHeaders;
class ChangeMainAdminRequest extends $tea.Model {
    static names() {
        return {
            effectCorpId: 'effectCorpId',
            sourceUserId: 'sourceUserId',
            targetUserId: 'targetUserId',
        };
    }
    static types() {
        return {
            effectCorpId: 'string',
            sourceUserId: 'string',
            targetUserId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.ChangeMainAdminRequest = ChangeMainAdminRequest;
class ChangeMainAdminResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.ChangeMainAdminResponse = ChangeMainAdminResponse;
class CourseFinishCourseHeaders 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.CourseFinishCourseHeaders = CourseFinishCourseHeaders;
class CourseFinishCourseRequest extends $tea.Model {
    static names() {
        return {
            certId: 'certId',
            certMediaBase64: 'certMediaBase64',
            courseId: 'courseId',
            status: 'status',
            userId: 'userId',
        };
    }
    static types() {
        return {
            certId: 'string',
            certMediaBase64: 'string',
            courseId: 'string',
            status: 'string',
            userId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.CourseFinishCourseRequest = CourseFinishCourseRequest;
class CourseFinishCourseResponseBody extends $tea.Model {
    static names() {
        return {
            result: 'result',
        };
    }
    static types() {
        return {
            result: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.CourseFinishCourseResponseBody = CourseFinishCourseResponseBody;
class CourseFinishCourseResponse 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: CourseFinishCourseResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.CourseFinishCourseResponse = CourseFinishCourseResponse;
class CreateCooperateOrgHeaders 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.CreateCooperateOrgHeaders = CreateCooperateOrgHeaders;
class CreateCooperateOrgRequest extends $tea.Model {
    static names() {
        return {
            industryCode: 'industryCode',
            logoMediaId: 'logoMediaId',
            orgName: 'orgName',
        };
    }
    static types() {
        return {
            industryCode: 'number',
            logoMediaId: 'string',
            orgName: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.CreateCooperateOrgRequest = CreateCooperateOrgRequest;
class CreateCooperateOrgResponseBody extends $tea.Model {
    static names() {
        return {
            cooperateCorpId: 'cooperateCorpId',
        };
    }
    static types() {
        return {
            cooperateCorpId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.CreateCooperateOrgResponseBody = CreateCooperateOrgResponseBody;
class CreateCooperateOrgResponse 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: CreateCooperateOrgResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.CreateCooperateOrgResponse = CreateCooperateOrgResponse;
class CreateManagementGroupHeaders 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.CreateManagementGroupHeaders = CreateManagementGroupHeaders;
class CreateManagementGroupRequest extends $tea.Model {
    static names() {
        return {
            groupName: 'groupName',
            members: 'members',
            resourceIds: 'resourceIds',
            scope: 'scope',
        };
    }
    static types() {
        return {
            groupName: 'string',
            members: { 'type': 'array', 'itemType': CreateManagementGroupRequestMembers },
            resourceIds: { 'type': 'array', 'itemType': 'string' },
            scope: CreateManagementGroupRequestScope,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.CreateManagementGroupRequest = CreateManagementGroupRequest;
class CreateManagementGroupResponseBody extends $tea.Model {
    static names() {
        return {
            groupId: 'groupId',
        };
    }
    static types() {
        return {
            groupId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.CreateManagementGroupResponseBody = CreateManagementGroupResponseBody;
class CreateManagementGroupResponse 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: CreateManagementGroupResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.CreateManagementGroupResponse = CreateManagementGroupResponse;
class CreateSecondaryManagementGroupHeaders 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.CreateSecondaryManagementGroupHeaders = CreateSecondaryManagementGroupHeaders;
class CreateSecondaryManagementGroupRequest extends $tea.Model {
    static names() {
        return {
            groupName: 'groupName',
            members: 'members',
            resourceIds: 'resourceIds',
            scope: 'scope',
            userId: 'userId',
        };
    }
    static types() {
        return {
            groupName: 'string',
            members: { 'type': 'array', 'itemType': CreateSecondaryManagementGroupRequestMembers },
            resourceIds: { 'type': 'array', 'itemType': 'string' },
            scope: CreateSecondaryManagementGroupRequestScope,
            userId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.CreateSecondaryManagementGroupRequest = CreateSecondaryManagementGroupRequest;
class CreateSecondaryManagementGroupResponseBody extends $tea.Model {
    static names() {
        return {
            groupId: 'groupId',
        };
    }
    static types() {
        return {
            groupId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.CreateSecondaryManagementGroupResponseBody = CreateSecondaryManagementGroupResponseBody;
class CreateSecondaryManagementGroupResponse 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: CreateSecondaryManagementGroupResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.CreateSecondaryManagementGroupResponse = CreateSecondaryManagementGroupResponse;
class DelAccountMappingHeaders 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.DelAccountMappingHeaders = DelAccountMappingHeaders;
class DelAccountMappingRequest extends $tea.Model {
    static names() {
        return {
            domain: 'domain',
            userId: 'userId',
        };
    }
    static types() {
        return {
            domain: 'string',
            userId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.DelAccountMappingRequest = DelAccountMappingRequest;
class DelAccountMappingResponseBody extends $tea.Model {
    static names() {
        return {
            result: 'result',
        };
    }
    static types() {
        return {
            result: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.DelAccountMappingResponseBody = DelAccountMappingResponseBody;
class DelAccountMappingResponse 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: DelAccountMappingResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.DelAccountMappingResponse = DelAccountMappingResponse;
class DelOrgAccUserOwnnessHeaders 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.DelOrgAccUserOwnnessHeaders = DelOrgAccUserOwnnessHeaders;
class DelOrgAccUserOwnnessRequest extends $tea.Model {
    static names() {
        return {
            ownenssType: 'ownenssType',
            ownnessId: 'ownnessId',
            userId: 'userId',
        };
    }
    static types() {
        return {
            ownenssType: 'number',
            ownnessId: 'number',
            userId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.DelOrgAccUserOwnnessRequest = DelOrgAccUserOwnnessRequest;
class DelOrgAccUserOwnnessResponseBody extends $tea.Model {
    static names() {
        return {
            result: 'result',
        };
    }
    static types() {
        return {
            result: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.DelOrgAccUserOwnnessResponseBody = DelOrgAccUserOwnnessResponseBody;
class DelOrgAccUserOwnnessResponse 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: DelOrgAccUserOwnnessResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.DelOrgAccUserOwnnessResponse = DelOrgAccUserOwnnessResponse;
class DeleteContactHideBySceneSettingHeaders 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.DeleteContactHideBySceneSettingHeaders = DeleteContactHideBySceneSettingHeaders;
class DeleteContactHideBySceneSettingResponseBody extends $tea.Model {
    static names() {
        return {
            success: 'success',
        };
    }
    static types() {
        return {
            success: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.DeleteContactHideBySceneSettingResponseBody = DeleteContactHideBySceneSettingResponseBody;
class DeleteContactHideBySceneSettingResponse 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: DeleteContactHideBySceneSettingResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.DeleteContactHideBySceneSettingResponse = DeleteContactHideBySceneSettingResponse;
class DeleteContactHideSettingHeaders 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.DeleteContactHideSettingHeaders = DeleteContactHideSettingHeaders;
class DeleteContactHideSettingResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.DeleteContactHideSettingResponse = DeleteContactHideSettingResponse;
class DeleteContactRestrictSettingHeaders 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.DeleteContactRestrictSettingHeaders = DeleteContactRestrictSettingHeaders;
class DeleteContactRestrictSettingResponseBody extends $tea.Model {
    static names() {
        return {
            result: 'result',
        };
    }
    static types() {
        return {
            result: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.DeleteContactRestrictSettingResponseBody = DeleteContactRestrictSettingResponseBody;
class DeleteContactRestrictSettingResponse 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: DeleteContactRestrictSettingResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.DeleteContactRestrictSettingResponse = DeleteContactRestrictSettingResponse;
class DeleteEmpAttributeHideBySceneSettingHeaders 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.DeleteEmpAttributeHideBySceneSettingHeaders = DeleteEmpAttributeHideBySceneSettingHeaders;
class DeleteEmpAttributeHideBySceneSettingResponseBody extends $tea.Model {
    static names() {
        return {
            success: 'success',
        };
    }
    static types() {
        return {
            success: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.DeleteEmpAttributeHideBySceneSettingResponseBody = DeleteEmpAttributeHideBySceneSettingResponseBody;
class DeleteEmpAttributeHideBySceneSettingResponse 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: DeleteEmpAttributeHideBySceneSettingResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.DeleteEmpAttributeHideBySceneSettingResponse = DeleteEmpAttributeHideBySceneSettingResponse;
class DeleteEmpAttributeVisibilityHeaders 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.DeleteEmpAttributeVisibilityHeaders = DeleteEmpAttributeVisibilityHeaders;
class DeleteEmpAttributeVisibilityResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.DeleteEmpAttributeVisibilityResponse = DeleteEmpAttributeVisibilityResponse;
class DeleteManagementGroupHeaders 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.DeleteManagementGroupHeaders = DeleteManagementGroupHeaders;
class DeleteManagementGroupResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.DeleteManagementGroupResponse = DeleteManagementGroupResponse;
class GetAccountMappingHeaders 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.GetAccountMappingHeaders = GetAccountMappingHeaders;
class GetAccountMappingRequest extends $tea.Model {
    static names() {
        return {
            domain: 'domain',
            userId: 'userId',
        };
    }
    static types() {
        return {
            domain: 'string',
            userId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetAccountMappingRequest = GetAccountMappingRequest;
class GetAccountMappingResponseBody extends $tea.Model {
    static names() {
        return {
            result: 'result',
        };
    }
    static types() {
        return {
            result: GetAccountMappingResponseBodyResult,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetAccountMappingResponseBody = GetAccountMappingResponseBody;
class GetAccountMappingResponse 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: GetAccountMappingResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetAccountMappingResponse = GetAccountMappingResponse;
class GetApplyInviteInfoHeaders 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.GetApplyInviteInfoHeaders = GetApplyInviteInfoHeaders;
class GetApplyInviteInfoRequest extends $tea.Model {
    static names() {
        return {
            deptId: 'deptId',
            inviterUserId: 'inviterUserId',
        };
    }
    static types() {
        return {
            deptId: 'number',
            inviterUserId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetApplyInviteInfoRequest = GetApplyInviteInfoRequest;
class GetApplyInviteInfoResponseBody extends $tea.Model {
    static names() {
        return {
            auditType: 'auditType',
            empApplyJoinDept: 'empApplyJoinDept',
            inviteSwitch: 'inviteSwitch',
            inviteUrl: 'inviteUrl',
            linkInvite: 'linkInvite',
            orgApplyCodeInvite: 'orgApplyCodeInvite',
            searchNameInvite: 'searchNameInvite',
        };
    }
    static types() {
        return {
            auditType: 'number',
            empApplyJoinDept: 'boolean',
            inviteSwitch: 'boolean',
            inviteUrl: 'string',
            linkInvite: 'boolean',
            orgApplyCodeInvite: 'boolean',
            searchNameInvite: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetApplyInviteInfoResponseBody = GetApplyInviteInfoResponseBody;
class GetApplyInviteInfoResponse 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: GetApplyInviteInfoResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetApplyInviteInfoResponse = GetApplyInviteInfoResponse;
class GetBranchAuthDataHeaders 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.GetBranchAuthDataHeaders = GetBranchAuthDataHeaders;
class GetBranchAuthDataRequest extends $tea.Model {
    static names() {
        return {
            body: 'body',
            branchCorpId: 'branchCorpId',
            code: 'code',
        };
    }
    static types() {
        return {
            body: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            branchCorpId: 'string',
            code: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetBranchAuthDataRequest = GetBranchAuthDataRequest;
class GetBranchAuthDataResponseBody extends $tea.Model {
    static names() {
        return {
            result: 'result',
        };
    }
    static types() {
        return {
            result: { 'type': 'array', 'itemType': GetBranchAuthDataResponseBodyResult },
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetBranchAuthDataResponseBody = GetBranchAuthDataResponseBody;
class GetBranchAuthDataResponse 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: GetBranchAuthDataResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetBranchAuthDataResponse = GetBranchAuthDataResponse;
class GetCardInUserHolderHeaders 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.GetCardInUserHolderHeaders = GetCardInUserHolderHeaders;
class GetCardInUserHolderResponseBody extends $tea.Model {
    static names() {
        return {
            avatarUrl: 'avatarUrl',
            cardAcceptStatus: 'cardAcceptStatus',
            cardAcceptTimeLong: 'cardAcceptTimeLong',
            cardId: 'cardId',
            cardSource: 'cardSource',
            extension: 'extension',
            industryName: 'industryName',
            introduce: 'introduce',
            name: 'name',
            orgName: 'orgName',
            templateId: 'templateId',
            title: 'title',
        };
    }
    static types() {
        return {
            avatarUrl: 'string',
            cardAcceptStatus: 'number',
            cardAcceptTimeLong: 'number',
            cardId: 'string',
            cardSource: 'number',
            extension: { 'type': 'map', 'keyType': 'string', 'valueType': 'any' },
            industryName: 'string',
            introduce: 'string',
            name: 'string',
            orgName: 'string',
            templateId: 'string',
            title: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetCardInUserHolderResponseBody = GetCardInUserHolderResponseBody;
class GetCardInUserHolderResponse 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: GetCardInUserHolderResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetCardInUserHolderResponse = GetCardInUserHolderResponse;
class GetCardInfoHeaders 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.GetCardInfoHeaders = GetCardInfoHeaders;
class GetCardInfoResponseBody extends $tea.Model {
    static names() {
        return {
            adminRole: 'adminRole',
            avatarUrl: 'avatarUrl',
            cardId: 'cardId',
            extension: 'extension',
            industryName: 'industryName',
            introduce: 'introduce',
            name: 'name',
            orgName: 'orgName',
            settings: 'settings',
            templateId: 'templateId',
            title: 'title',
        };
    }
    static types() {
        return {
            adminRole: 'number',
            avatarUrl: 'string',
            cardId: 'string',
            extension: GetCardInfoResponseBodyExtension,
            industryName: 'string',
            introduce: { 'type': 'map', 'keyType': 'string', 'valueType': 'any' },
            name: 'string',
            orgName: 'string',
            settings: { 'type': 'map', 'keyType': 'string', 'valueType': 'any' },
            templateId: 'string',
            title: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetCardInfoResponseBody = GetCardInfoResponseBody;
class GetCardInfoResponse 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: GetCardInfoResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetCardInfoResponse = GetCardInfoResponse;
class GetContactHideBySceneSettingHeaders 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.GetContactHideBySceneSettingHeaders = GetContactHideBySceneSettingHeaders;
class GetContactHideBySceneSettingResponseBody extends $tea.Model {
    static names() {
        return {
            description: 'description',
            excludeDeptIds: 'excludeDeptIds',
            excludeTagIds: 'excludeTagIds',
            excludeUserIds: 'excludeUserIds',
            id: 'id',
            name: 'name',
            nodeListSceneConfig: 'nodeListSceneConfig',
            objectDeptIds: 'objectDeptIds',
            objectTagIds: 'objectTagIds',
            objectUserIds: 'objectUserIds',
            profileSceneConfig: 'profileSceneConfig',
            searchSceneConfig: 'searchSceneConfig',
        };
    }
    static types() {
        return {
            description: 'string',
            excludeDeptIds: { 'type': 'array', 'itemType': 'number' },
            excludeTagIds: { 'type': 'array', 'itemType': 'number' },
            excludeUserIds: { 'type': 'array', 'itemType': 'string' },
            id: 'number',
            name: 'string',
            nodeListSceneConfig: GetContactHideBySceneSettingResponseBodyNodeListSceneConfig,
            objectDeptIds: { 'type': 'array', 'itemType': 'number' },
            objectTagIds: { 'type': 'array', 'itemType': 'number' },
            objectUserIds: { 'type': 'array', 'itemType': 'string' },
            profileSceneConfig: GetContactHideBySceneSettingResponseBodyProfileSceneConfig,
            searchSceneConfig: GetContactHideBySceneSettingResponseBodySearchSceneConfig,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetContactHideBySceneSettingResponseBody = GetContactHideBySceneSettingResponseBody;
class GetContactHideBySceneSettingResponse 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: GetContactHideBySceneSettingResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetContactHideBySceneSettingResponse = GetContactHideBySceneSettingResponse;
class GetCooperateOrgInviteInfoHeaders 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.GetCooperateOrgInviteInfoHeaders = GetCooperateOrgInviteInfoHeaders;
class GetCooperateOrgInviteInfoResponseBody extends $tea.Model {
    static names() {
        return {
            inviteUrl: 'inviteUrl',
        };
    }
    static types() {
        return {
            inviteUrl: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetCooperateOrgInviteInfoResponseBody = GetCooperateOrgInviteInfoResponseBody;
class GetCooperateOrgInviteInfoResponse 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: GetCooperateOrgInviteInfoResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetCooperateOrgInviteInfoResponse = GetCooperateOrgInviteInfoResponse;
class GetCorpCardStyleListHeaders 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.GetCorpCardStyleListHeaders = GetCorpCardStyleListHeaders;
class GetCorpCardStyleListResponseBody extends $tea.Model {
    static names() {
        return {
            result: 'result',
        };
    }
    static types() {
        return {
            result: { 'type': 'array', 'itemType': { 'type': 'map', 'keyType': 'string', 'valueType': 'any' } },
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetCorpCardStyleListResponseBody = GetCorpCardStyleListResponseBody;
class GetCorpCardStyleListResponse 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: GetCorpCardStyleListResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetCorpCardStyleListResponse = GetCorpCardStyleListResponse;
class GetDingIdByMigrationDingIdHeaders 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.GetDingIdByMigrationDingIdHeaders = GetDingIdByMigrationDingIdHeaders;
class GetDingIdByMigrationDingIdRequest extends $tea.Model {
    static names() {
        return {
            migrationDingId: 'migrationDingId',
        };
    }
    static types() {
        return {
            migrationDingId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetDingIdByMigrationDingIdRequest = GetDingIdByMigrationDingIdRequest;
class GetDingIdByMigrationDingIdResponseBody extends $tea.Model {
    static names() {
        return {
            dingId: 'dingId',
        };
    }
    static types() {
        return {
            dingId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetDingIdByMigrationDingIdResponseBody = GetDingIdByMigrationDingIdResponseBody;
class GetDingIdByMigrationDingIdResponse 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: GetDingIdByMigrationDingIdResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetDingIdByMigrationDingIdResponse = GetDingIdByMigrationDingIdResponse;
class GetEmpAttributeHideBySceneSettingHeaders 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.GetEmpAttributeHideBySceneSettingHeaders = GetEmpAttributeHideBySceneSettingHeaders;
class GetEmpAttributeHideBySceneSettingResponseBody extends $tea.Model {
    static names() {
        return {
            chatSubtitleConfig: 'chatSubtitleConfig',
            description: 'description',
            excludeDeptIds: 'excludeDeptIds',
            excludeTagIds: 'excludeTagIds',
            excludeUserIds: 'excludeUserIds',
            hideFields: 'hideFields',
            id: 'id',
            name: 'name',
            objectDeptIds: 'objectDeptIds',
            objectTagIds: 'objectTagIds',
            objectUserIds: 'objectUserIds',
            profileSceneConfig: 'profileSceneConfig',
            searchSceneConfig: 'searchSceneConfig',
        };
    }
    static types() {
        return {
            chatSubtitleConfig: GetEmpAttributeHideBySceneSettingResponseBodyChatSubtitleConfig,
            description: 'string',
            excludeDeptIds: { 'type': 'array', 'itemType': 'number' },
            excludeTagIds: { 'type': 'array', 'itemType': 'number' },
            excludeUserIds: { 'type': 'array', 'itemType': 'string' },
            hideFields: { 'type': 'array', 'itemType': 'string' },
            id: 'number',
            name: 'string',
            objectDeptIds: { 'type': 'array', 'itemType': 'number' },
            objectTagIds: { 'type': 'array', 'itemType': 'number' },
            objectUserIds: { 'type': 'array', 'itemType': 'string' },
            profileSceneConfig: GetEmpAttributeHideBySceneSettingResponseBodyProfileSceneConfig,
            searchSceneConfig: GetEmpAttributeHideBySceneSettingResponseBodySearchSceneConfig,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetEmpAttributeHideBySceneSettingResponseBody = GetEmpAttributeHideBySceneSettingResponseBody;
class GetEmpAttributeHideBySceneSettingResponse 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: GetEmpAttributeHideBySceneSettingResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetEmpAttributeHideBySceneSettingResponse = GetEmpAttributeHideBySceneSettingResponse;
class GetLatestDingIndexHeaders 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.GetLatestDingIndexHeaders = GetLatestDingIndexHeaders;
class GetLatestDingIndexResponseBody extends $tea.Model {
    static names() {
        return {
            idxCarbon: 'idxCarbon',
            idxEfficiency: 'idxEfficiency',
            idxMonthlyAvg: 'idxMonthlyAvg',
            idxTotal: 'idxTotal',
            statDate: 'statDate',
        };
    }
    static types() {
        return {
            idxCarbon: 'number',
            idxEfficiency: 'number',
            idxMonthlyAvg: 'number',
            idxTotal: 'number',
            statDate: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetLatestDingIndexResponseBody = GetLatestDingIndexResponseBody;
class GetLatestDingIndexResponse 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: GetLatestDingIndexResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetLatestDingIndexResponse = GetLatestDingIndexResponse;
class GetMigrationDingIdByDingIdHeaders 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.GetMigrationDingIdByDingIdHeaders = GetMigrationDingIdByDingIdHeaders;
class GetMigrationDingIdByDingIdRequest extends $tea.Model {
    static names() {
        return {
            dingId: 'dingId',
        };
    }
    static types() {
        return {
            dingId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetMigrationDingIdByDingIdRequest = GetMigrationDingIdByDingIdRequest;
class GetMigrationDingIdByDingIdResponseBody extends $tea.Model {
    static names() {
        return {
            migrationDingIdList: 'migrationDingIdList',
        };
    }
    static types() {
        return {
            migrationDingIdList: { 'type': 'map', 'keyType': 'string', 'valueType': 'any' },
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetMigrationDingIdByDingIdResponseBody = GetMigrationDingIdByDingIdResponseBody;
class GetMigrationDingIdByDingIdResponse 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: GetMigrationDingIdByDingIdResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetMigrationDingIdByDingIdResponse = GetMigrationDingIdByDingIdResponse;
class GetMigrationUnionIdByUnionIdHeaders 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.GetMigrationUnionIdByUnionIdHeaders = GetMigrationUnionIdByUnionIdHeaders;
class GetMigrationUnionIdByUnionIdRequest extends $tea.Model {
    static names() {
        return {
            unionId: 'unionId',
        };
    }
    static types() {
        return {
            unionId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetMigrationUnionIdByUnionIdRequest = GetMigrationUnionIdByUnionIdRequest;
class GetMigrationUnionIdByUnionIdResponseBody extends $tea.Model {
    static names() {
        return {
            migrationUnionIdList: 'migrationUnionIdList',
        };
    }
    static types() {
        return {
            migrationUnionIdList: { 'type': 'map', 'keyType': 'string', 'valueType': 'any' },
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetMigrationUnionIdByUnionIdResponseBody = GetMigrationUnionIdByUnionIdResponseBody;
class GetMigrationUnionIdByUnionIdResponse 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: GetMigrationUnionIdByUnionIdResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetMigrationUnionIdByUnionIdResponse = GetMigrationUnionIdByUnionIdResponse;
class GetOrgAuthInfoHeaders 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.GetOrgAuthInfoHeaders = GetOrgAuthInfoHeaders;
class GetOrgAuthInfoRequest extends $tea.Model {
    static names() {
        return {
            targetCorpId: 'targetCorpId',
        };
    }
    static types() {
        return {
            targetCorpId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetOrgAuthInfoRequest = GetOrgAuthInfoRequest;
class GetOrgAuthInfoResponseBody extends $tea.Model {
    static names() {
        return {
            authLevel: 'authLevel',
            legalPerson: 'legalPerson',
            licenseOrgName: 'licenseOrgName',
            licenseUrl: 'licenseUrl',
            orgName: 'orgName',
            organizationCode: 'organizationCode',
            registrationNum: 'registrationNum',
            unifiedSocialCredit: 'unifiedSocialCredit',
        };
    }
    static types() {
        return {
            authLevel: 'number',
            legalPerson: 'string',
            licenseOrgName: 'string',
            licenseUrl: 'string',
            orgName: 'string',
            organizationCode: 'string',
            registrationNum: 'string',
            unifiedSocialCredit: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetOrgAuthInfoResponseBody = GetOrgAuthInfoResponseBody;
class GetOrgAuthInfoResponse 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: GetOrgAuthInfoResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetOrgAuthInfoResponse = GetOrgAuthInfoResponse;
class GetTranslateFileJobResultHeaders 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.GetTranslateFileJobResultHeaders = GetTranslateFileJobResultHeaders;
class GetTranslateFileJobResultRequest extends $tea.Model {
    static names() {
        return {
            jobId: 'jobId',
        };
    }
    static types() {
        return {
            jobId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetTranslateFileJobResultRequest = GetTranslateFileJobResultRequest;
class GetTranslateFileJobResultResponseBody extends $tea.Model {
    static names() {
        return {
            status: 'status',
            url: 'url',
        };
    }
    static types() {
        return {
            status: 'string',
            url: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetTranslateFileJobResultResponseBody = GetTranslateFileJobResultResponseBody;
class GetTranslateFileJobResultResponse 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: GetTranslateFileJobResultResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetTranslateFileJobResultResponse = GetTranslateFileJobResultResponse;
class GetUnionIdByMigrationUnionIdHeaders 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.GetUnionIdByMigrationUnionIdHeaders = GetUnionIdByMigrationUnionIdHeaders;
class GetUnionIdByMigrationUnionIdRequest extends $tea.Model {
    static names() {
        return {
            migrationUnionId: 'migrationUnionId',
        };
    }
    static types() {
        return {
            migrationUnionId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetUnionIdByMigrationUnionIdRequest = GetUnionIdByMigrationUnionIdRequest;
class GetUnionIdByMigrationUnionIdResponseBody extends $tea.Model {
    static names() {
        return {
            unionId: 'unionId',
        };
    }
    static types() {
        return {
            unionId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetUnionIdByMigrationUnionIdResponseBody = GetUnionIdByMigrationUnionIdResponseBody;
class GetUnionIdByMigrationUnionIdResponse 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: GetUnionIdByMigrationUnionIdResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetUnionIdByMigrationUnionIdResponse = GetUnionIdByMigrationUnionIdResponse;
class GetUserHeaders 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.GetUserHeaders = GetUserHeaders;
class GetUserResponseBody extends $tea.Model {
    static names() {
        return {
            avatarUrl: 'avatarUrl',
            email: 'email',
            loginEmail: 'loginEmail',
            mobile: 'mobile',
            nick: 'nick',
            openId: 'openId',
            stateCode: 'stateCode',
            unionId: 'unionId',
            visitor: 'visitor',
        };
    }
    static types() {
        return {
            avatarUrl: 'string',
            email: 'string',
            loginEmail: 'string',
            mobile: 'string',
            nick: 'string',
            openId: 'string',
            stateCode: 'string',
            unionId: 'string',
            visitor: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetUserResponseBody = GetUserResponseBody;
class GetUserResponse 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: GetUserResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetUserResponse = GetUserResponse;
class GetUserCardHolderListHeaders 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.GetUserCardHolderListHeaders = GetUserCardHolderListHeaders;
class GetUserCardHolderListRequest extends $tea.Model {
    static names() {
        return {
            maxResults: 'maxResults',
            nextToken: 'nextToken',
        };
    }
    static types() {
        return {
            maxResults: 'number',
            nextToken: 'number',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetUserCardHolderListRequest = GetUserCardHolderListRequest;
class GetUserCardHolderListResponseBody extends $tea.Model {
    static names() {
        return {
            hasMore: 'hasMore',
            list: 'list',
            nextToken: 'nextToken',
            totalCount: 'totalCount',
        };
    }
    static types() {
        return {
            hasMore: 'boolean',
            list: { 'type': 'array', 'itemType': GetUserCardHolderListResponseBodyList },
            nextToken: 'number',
            totalCount: 'number',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetUserCardHolderListResponseBody = GetUserCardHolderListResponseBody;
class GetUserCardHolderListResponse 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: GetUserCardHolderListResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetUserCardHolderListResponse = GetUserCardHolderListResponse;
class InitVerifyEventHeaders 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.InitVerifyEventHeaders = InitVerifyEventHeaders;
class InitVerifyEventRequest extends $tea.Model {
    static names() {
        return {
            callerDeviceId: 'callerDeviceId',
            factorCodeList: 'factorCodeList',
            state: 'state',
            userId: 'userId',
        };
    }
    static types() {
        return {
            callerDeviceId: 'string',
            factorCodeList: { 'type': 'array', 'itemType': 'string' },
            state: 'string',
            userId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.InitVerifyEventRequest = InitVerifyEventRequest;
class InitVerifyEventResponseBody extends $tea.Model {
    static names() {
        return {
            verifyId: 'verifyId',
        };
    }
    static types() {
        return {
            verifyId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.InitVerifyEventResponseBody = InitVerifyEventResponseBody;
class InitVerifyEventResponse 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: InitVerifyEventResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.InitVerifyEventResponse = InitVerifyEventResponse;
class IsFriendHeaders 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.IsFriendHeaders = IsFriendHeaders;
class IsFriendRequest extends $tea.Model {
    static names() {
        return {
            mobileNo: 'mobileNo',
            userId: 'userId',
        };
    }
    static types() {
        return {
            mobileNo: 'string',
            userId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.IsFriendRequest = IsFriendRequest;
class IsFriendResponseBody extends $tea.Model {
    static names() {
        return {
            isFriend: 'isFriend',
        };
    }
    static types() {
        return {
            isFriend: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.IsFriendResponseBody = IsFriendResponseBody;
class IsFriendResponse 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: IsFriendResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.IsFriendResponse = IsFriendResponse;
class IsvCardEventPushHeaders 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.IsvCardEventPushHeaders = IsvCardEventPushHeaders;
class IsvCardEventPushRequest extends $tea.Model {
    static names() {
        return {
            eventParams: 'eventParams',
            eventType: 'eventType',
            isvCardId: 'isvCardId',
            isvToken: 'isvToken',
            isvUid: 'isvUid',
        };
    }
    static types() {
        return {
            eventParams: { 'type': 'map', 'keyType': 'string', 'valueType': 'any' },
            eventType: 'string',
            isvCardId: 'string',
            isvToken: 'string',
            isvUid: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.IsvCardEventPushRequest = IsvCardEventPushRequest;
class IsvCardEventPushResponseBody extends $tea.Model {
    static names() {
        return {
            success: 'success',
        };
    }
    static types() {
        return {
            success: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.IsvCardEventPushResponseBody = IsvCardEventPushResponseBody;
class IsvCardEventPushResponse 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: IsvCardEventPushResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.IsvCardEventPushResponse = IsvCardEventPushResponse;
class ListBasicRoleInPageHeaders 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.ListBasicRoleInPageHeaders = ListBasicRoleInPageHeaders;
class ListBasicRoleInPageRequest extends $tea.Model {
    static names() {
        return {
            agentId: 'agentId',
            maxResults: 'maxResults',
            nextToken: 'nextToken',
        };
    }
    static types() {
        return {
            agentId: 'string',
            maxResults: 'number',
            nextToken: 'number',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.ListBasicRoleInPageRequest = ListBasicRoleInPageRequest;
class ListBasicRoleInPageResponseBody extends $tea.Model {
    static names() {
        return {
            hasMore: 'hasMore',
            list: 'list',
            nextToken: 'nextToken',
        };
    }
    static types() {
        return {
            hasMore: 'boolean',
            list: { 'type': 'array', 'itemType': ListBasicRoleInPageResponseBodyList },
            nextToken: 'number',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.ListBasicRoleInPageResponseBody = ListBasicRoleInPageResponseBody;
class ListBasicRoleInPageResponse 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: ListBasicRoleInPageResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.ListBasicRoleInPageResponse = ListBasicRoleInPageResponse;
class ListContactHideSettingsHeaders 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.ListContactHideSettingsHeaders = ListContactHideSettingsHeaders;
class ListContactHideSettingsRequest extends $tea.Model {
    static names() {
        return {
            maxResults: 'maxResults',
            nextToken: 'nextToken',
        };
    }
    static types() {
        return {
            maxResults: 'number',
            nextToken: 'number',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.ListContactHideSettingsRequest = ListContactHideSettingsRequest;
class ListContactHideSettingsResponseBody extends $tea.Model {
    static names() {
        return {
            hasMore: 'hasMore',
            list: 'list',
            nextToken: 'nextToken',
        };
    }
    static types() {
        return {
            hasMore: 'boolean',
            list: { 'type': 'array', 'itemType': ListContactHideSettingsResponseBodyList },
            nextToken: 'number',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.ListContactHideSettingsResponseBody = ListContactHideSettingsResponseBody;
class ListContactHideSettingsResponse 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: ListContactHideSettingsResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.ListContactHideSettingsResponse = ListContactHideSettingsResponse;
class ListContactRestrictSettingHeaders 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.ListContactRestrictSettingHeaders = ListContactRestrictSettingHeaders;
class ListContactRestrictSettingRequest extends $tea.Model {
    static names() {
        return {
            maxResults: 'maxResults',
            nextToken: 'nextToken',
        };
    }
    static types() {
        return {
            maxResults: 'number',
            nextToken: 'number',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.ListContactRestrictSettingRequest = ListContactRestrictSettingRequest;
class ListContactRestrictSettingResponseBody extends $tea.Model {
    static names() {
        return {
            hasMore: 'hasMore',
            list: 'list',
            nextToken: 'nextToken',
        };
    }
    static types() {
        return {
            hasMore: 'boolean',
            list: { 'type': 'array', 'itemType': ListContactRestrictSettingResponseBodyList },
            nextToken: 'number',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.ListContactRestrictSettingResponseBody = ListContactRestrictSettingResponseBody;
class ListContactRestrictSettingResponse 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: ListContactRestrictSettingResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.ListContactRestrictSettingResponse = ListContactRestrictSettingResponse;
class ListEmpAttributeVisibilityHeaders 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.ListEmpAttributeVisibilityHeaders = ListEmpAttributeVisibilityHeaders;
class ListEmpAttributeVisibilityRequest extends $tea.Model {
    static names() {
        return {
            maxResults: 'maxResults',
            nextToken: 'nextToken',
        };
    }
    static types() {
        return {
            maxResults: 'number',
            nextToken: 'number',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.ListEmpAttributeVisibilityRequest = ListEmpAttributeVisibilityRequest;
class ListEmpAttributeVisibilityResponseBody extends $tea.Model {
    static names() {
        return {
            hasMore: 'hasMore',
            list: 'list',
            nextCursor: 'nextCursor',
        };
    }
    static types() {
        return {
            hasMore: 'boolean',
            list: { 'type': 'array', 'itemType': ListEmpAttributeVisibilityResponseBodyList },
            nextCursor: 'number',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.ListEmpAttributeVisibilityResponseBody = ListEmpAttributeVisibilityResponseBody;
class ListEmpAttributeVisibilityResponse 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: ListEmpAttributeVisibilityResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.ListEmpAttributeVisibilityResponse = ListEmpAttributeVisibilityResponse;
class ListEmpLeaveRecordsHeaders 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.ListEmpLeaveRecordsHeaders = ListEmpLeaveRecordsHeaders;
class ListEmpLeaveRecordsRequest extends $tea.Model {
    static names() {
        return {
            endTime: 'endTime',
            maxResults: 'maxResults',
            nextToken: 'nextToken',
            startTime: 'startTime',
        };
    }
    static types() {
        return {
            endTime: 'string',
            maxResults: 'number',
            nextToken: 'string',
            startTime: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.ListEmpLeaveRecordsRequest = ListEmpLeaveRecordsRequest;
class ListEmpLeaveRecordsResponseBody extends $tea.Model {
    static names() {
        return {
            nextToken: 'nextToken',
            records: 'records',
        };
    }
    static types() {
        return {
            nextToken: 'string',
            records: { 'type': 'array', 'itemType': ListEmpLeaveRecordsResponseBodyRecords },
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.ListEmpLeaveRecordsResponseBody = ListEmpLeaveRecordsResponseBody;
class ListEmpLeaveRecordsResponse 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: ListEmpLeaveRecordsResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.ListEmpLeaveRecordsResponse = ListEmpLeaveRecordsResponse;
class ListManagementGroupsHeaders 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.ListManagementGroupsHeaders = ListManagementGroupsHeaders;
class ListManagementGroupsRequest extends $tea.Model {
    static names() {
        return {
            maxResults: 'maxResults',
            nextToken: 'nextToken',
        };
    }
    static types() {
        return {
            maxResults: 'number',
            nextToken: 'number',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.ListManagementGroupsRequest = ListManagementGroupsRequest;
class ListManagementGroupsResponseBody extends $tea.Model {
    static names() {
        return {
            groups: 'groups',
            hasMore: 'hasMore',
            nextToken: 'nextToken',
        };
    }
    static types() {
        return {
            groups: { 'type': 'array', 'itemType': ListManagementGroupsResponseBodyGroups },
            hasMore: 'boolean',
            nextToken: 'number',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.ListManagementGroupsResponseBody = ListManagementGroupsResponseBody;
class ListManagementGroupsResponse 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: ListManagementGroupsResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.ListManagementGroupsResponse = ListManagementGroupsResponse;
class ListOwnedOrgByStaffIdHeaders 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.ListOwnedOrgByStaffIdHeaders = ListOwnedOrgByStaffIdHeaders;
class ListOwnedOrgByStaffIdRequest extends $tea.Model {
    static names() {
        return {
            userId: 'userId',
        };
    }
    static types() {
        return {
            userId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.ListOwnedOrgByStaffIdRequest = ListOwnedOrgByStaffIdRequest;
class ListOwnedOrgByStaffIdResponseBody extends $tea.Model {
    static names() {
        return {
            orgList: 'orgList',
        };
    }
    static types() {
        return {
            orgList: { 'type': 'array', 'itemType': ListOwnedOrgByStaffIdResponseBodyOrgList },
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.ListOwnedOrgByStaffIdResponseBody = ListOwnedOrgByStaffIdResponseBody;
class ListOwnedOrgByStaffIdResponse 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: ListOwnedOrgByStaffIdResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.ListOwnedOrgByStaffIdResponse = ListOwnedOrgByStaffIdResponse;
class ListSeniorSettingsHeaders 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.ListSeniorSettingsHeaders = ListSeniorSettingsHeaders;
class ListSeniorSettingsRequest extends $tea.Model {
    static names() {
        return {
            seniorStaffId: 'seniorStaffId',
        };
    }
    static types() {
        return {
            seniorStaffId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.ListSeniorSettingsRequest = ListSeniorSettingsRequest;
class ListSeniorSettingsResponseBody extends $tea.Model {
    static names() {
        return {
            protectScenes: 'protectScenes',
            seniorStaffId: 'seniorStaffId',
            seniorWhiteList: 'seniorWhiteList',
        };
    }
    static types() {
        return {
            protectScenes: { 'type': 'array', 'itemType': 'string' },
            seniorStaffId: 'string',
            seniorWhiteList: { 'type': 'array', 'itemType': ListSeniorSettingsResponseBodySeniorWhiteList },
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.ListSeniorSettingsResponseBody = ListSeniorSettingsResponseBody;
class ListSeniorSettingsResponse 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: ListSeniorSettingsResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.ListSeniorSettingsResponse = ListSeniorSettingsResponse;
class ModifyOrgAccUserOwnnessHeaders 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.ModifyOrgAccUserOwnnessHeaders = ModifyOrgAccUserOwnnessHeaders;
class ModifyOrgAccUserOwnnessRequest extends $tea.Model {
    static names() {
        return {
            endTime: 'endTime',
            ownenssType: 'ownenssType',
            ownnessId: 'ownnessId',
            startTime: 'startTime',
            text: 'text',
            userId: 'userId',
        };
    }
    static types() {
        return {
            endTime: 'number',
            ownenssType: 'number',
            ownnessId: 'number',
            startTime: 'number',
            text: 'string',
            userId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.ModifyOrgAccUserOwnnessRequest = ModifyOrgAccUserOwnnessRequest;
class ModifyOrgAccUserOwnnessResponseBody extends $tea.Model {
    static names() {
        return {
            result: 'result',
        };
    }
    static types() {
        return {
            result: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.ModifyOrgAccUserOwnnessResponseBody = ModifyOrgAccUserOwnnessResponseBody;
class ModifyOrgAccUserOwnnessResponse 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: ModifyOrgAccUserOwnnessResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.ModifyOrgAccUserOwnnessResponse = ModifyOrgAccUserOwnnessResponse;
class MultiOrgPermissionGrantHeaders 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.MultiOrgPermissionGrantHeaders = MultiOrgPermissionGrantHeaders;
class MultiOrgPermissionGrantRequest extends $tea.Model {
    static names() {
        return {
            grantDeptIdList: 'grantDeptIdList',
            joinCorpId: 'joinCorpId',
        };
    }
    static types() {
        return {
            grantDeptIdList: { 'type': 'array', 'itemType': 'number' },
            joinCorpId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.MultiOrgPermissionGrantRequest = MultiOrgPermissionGrantRequest;
class MultiOrgPermissionGrantResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.MultiOrgPermissionGrantResponse = MultiOrgPermissionGrantResponse;
class OrgAccountMobileVisibleInOtherOrgHeaders 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.OrgAccountMobileVisibleInOtherOrgHeaders = OrgAccountMobileVisibleInOtherOrgHeaders;
class OrgAccountMobileVisibleInOtherOrgRequest extends $tea.Model {
    static names() {
        return {
            fields: 'fields',
            optUserId: 'optUserId',
            toCorpIds: 'toCorpIds',
        };
    }
    static types() {
        return {
            fields: { 'type': 'array', 'itemType': 'string' },
            optUserId: 'string',
            toCorpIds: { 'type': 'array', 'itemType': 'string' },
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.OrgAccountMobileVisibleInOtherOrgRequest = OrgAccountMobileVisibleInOtherOrgRequest;
class OrgAccountMobileVisibleInOtherOrgResponseBody extends $tea.Model {
    static names() {
        return {
            result: 'result',
        };
    }
    static types() {
        return {
            result: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.OrgAccountMobileVisibleInOtherOrgResponseBody = OrgAccountMobileVisibleInOtherOrgResponseBody;
class OrgAccountMobileVisibleInOtherOrgResponse 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: OrgAccountMobileVisibleInOtherOrgResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.OrgAccountMobileVisibleInOtherOrgResponse = OrgAccountMobileVisibleInOtherOrgResponse;
class OrgAccountMobileVisiblePermissonHeaders 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.OrgAccountMobileVisiblePermissonHeaders = OrgAccountMobileVisiblePermissonHeaders;
class OrgAccountMobileVisiblePermissonRequest extends $tea.Model {
    static names() {
        return {
            body: 'body',
        };
    }
    static types() {
        return {
            body: { 'type': 'array', 'itemType': 'string' },
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.OrgAccountMobileVisiblePermissonRequest = OrgAccountMobileVisiblePermissonRequest;
class OrgAccountMobileVisiblePermissonResponseBody extends $tea.Model {
    static names() {
        return {
            result: 'result',
        };
    }
    static types() {
        return {
            result: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.OrgAccountMobileVisiblePermissonResponseBody = OrgAccountMobileVisiblePermissonResponseBody;
class OrgAccountMobileVisiblePermissonResponse 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: OrgAccountMobileVisiblePermissonResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.OrgAccountMobileVisiblePermissonResponse = OrgAccountMobileVisiblePermissonResponse;
class OrgInfoHeaders 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.OrgInfoHeaders = OrgInfoHeaders;
class OrgInfoRequest extends $tea.Model {
    static names() {
        return {
            orgIds: 'orgIds',
        };
    }
    static types() {
        return {
            orgIds: { 'type': 'array', 'itemType': 'number' },
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.OrgInfoRequest = OrgInfoRequest;
class OrgInfoShrinkRequest extends $tea.Model {
    static names() {
        return {
            orgIdsShrink: 'orgIds',
        };
    }
    static types() {
        return {
            orgIdsShrink: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.OrgInfoShrinkRequest = OrgInfoShrinkRequest;
class OrgInfoResponseBody extends $tea.Model {
    static names() {
        return {
            result: 'result',
        };
    }
    static types() {
        return {
            result: { 'type': 'array', 'itemType': OrgInfoResponseBodyResult },
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.OrgInfoResponseBody = OrgInfoResponseBody;
class OrgInfoResponse 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: OrgInfoResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.OrgInfoResponse = OrgInfoResponse;
class PushVerifyEventHeaders 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.PushVerifyEventHeaders = PushVerifyEventHeaders;
class PushVerifyEventRequest extends $tea.Model {
    static names() {
        return {
            callerDeviceId: 'callerDeviceId',
            factorCodeList: 'factorCodeList',
            state: 'state',
            userId: 'userId',
        };
    }
    static types() {
        return {
            callerDeviceId: 'string',
            factorCodeList: { 'type': 'array', 'itemType': 'string' },
            state: 'string',
            userId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.PushVerifyEventRequest = PushVerifyEventRequest;
class PushVerifyEventResponseBody extends $tea.Model {
    static names() {
        return {
            verifyId: 'verifyId',
        };
    }
    static types() {
        return {
            verifyId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.PushVerifyEventResponseBody = PushVerifyEventResponseBody;
class PushVerifyEventResponse 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: PushVerifyEventResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.PushVerifyEventResponse = PushVerifyEventResponse;
class QueryCardVisitorStatisticDataHeaders 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.QueryCardVisitorStatisticDataHeaders = QueryCardVisitorStatisticDataHeaders;
class QueryCardVisitorStatisticDataRequest extends $tea.Model {
    static names() {
        return {
            unionId: 'unionId',
        };
    }
    static types() {
        return {
            unionId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryCardVisitorStatisticDataRequest = QueryCardVisitorStatisticDataRequest;
class QueryCardVisitorStatisticDataResponseBody extends $tea.Model {
    static names() {
        return {
            cardSendCnt: 'cardSendCnt',
            todayVisitAddCnt: 'todayVisitAddCnt',
            todayVisitCnt: 'todayVisitCnt',
            totalVisitAddCnt: 'totalVisitAddCnt',
            totalVisitCnt: 'totalVisitCnt',
            wechatTodayVisitAddCnt: 'wechatTodayVisitAddCnt',
            wechatTodayVisitCnt: 'wechatTodayVisitCnt',
            wechatTotalVisitAddCnt: 'wechatTotalVisitAddCnt',
            wechatTotalVisitCnt: 'wechatTotalVisitCnt',
        };
    }
    static types() {
        return {
            cardSendCnt: 'number',
            todayVisitAddCnt: 'number',
            todayVisitCnt: 'number',
            totalVisitAddCnt: 'number',
            totalVisitCnt: 'number',
            wechatTodayVisitAddCnt: 'number',
            wechatTodayVisitCnt: 'number',
            wechatTotalVisitAddCnt: 'number',
            wechatTotalVisitCnt: 'number',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryCardVisitorStatisticDataResponseBody = QueryCardVisitorStatisticDataResponseBody;
class QueryCardVisitorStatisticDataResponse 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: QueryCardVisitorStatisticDataResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryCardVisitorStatisticDataResponse = QueryCardVisitorStatisticDataResponse;
class QueryCorpStatisticDataHeaders 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.QueryCorpStatisticDataHeaders = QueryCorpStatisticDataHeaders;
class QueryCorpStatisticDataRequest extends $tea.Model {
    static names() {
        return {
            endTime: 'endTime',
            startTime: 'startTime',
            templateIds: 'templateIds',
            unionId: 'unionId',
        };
    }
    static types() {
        return {
            endTime: 'string',
            startTime: 'string',
            templateIds: { 'type': 'array', 'itemType': 'string' },
            unionId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryCorpStatisticDataRequest = QueryCorpStatisticDataRequest;
class QueryCorpStatisticDataResponseBody extends $tea.Model {
    static names() {
        return {
            result: 'result',
        };
    }
    static types() {
        return {
            result: { 'type': 'array', 'itemType': QueryCorpStatisticDataResponseBodyResult },
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryCorpStatisticDataResponseBody = QueryCorpStatisticDataResponseBody;
class QueryCorpStatisticDataResponse 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: QueryCorpStatisticDataResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryCorpStatisticDataResponse = QueryCorpStatisticDataResponse;
class QueryCorpUserStatisticHeaders 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.QueryCorpUserStatisticHeaders = QueryCorpUserStatisticHeaders;
class QueryCorpUserStatisticRequest extends $tea.Model {
    static names() {
        return {
            endTime: 'endTime',
            maxResults: 'maxResults',
            nextToken: 'nextToken',
            startTime: 'startTime',
            templateIds: 'templateIds',
            unionId: 'unionId',
        };
    }
    static types() {
        return {
            endTime: 'string',
            maxResults: 'number',
            nextToken: 'number',
            startTime: 'string',
            templateIds: { 'type': 'array', 'itemType': 'string' },
            unionId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryCorpUserStatisticRequest = QueryCorpUserStatisticRequest;
class QueryCorpUserStatisticResponseBody extends $tea.Model {
    static names() {
        return {
            hasMore: 'hasMore',
            list: 'list',
            nextToken: 'nextToken',
            totalCount: 'totalCount',
        };
    }
    static types() {
        return {
            hasMore: 'boolean',
            list: { 'type': 'array', 'itemType': QueryCorpUserStatisticResponseBodyList },
            nextToken: 'number',
            totalCount: 'number',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryCorpUserStatisticResponseBody = QueryCorpUserStatisticResponseBody;
class QueryCorpUserStatisticResponse 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: QueryCorpUserStatisticResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryCorpUserStatisticResponse = QueryCorpUserStatisticResponse;
class QueryResourceManagementMembersHeaders 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.QueryResourceManagementMembersHeaders = QueryResourceManagementMembersHeaders;
class QueryResourceManagementMembersResponseBody extends $tea.Model {
    static names() {
        return {
            members: 'members',
        };
    }
    static types() {
        return {
            members: { 'type': 'array', 'itemType': QueryResourceManagementMembersResponseBodyMembers },
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryResourceManagementMembersResponseBody = QueryResourceManagementMembersResponseBody;
class QueryResourceManagementMembersResponse 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: QueryResourceManagementMembersResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryResourceManagementMembersResponse = QueryResourceManagementMembersResponse;
class QueryStatusHeaders 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.QueryStatusHeaders = QueryStatusHeaders;
class QueryStatusRequest extends $tea.Model {
    static names() {
        return {
            userId: 'userId',
        };
    }
    static types() {
        return {
            userId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryStatusRequest = QueryStatusRequest;
class QueryStatusResponseBody extends $tea.Model {
    static names() {
        return {
            disable: 'disable',
        };
    }
    static types() {
        return {
            disable: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryStatusResponseBody = QueryStatusResponseBody;
class QueryStatusResponse 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: QueryStatusResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryStatusResponse = QueryStatusResponse;
class QueryUserManagementResourcesHeaders 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.QueryUserManagementResourcesHeaders = QueryUserManagementResourcesHeaders;
class QueryUserManagementResourcesResponseBody extends $tea.Model {
    static names() {
        return {
            resourceIds: 'resourceIds',
        };
    }
    static types() {
        return {
            resourceIds: { 'type': 'array', 'itemType': 'string' },
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryUserManagementResourcesResponseBody = QueryUserManagementResourcesResponseBody;
class QueryUserManagementResourcesResponse 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: QueryUserManagementResourcesResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryUserManagementResourcesResponse = QueryUserManagementResourcesResponse;
class QueryVerifyResultHeaders 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.QueryVerifyResultHeaders = QueryVerifyResultHeaders;
class QueryVerifyResultRequest extends $tea.Model {
    static names() {
        return {
            verifyId: 'verifyId',
        };
    }
    static types() {
        return {
            verifyId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryVerifyResultRequest = QueryVerifyResultRequest;
class QueryVerifyResultResponseBody extends $tea.Model {
    static names() {
        return {
            corpId: 'corpId',
            factorCode: 'factorCode',
            factorDesc: 'factorDesc',
            resultCode: 'resultCode',
            resultDesc: 'resultDesc',
            state: 'state',
            userId: 'userId',
            verifyTimestamp: 'verifyTimestamp',
        };
    }
    static types() {
        return {
            corpId: 'string',
            factorCode: 'string',
            factorDesc: 'string',
            resultCode: 'string',
            resultDesc: 'string',
            state: 'string',
            userId: 'string',
            verifyTimestamp: 'number',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryVerifyResultResponseBody = QueryVerifyResultResponseBody;
class QueryVerifyResultResponse 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: QueryVerifyResultResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryVerifyResultResponse = QueryVerifyResultResponse;
class RecallTeamInviteHeaders 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.RecallTeamInviteHeaders = RecallTeamInviteHeaders;
class RecallTeamInviteRequest extends $tea.Model {
    static names() {
        return {
            mobile: 'mobile',
            optUserId: 'optUserId',
        };
    }
    static types() {
        return {
            mobile: 'string',
            optUserId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.RecallTeamInviteRequest = RecallTeamInviteRequest;
class RecallTeamInviteResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.RecallTeamInviteResponse = RecallTeamInviteResponse;
class SearchDepartmentHeaders 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.SearchDepartmentHeaders = SearchDepartmentHeaders;
class SearchDepartmentRequest extends $tea.Model {
    static names() {
        return {
            offset: 'offset',
            queryWord: 'queryWord',
            size: 'size',
        };
    }
    static types() {
        return {
            offset: 'number',
            queryWord: 'string',
            size: 'number',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.SearchDepartmentRequest = SearchDepartmentRequest;
class SearchDepartmentResponseBody extends $tea.Model {
    static names() {
        return {
            hasMore: 'hasMore',
            list: 'list',
            totalCount: 'totalCount',
        };
    }
    static types() {
        return {
            hasMore: 'boolean',
            list: { 'type': 'array', 'itemType': 'number' },
            totalCount: 'number',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.SearchDepartmentResponseBody = SearchDepartmentResponseBody;
class SearchDepartmentResponse 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: SearchDepartmentResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.SearchDepartmentResponse = SearchDepartmentResponse;
class SearchUserHeaders 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.SearchUserHeaders = SearchUserHeaders;
class SearchUserRequest extends $tea.Model {
    static names() {
        return {
            fullMatchField: 'fullMatchField',
            offset: 'offset',
            queryWord: 'queryWord',
            size: 'size',
        };
    }
    static types() {
        return {
            fullMatchField: 'number',
            offset: 'number',
            queryWord: 'string',
            size: 'number',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.SearchUserRequest = SearchUserRequest;
class SearchUserResponseBody extends $tea.Model {
    static names() {
        return {
            hasMore: 'hasMore',
            list: 'list',
            totalCount: 'totalCount',
        };
    }
    static types() {
        return {
            hasMore: 'boolean',
            list: { 'type': 'array', 'itemType': 'string' },
            totalCount: 'number',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.SearchUserResponseBody = SearchUserResponseBody;
class SearchUserResponse 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: SearchUserResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.SearchUserResponse = SearchUserResponse;
class SeparateBranchOrgHeaders 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.SeparateBranchOrgHeaders = SeparateBranchOrgHeaders;
class SeparateBranchOrgRequest extends $tea.Model {
    static names() {
        return {
            attachDeptId: 'attachDeptId',
        };
    }
    static types() {
        return {
            attachDeptId: 'number',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.SeparateBranchOrgRequest = SeparateBranchOrgRequest;
class SeparateBranchOrgResponseBody extends $tea.Model {
    static names() {
        return {
            result: 'result',
        };
    }
    static types() {
        return {
            result: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.SeparateBranchOrgResponseBody = SeparateBranchOrgResponseBody;
class SeparateBranchOrgResponse 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: SeparateBranchOrgResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.SeparateBranchOrgResponse = SeparateBranchOrgResponse;
class SetDisableHeaders 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.SetDisableHeaders = SetDisableHeaders;
class SetDisableRequest extends $tea.Model {
    static names() {
        return {
            reason: 'reason',
            userId: 'userId',
        };
    }
    static types() {
        return {
            reason: 'string',
            userId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.SetDisableRequest = SetDisableRequest;
class SetDisableResponseBody extends $tea.Model {
    static names() {
        return {
            result: 'result',
        };
    }
    static types() {
        return {
            result: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.SetDisableResponseBody = SetDisableResponseBody;
class SetDisableResponse 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: SetDisableResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.SetDisableResponse = SetDisableResponse;
class SetEnableHeaders 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.SetEnableHeaders = SetEnableHeaders;
class SetEnableRequest extends $tea.Model {
    static names() {
        return {
            userId: 'userId',
        };
    }
    static types() {
        return {
            userId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.SetEnableRequest = SetEnableRequest;
class SetEnableResponseBody extends $tea.Model {
    static names() {
        return {
            result: 'result',
        };
    }
    static types() {
        return {
            result: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.SetEnableResponseBody = SetEnableResponseBody;
class SetEnableResponse 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: SetEnableResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.SetEnableResponse = SetEnableResponse;
class SignOutHeaders 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.SignOutHeaders = SignOutHeaders;
class SignOutRequest extends $tea.Model {
    static names() {
        return {
            reason: 'reason',
            userId: 'userId',
        };
    }
    static types() {
        return {
            reason: 'string',
            userId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.SignOutRequest = SignOutRequest;
class SignOutResponseBody extends $tea.Model {
    static names() {
        return {
            result: 'result',
        };
    }
    static types() {
        return {
            result: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.SignOutResponseBody = SignOutResponseBody;
class SignOutResponse 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: SignOutResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.SignOutResponse = SignOutResponse;
class SortUserHeaders 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.SortUserHeaders = SortUserHeaders;
class SortUserRequest extends $tea.Model {
    static names() {
        return {
            sortType: 'sortType',
            userIdList: 'userIdList',
        };
    }
    static types() {
        return {
            sortType: 'number',
            userIdList: { 'type': 'array', 'itemType': 'string' },
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.SortUserRequest = SortUserRequest;
class SortUserResponseBody extends $tea.Model {
    static names() {
        return {
            userIdList: 'userIdList',
        };
    }
    static types() {
        return {
            userIdList: { 'type': 'array', 'itemType': 'string' },
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.SortUserResponseBody = SortUserResponseBody;
class SortUserResponse 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: SortUserResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.SortUserResponse = SortUserResponse;
class TransformToExclusiveAccountHeaders 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.TransformToExclusiveAccountHeaders = TransformToExclusiveAccountHeaders;
class TransformToExclusiveAccountRequest extends $tea.Model {
    static names() {
        return {
            idpDingTalk: 'idpDingTalk',
            initPassword: 'initPassword',
            loginId: 'loginId',
            transformType: 'transformType',
            userId: 'userId',
        };
    }
    static types() {
        return {
            idpDingTalk: 'boolean',
            initPassword: 'string',
            loginId: 'string',
            transformType: 'string',
            userId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.TransformToExclusiveAccountRequest = TransformToExclusiveAccountRequest;
class TransformToExclusiveAccountResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.TransformToExclusiveAccountResponse = TransformToExclusiveAccountResponse;
class TranslateFileHeaders 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.TranslateFileHeaders = TranslateFileHeaders;
class TranslateFileRequest extends $tea.Model {
    static names() {
        return {
            medias: 'medias',
            outputFileName: 'outputFileName',
            unionId: 'unionId',
        };
    }
    static types() {
        return {
            medias: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            outputFileName: 'string',
            unionId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.TranslateFileRequest = TranslateFileRequest;
class TranslateFileResponseBody extends $tea.Model {
    static names() {
        return {
            jobId: 'jobId',
        };
    }
    static types() {
        return {
            jobId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.TranslateFileResponseBody = TranslateFileResponseBody;
class TranslateFileResponse 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: TranslateFileResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.TranslateFileResponse = TranslateFileResponse;
class UniqueQueryUserCardHeaders 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.UniqueQueryUserCardHeaders = UniqueQueryUserCardHeaders;
class UniqueQueryUserCardRequest extends $tea.Model {
    static names() {
        return {
            templateId: 'templateId',
            unionId: 'unionId',
        };
    }
    static types() {
        return {
            templateId: 'string',
            unionId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UniqueQueryUserCardRequest = UniqueQueryUserCardRequest;
class UniqueQueryUserCardResponseBody extends $tea.Model {
    static names() {
        return {
            avatarUrl: 'avatarUrl',
            cardId: 'cardId',
            extension: 'extension',
            industryName: 'industryName',
            introduce: 'introduce',
            name: 'name',
            orgName: 'orgName',
            settings: 'settings',
            templateId: 'templateId',
            title: 'title',
        };
    }
    static types() {
        return {
            avatarUrl: 'string',
            cardId: 'string',
            extension: { 'type': 'map', 'keyType': 'string', 'valueType': 'any' },
            industryName: 'string',
            introduce: 'string',
            name: 'string',
            orgName: 'string',
            settings: { 'type': 'map', 'keyType': 'string', 'valueType': 'any' },
            templateId: 'string',
            title: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UniqueQueryUserCardResponseBody = UniqueQueryUserCardResponseBody;
class UniqueQueryUserCardResponse 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: UniqueQueryUserCardResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UniqueQueryUserCardResponse = UniqueQueryUserCardResponse;
class UpdateBranchAttributesInCooperateHeaders 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.UpdateBranchAttributesInCooperateHeaders = UpdateBranchAttributesInCooperateHeaders;
class UpdateBranchAttributesInCooperateRequest extends $tea.Model {
    static names() {
        return {
            body: 'body',
        };
    }
    static types() {
        return {
            body: { 'type': 'array', 'itemType': UpdateBranchAttributesInCooperateRequestBody },
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UpdateBranchAttributesInCooperateRequest = UpdateBranchAttributesInCooperateRequest;
class UpdateBranchAttributesInCooperateResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UpdateBranchAttributesInCooperateResponse = UpdateBranchAttributesInCooperateResponse;
class UpdateBranchVisibleSettingInCooperateHeaders 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.UpdateBranchVisibleSettingInCooperateHeaders = UpdateBranchVisibleSettingInCooperateHeaders;
class UpdateBranchVisibleSettingInCooperateRequest extends $tea.Model {
    static names() {
        return {
            body: 'body',
        };
    }
    static types() {
        return {
            body: { 'type': 'array', 'itemType': UpdateBranchVisibleSettingInCooperateRequestBody },
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UpdateBranchVisibleSettingInCooperateRequest = UpdateBranchVisibleSettingInCooperateRequest;
class UpdateBranchVisibleSettingInCooperateResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UpdateBranchVisibleSettingInCooperateResponse = UpdateBranchVisibleSettingInCooperateResponse;
class UpdateContactHideBySceneSettingHeaders 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.UpdateContactHideBySceneSettingHeaders = UpdateContactHideBySceneSettingHeaders;
class UpdateContactHideBySceneSettingRequest extends $tea.Model {
    static names() {
        return {
            description: 'description',
            excludeDeptIds: 'excludeDeptIds',
            excludeTagIds: 'excludeTagIds',
            excludeUserIds: 'excludeUserIds',
            name: 'name',
            nodeListSceneConfig: 'nodeListSceneConfig',
            objectDeptIds: 'objectDeptIds',
            objectTagIds: 'objectTagIds',
            objectUserIds: 'objectUserIds',
            profileSceneConfig: 'profileSceneConfig',
            searchSceneConfig: 'searchSceneConfig',
        };
    }
    static types() {
        return {
            description: 'string',
            excludeDeptIds: { 'type': 'array', 'itemType': 'number' },
            excludeTagIds: { 'type': 'array', 'itemType': 'number' },
            excludeUserIds: { 'type': 'array', 'itemType': 'string' },
            name: 'string',
            nodeListSceneConfig: UpdateContactHideBySceneSettingRequestNodeListSceneConfig,
            objectDeptIds: { 'type': 'array', 'itemType': 'number' },
            objectTagIds: { 'type': 'array', 'itemType': 'number' },
            objectUserIds: { 'type': 'array', 'itemType': 'string' },
            profileSceneConfig: UpdateContactHideBySceneSettingRequestProfileSceneConfig,
            searchSceneConfig: UpdateContactHideBySceneSettingRequestSearchSceneConfig,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UpdateContactHideBySceneSettingRequest = UpdateContactHideBySceneSettingRequest;
class UpdateContactHideBySceneSettingResponseBody extends $tea.Model {
    static names() {
        return {
            success: 'success',
        };
    }
    static types() {
        return {
            success: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UpdateContactHideBySceneSettingResponseBody = UpdateContactHideBySceneSettingResponseBody;
class UpdateContactHideBySceneSettingResponse 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: UpdateContactHideBySceneSettingResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UpdateContactHideBySceneSettingResponse = UpdateContactHideBySceneSettingResponse;
class UpdateContactHideSettingHeaders 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.UpdateContactHideSettingHeaders = UpdateContactHideSettingHeaders;
class UpdateContactHideSettingRequest extends $tea.Model {
    static names() {
        return {
            active: 'active',
            description: 'description',
            excludeDeptIds: 'excludeDeptIds',
            excludeStaffIds: 'excludeStaffIds',
            excludeTagIds: 'excludeTagIds',
            hideInSearch: 'hideInSearch',
            hideInUserProfile: 'hideInUserProfile',
            id: 'id',
            name: 'name',
            objectDeptIds: 'objectDeptIds',
            objectStaffIds: 'objectStaffIds',
            objectTagIds: 'objectTagIds',
        };
    }
    static types() {
        return {
            active: 'boolean',
            description: 'string',
            excludeDeptIds: { 'type': 'array', 'itemType': 'number' },
            excludeStaffIds: { 'type': 'array', 'itemType': 'string' },
            excludeTagIds: { 'type': 'array', 'itemType': 'number' },
            hideInSearch: 'boolean',
            hideInUserProfile: 'boolean',
            id: 'number',
            name: 'string',
            objectDeptIds: { 'type': 'array', 'itemType': 'number' },
            objectStaffIds: { 'type': 'array', 'itemType': 'string' },
            objectTagIds: { 'type': 'array', 'itemType': 'number' },
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UpdateContactHideSettingRequest = UpdateContactHideSettingRequest;
class UpdateContactHideSettingResponseBody extends $tea.Model {
    static names() {
        return {
            result: 'result',
        };
    }
    static types() {
        return {
            result: 'number',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UpdateContactHideSettingResponseBody = UpdateContactHideSettingResponseBody;
class UpdateContactHideSettingResponse 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: UpdateContactHideSettingResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UpdateContactHideSettingResponse = UpdateContactHideSettingResponse;
class UpdateContactRestrictSettingHeaders 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.UpdateContactRestrictSettingHeaders = UpdateContactRestrictSettingHeaders;
class UpdateContactRestrictSettingRequest extends $tea.Model {
    static names() {
        return {
            active: 'active',
            description: 'description',
            excludeDeptIds: 'excludeDeptIds',
            excludeTagIds: 'excludeTagIds',
            excludeUserIds: 'excludeUserIds',
            id: 'id',
            name: 'name',
            restrictInSearch: 'restrictInSearch',
            restrictInUserProfile: 'restrictInUserProfile',
            subjectDeptIds: 'subjectDeptIds',
            subjectTagIds: 'subjectTagIds',
            subjectUserIds: 'subjectUserIds',
            type: 'type',
        };
    }
    static types() {
        return {
            active: 'boolean',
            description: 'string',
            excludeDeptIds: { 'type': 'array', 'itemType': 'number' },
            excludeTagIds: { 'type': 'array', 'itemType': 'number' },
            excludeUserIds: { 'type': 'array', 'itemType': 'string' },
            id: 'number',
            name: 'string',
            restrictInSearch: 'boolean',
            restrictInUserProfile: 'boolean',
            subjectDeptIds: { 'type': 'array', 'itemType': 'number' },
            subjectTagIds: { 'type': 'array', 'itemType': 'number' },
            subjectUserIds: { 'type': 'array', 'itemType': 'string' },
            type: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UpdateContactRestrictSettingRequest = UpdateContactRestrictSettingRequest;
class UpdateContactRestrictSettingResponseBody extends $tea.Model {
    static names() {
        return {
            result: 'result',
        };
    }
    static types() {
        return {
            result: 'number',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UpdateContactRestrictSettingResponseBody = UpdateContactRestrictSettingResponseBody;
class UpdateContactRestrictSettingResponse 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: UpdateContactRestrictSettingResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UpdateContactRestrictSettingResponse = UpdateContactRestrictSettingResponse;
class UpdateDeptSettngTailFirstHeaders 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.UpdateDeptSettngTailFirstHeaders = UpdateDeptSettngTailFirstHeaders;
class UpdateDeptSettngTailFirstRequest extends $tea.Model {
    static names() {
        return {
            enable: 'enable',
        };
    }
    static types() {
        return {
            enable: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UpdateDeptSettngTailFirstRequest = UpdateDeptSettngTailFirstRequest;
class UpdateDeptSettngTailFirstResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UpdateDeptSettngTailFirstResponse = UpdateDeptSettngTailFirstResponse;
class UpdateEmpAttrbuteVisibilitySettingHeaders 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.UpdateEmpAttrbuteVisibilitySettingHeaders = UpdateEmpAttrbuteVisibilitySettingHeaders;
class UpdateEmpAttrbuteVisibilitySettingRequest extends $tea.Model {
    static names() {
        return {
            active: 'active',
            description: 'description',
            excludeDeptIds: 'excludeDeptIds',
            excludeStaffIds: 'excludeStaffIds',
            excludeTagIds: 'excludeTagIds',
            hideFields: 'hideFields',
            id: 'id',
            name: 'name',
            objectDeptIds: 'objectDeptIds',
            objectStaffIds: 'objectStaffIds',
            objectTagIds: 'objectTagIds',
        };
    }
    static types() {
        return {
            active: 'boolean',
            description: 'string',
            excludeDeptIds: { 'type': 'array', 'itemType': 'number' },
            excludeStaffIds: { 'type': 'array', 'itemType': 'string' },
            excludeTagIds: { 'type': 'array', 'itemType': 'number' },
            hideFields: { 'type': 'array', 'itemType': 'string' },
            id: 'number',
            name: 'string',
            objectDeptIds: { 'type': 'array', 'itemType': 'number' },
            objectStaffIds: { 'type': 'array', 'itemType': 'string' },
            objectTagIds: { 'type': 'array', 'itemType': 'number' },
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UpdateEmpAttrbuteVisibilitySettingRequest = UpdateEmpAttrbuteVisibilitySettingRequest;
class UpdateEmpAttrbuteVisibilitySettingResponseBody extends $tea.Model {
    static names() {
        return {
            result: 'result',
        };
    }
    static types() {
        return {
            result: 'number',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UpdateEmpAttrbuteVisibilitySettingResponseBody = UpdateEmpAttrbuteVisibilitySettingResponseBody;
class UpdateEmpAttrbuteVisibilitySettingResponse 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: UpdateEmpAttrbuteVisibilitySettingResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UpdateEmpAttrbuteVisibilitySettingResponse = UpdateEmpAttrbuteVisibilitySettingResponse;
class UpdateEmpAttributeHideBySceneSettingHeaders 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.UpdateEmpAttributeHideBySceneSettingHeaders = UpdateEmpAttributeHideBySceneSettingHeaders;
class UpdateEmpAttributeHideBySceneSettingRequest extends $tea.Model {
    static names() {
        return {
            chatSubtitleConfig: 'chatSubtitleConfig',
            description: 'description',
            excludeDeptIds: 'excludeDeptIds',
            excludeTagIds: 'excludeTagIds',
            excludeUserIds: 'excludeUserIds',
            hideFields: 'hideFields',
            name: 'name',
            objectDeptIds: 'objectDeptIds',
            objectTagIds: 'objectTagIds',
            objectUserIds: 'objectUserIds',
            profileSceneConfig: 'profileSceneConfig',
            searchSceneConfig: 'searchSceneConfig',
        };
    }
    static types() {
        return {
            chatSubtitleConfig: UpdateEmpAttributeHideBySceneSettingRequestChatSubtitleConfig,
            description: 'string',
            excludeDeptIds: { 'type': 'array', 'itemType': 'number' },
            excludeTagIds: { 'type': 'array', 'itemType': 'number' },
            excludeUserIds: { 'type': 'array', 'itemType': 'string' },
            hideFields: { 'type': 'array', 'itemType': 'string' },
            name: 'string',
            objectDeptIds: { 'type': 'array', 'itemType': 'number' },
            objectTagIds: { 'type': 'array', 'itemType': 'number' },
            objectUserIds: { 'type': 'array', 'itemType': 'string' },
            profileSceneConfig: UpdateEmpAttributeHideBySceneSettingRequestProfileSceneConfig,
            searchSceneConfig: UpdateEmpAttributeHideBySceneSettingRequestSearchSceneConfig,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UpdateEmpAttributeHideBySceneSettingRequest = UpdateEmpAttributeHideBySceneSettingRequest;
class UpdateEmpAttributeHideBySceneSettingResponseBody extends $tea.Model {
    static names() {
        return {
            success: 'success',
        };
    }
    static types() {
        return {
            success: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UpdateEmpAttributeHideBySceneSettingResponseBody = UpdateEmpAttributeHideBySceneSettingResponseBody;
class UpdateEmpAttributeHideBySceneSettingResponse 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: UpdateEmpAttributeHideBySceneSettingResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UpdateEmpAttributeHideBySceneSettingResponse = UpdateEmpAttributeHideBySceneSettingResponse;
class UpdateManagementGroupHeaders 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.UpdateManagementGroupHeaders = UpdateManagementGroupHeaders;
class UpdateManagementGroupRequest extends $tea.Model {
    static names() {
        return {
            groupName: 'groupName',
            members: 'members',
            resourceIds: 'resourceIds',
            scope: 'scope',
        };
    }
    static types() {
        return {
            groupName: 'string',
            members: { 'type': 'array', 'itemType': UpdateManagementGroupRequestMembers },
            resourceIds: { 'type': 'array', 'itemType': 'string' },
            scope: UpdateManagementGroupRequestScope,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UpdateManagementGroupRequest = UpdateManagementGroupRequest;
class UpdateManagementGroupResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UpdateManagementGroupResponse = UpdateManagementGroupResponse;
class UpdateSeniorSettingHeaders 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.UpdateSeniorSettingHeaders = UpdateSeniorSettingHeaders;
class UpdateSeniorSettingRequest extends $tea.Model {
    static names() {
        return {
            open: 'open',
            permitDeptIds: 'permitDeptIds',
            permitStaffIds: 'permitStaffIds',
            permitTagIds: 'permitTagIds',
            protectScenes: 'protectScenes',
            seniorStaffId: 'seniorStaffId',
        };
    }
    static types() {
        return {
            open: 'boolean',
            permitDeptIds: { 'type': 'array', 'itemType': 'number' },
            permitStaffIds: { 'type': 'array', 'itemType': 'string' },
            permitTagIds: { 'type': 'array', 'itemType': 'number' },
            protectScenes: { 'type': 'array', 'itemType': 'string' },
            seniorStaffId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UpdateSeniorSettingRequest = UpdateSeniorSettingRequest;
class UpdateSeniorSettingResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UpdateSeniorSettingResponse = UpdateSeniorSettingResponse;
class UpdateTitleAuditStatusHeaders 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.UpdateTitleAuditStatusHeaders = UpdateTitleAuditStatusHeaders;
class UpdateTitleAuditStatusRequest extends $tea.Model {
    static names() {
        return {
            authStatus: 'authStatus',
            educationLevel: 'educationLevel',
            extension: 'extension',
            major: 'major',
            position: 'position',
            reasonCode: 'reasonCode',
            reasonMsg: 'reasonMsg',
            school: 'school',
            type: 'type',
            unionId: 'unionId',
            uuid: 'uuid',
        };
    }
    static types() {
        return {
            authStatus: 'string',
            educationLevel: 'string',
            extension: 'string',
            major: 'string',
            position: 'string',
            reasonCode: 'string',
            reasonMsg: 'string',
            school: 'string',
            type: 'string',
            unionId: 'string',
            uuid: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UpdateTitleAuditStatusRequest = UpdateTitleAuditStatusRequest;
class UpdateTitleAuditStatusResponseBody extends $tea.Model {
    static names() {
        return {
            result: 'result',
        };
    }
    static types() {
        return {
            result: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UpdateTitleAuditStatusResponseBody = UpdateTitleAuditStatusResponseBody;
class UpdateTitleAuditStatusResponse 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: UpdateTitleAuditStatusResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UpdateTitleAuditStatusResponse = UpdateTitleAuditStatusResponse;
class UpdateUserOwnnessHeaders 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.UpdateUserOwnnessHeaders = UpdateUserOwnnessHeaders;
class UpdateUserOwnnessRequest extends $tea.Model {
    static names() {
        return {
            deletedFlag: 'deletedFlag',
            endTime: 'endTime',
            id: 'id',
            ownenssType: 'ownenssType',
            startTime: 'startTime',
        };
    }
    static types() {
        return {
            deletedFlag: 'number',
            endTime: 'number',
            id: 'number',
            ownenssType: 'number',
            startTime: 'number',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UpdateUserOwnnessRequest = UpdateUserOwnnessRequest;
class UpdateUserOwnnessResponseBody extends $tea.Model {
    static names() {
        return {
            result: 'result',
        };
    }
    static types() {
        return {
            result: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UpdateUserOwnnessResponseBody = UpdateUserOwnnessResponseBody;
class UpdateUserOwnnessResponse 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: UpdateUserOwnnessResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UpdateUserOwnnessResponse = UpdateUserOwnnessResponse;
class UserProfileHeaders 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.UserProfileHeaders = UserProfileHeaders;
class UserProfileRequest extends $tea.Model {
    static names() {
        return {
            uids: 'uids',
        };
    }
    static types() {
        return {
            uids: { 'type': 'array', 'itemType': 'number' },
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UserProfileRequest = UserProfileRequest;
class UserProfileShrinkRequest extends $tea.Model {
    static names() {
        return {
            uidsShrink: 'uids',
        };
    }
    static types() {
        return {
            uidsShrink: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UserProfileShrinkRequest = UserProfileShrinkRequest;
class UserProfileResponseBody extends $tea.Model {
    static names() {
        return {
            result: 'result',
        };
    }
    static types() {
        return {
            result: { 'type': 'array', 'itemType': UserProfileResponseBodyResult },
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UserProfileResponseBody = UserProfileResponseBody;
class UserProfileResponse 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: UserProfileResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UserProfileResponse = UserProfileResponse;
class AddContactHideBySceneSettingRequestNodeListSceneConfig extends $tea.Model {
    static names() {
        return {
            active: 'active',
            deptObjectIncludeEmp: 'deptObjectIncludeEmp',
        };
    }
    static types() {
        return {
            active: 'boolean',
            deptObjectIncludeEmp: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.AddContactHideBySceneSettingRequestNodeListSceneConfig = AddContactHideBySceneSettingRequestNodeListSceneConfig;
class AddContactHideBySceneSettingRequestProfileSceneConfig extends $tea.Model {
    static names() {
        return {
            active: 'active',
        };
    }
    static types() {
        return {
            active: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.AddContactHideBySceneSettingRequestProfileSceneConfig = AddContactHideBySceneSettingRequestProfileSceneConfig;
class AddContactHideBySceneSettingRequestSearchSceneConfig extends $tea.Model {
    static names() {
        return {
            active: 'active',
            deptObjectIncludeEmp: 'deptObjectIncludeEmp',
        };
    }
    static types() {
        return {
            active: 'boolean',
            deptObjectIncludeEmp: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.AddContactHideBySceneSettingRequestSearchSceneConfig = AddContactHideBySceneSettingRequestSearchSceneConfig;
class AddEmpAttributeHideBySceneSettingRequestChatSubtitleConfig extends $tea.Model {
    static names() {
        return {
            active: 'active',
        };
    }
    static types() {
        return {
            active: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.AddEmpAttributeHideBySceneSettingRequestChatSubtitleConfig = AddEmpAttributeHideBySceneSettingRequestChatSubtitleConfig;
class AddEmpAttributeHideBySceneSettingRequestProfileSceneConfig extends $tea.Model {
    static names() {
        return {
            active: 'active',
        };
    }
    static types() {
        return {
            active: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.AddEmpAttributeHideBySceneSettingRequestProfileSceneConfig = AddEmpAttributeHideBySceneSettingRequestProfileSceneConfig;
class AddEmpAttributeHideBySceneSettingRequestSearchSceneConfig extends $tea.Model {
    static names() {
        return {
            active: 'active',
        };
    }
    static types() {
        return {
            active: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.AddEmpAttributeHideBySceneSettingRequestSearchSceneConfig = AddEmpAttributeHideBySceneSettingRequestSearchSceneConfig;
class BatchApproveUnionApplyRequestBody extends $tea.Model {
    static names() {
        return {
            branchCorpId: 'branchCorpId',
            linkDeptId: 'linkDeptId',
            unionRootName: 'unionRootName',
        };
    }
    static types() {
        return {
            branchCorpId: 'string',
            linkDeptId: 'number',
            unionRootName: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.BatchApproveUnionApplyRequestBody = BatchApproveUnionApplyRequestBody;
class BatchUpdateExternalTitleRequestUpdateTitleModelList extends $tea.Model {
    static names() {
        return {
            title: 'title',
            userId: 'userId',
        };
    }
    static types() {
        return {
            title: 'string',
            userId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.BatchUpdateExternalTitleRequestUpdateTitleModelList = BatchUpdateExternalTitleRequestUpdateTitleModelList;
class BatchUpdateExternalTitleResponseBodyResultFailedList extends $tea.Model {
    static names() {
        return {
            title: 'title',
            userId: 'userId',
        };
    }
    static types() {
        return {
            title: 'string',
            userId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.BatchUpdateExternalTitleResponseBodyResultFailedList = BatchUpdateExternalTitleResponseBodyResultFailedList;
class BatchUpdateExternalTitleResponseBodyResultModifyList extends $tea.Model {
    static names() {
        return {
            title: 'title',
            userId: 'userId',
        };
    }
    static types() {
        return {
            title: 'string',
            userId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.BatchUpdateExternalTitleResponseBodyResultModifyList = BatchUpdateExternalTitleResponseBodyResultModifyList;
class BatchUpdateExternalTitleResponseBodyResult extends $tea.Model {
    static names() {
        return {
            failedList: 'failedList',
            modifyList: 'modifyList',
            modifyUser: 'modifyUser',
        };
    }
    static types() {
        return {
            failedList: { 'type': 'array', 'itemType': BatchUpdateExternalTitleResponseBodyResultFailedList },
            modifyList: { 'type': 'array', 'itemType': BatchUpdateExternalTitleResponseBodyResultModifyList },
            modifyUser: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.BatchUpdateExternalTitleResponseBodyResult = BatchUpdateExternalTitleResponseBodyResult;
class CreateManagementGroupRequestMembers extends $tea.Model {
    static names() {
        return {
            memberId: 'memberId',
            memberType: 'memberType',
        };
    }
    static types() {
        return {
            memberId: 'string',
            memberType: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.CreateManagementGroupRequestMembers = CreateManagementGroupRequestMembers;
class CreateManagementGroupRequestScope extends $tea.Model {
    static names() {
        return {
            deptIds: 'deptIds',
            scopeType: 'scopeType',
        };
    }
    static types() {
        return {
            deptIds: { 'type': 'array', 'itemType': 'number' },
            scopeType: 'number',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.CreateManagementGroupRequestScope = CreateManagementGroupRequestScope;
class CreateSecondaryManagementGroupRequestMembers extends $tea.Model {
    static names() {
        return {
            memberId: 'memberId',
            memberType: 'memberType',
        };
    }
    static types() {
        return {
            memberId: 'string',
            memberType: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.CreateSecondaryManagementGroupRequestMembers = CreateSecondaryManagementGroupRequestMembers;
class CreateSecondaryManagementGroupRequestScope extends $tea.Model {
    static names() {
        return {
            deptIds: 'deptIds',
            scopeType: 'scopeType',
        };
    }
    static types() {
        return {
            deptIds: { 'type': 'array', 'itemType': 'number' },
            scopeType: 'number',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.CreateSecondaryManagementGroupRequestScope = CreateSecondaryManagementGroupRequestScope;
class GetAccountMappingResponseBodyResult extends $tea.Model {
    static names() {
        return {
            domain: 'domain',
            extension: 'extension',
            outId: 'outId',
            outTenantId: 'outTenantId',
            userId: 'userId',
        };
    }
    static types() {
        return {
            domain: 'string',
            extension: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            outId: 'string',
            outTenantId: 'string',
            userId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetAccountMappingResponseBodyResult = GetAccountMappingResponseBodyResult;
class GetBranchAuthDataResponseBodyResult extends $tea.Model {
    static names() {
        return {
            fieldCode: 'fieldCode',
            fieldName: 'fieldName',
            fieldValue: 'fieldValue',
        };
    }
    static types() {
        return {
            fieldCode: 'string',
            fieldName: 'string',
            fieldValue: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetBranchAuthDataResponseBodyResult = GetBranchAuthDataResponseBodyResult;
class GetCardInfoResponseBodyExtensionCardContactInfoAddressArea extends $tea.Model {
    static names() {
        return {
            region: 'region',
            regionFullName: 'regionFullName',
        };
    }
    static types() {
        return {
            region: 'string',
            regionFullName: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetCardInfoResponseBodyExtensionCardContactInfoAddressArea = GetCardInfoResponseBodyExtensionCardContactInfoAddressArea;
class GetCardInfoResponseBodyExtensionCardContactInfoAddress extends $tea.Model {
    static names() {
        return {
            area: 'area',
            detail: 'detail',
        };
    }
    static types() {
        return {
            area: GetCardInfoResponseBodyExtensionCardContactInfoAddressArea,
            detail: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetCardInfoResponseBodyExtensionCardContactInfoAddress = GetCardInfoResponseBodyExtensionCardContactInfoAddress;
class GetCardInfoResponseBodyExtensionCardContactInfoEmail extends $tea.Model {
    static names() {
        return {
            label: 'label',
            value: 'value',
        };
    }
    static types() {
        return {
            label: 'string',
            value: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetCardInfoResponseBodyExtensionCardContactInfoEmail = GetCardInfoResponseBodyExtensionCardContactInfoEmail;
class GetCardInfoResponseBodyExtensionCardContactInfoLink extends $tea.Model {
    static names() {
        return {
            label: 'label',
            value: 'value',
        };
    }
    static types() {
        return {
            label: 'string',
            value: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetCardInfoResponseBodyExtensionCardContactInfoLink = GetCardInfoResponseBodyExtensionCardContactInfoLink;
class GetCardInfoResponseBodyExtensionCardContactInfoTelephone extends $tea.Model {
    static names() {
        return {
            label: 'label',
            value: 'value',
        };
    }
    static types() {
        return {
            label: 'string',
            value: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetCardInfoResponseBodyExtensionCardContactInfoTelephone = GetCardInfoResponseBodyExtensionCardContactInfoTelephone;
class GetCardInfoResponseBodyExtensionCardContactInfoWorkPhone extends $tea.Model {
    static names() {
        return {
            label: 'label',
            value: 'value',
        };
    }
    static types() {
        return {
            label: 'string',
            value: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetCardInfoResponseBodyExtensionCardContactInfoWorkPhone = GetCardInfoResponseBodyExtensionCardContactInfoWorkPhone;
class GetCardInfoResponseBodyExtensionCardContactInfo extends $tea.Model {
    static names() {
        return {
            address: 'address',
            email: 'email',
            link: 'link',
            telephone: 'telephone',
            workPhone: 'workPhone',
        };
    }
    static types() {
        return {
            address: { 'type': 'array', 'itemType': GetCardInfoResponseBodyExtensionCardContactInfoAddress },
            email: { 'type': 'array', 'itemType': GetCardInfoResponseBodyExtensionCardContactInfoEmail },
            link: { 'type': 'array', 'itemType': GetCardInfoResponseBodyExtensionCardContactInfoLink },
            telephone: { 'type': 'array', 'itemType': GetCardInfoResponseBodyExtensionCardContactInfoTelephone },
            workPhone: { 'type': 'array', 'itemType': GetCardInfoResponseBodyExtensionCardContactInfoWorkPhone },
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetCardInfoResponseBodyExtensionCardContactInfo = GetCardInfoResponseBodyExtensionCardContactInfo;
class GetCardInfoResponseBodyExtension extends $tea.Model {
    static names() {
        return {
            cardContactInfo: 'cardContactInfo',
            corpId: 'corpId',
            department: 'department',
            orgAuthed: 'orgAuthed',
            orgLogo: 'orgLogo',
            originCardUrl: 'originCardUrl',
            shareContent: 'shareContent',
            thumbnailUrl: 'thumbnailUrl',
            videoFileName: 'videoFileName',
            videoTitle: 'videoTitle',
            videoUrl: 'videoUrl',
        };
    }
    static types() {
        return {
            cardContactInfo: GetCardInfoResponseBodyExtensionCardContactInfo,
            corpId: 'string',
            department: 'string',
            orgAuthed: 'boolean',
            orgLogo: 'string',
            originCardUrl: 'string',
            shareContent: 'string',
            thumbnailUrl: 'string',
            videoFileName: 'string',
            videoTitle: 'string',
            videoUrl: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetCardInfoResponseBodyExtension = GetCardInfoResponseBodyExtension;
class GetContactHideBySceneSettingResponseBodyNodeListSceneConfig extends $tea.Model {
    static names() {
        return {
            active: 'active',
            deptObjectIncludeEmp: 'deptObjectIncludeEmp',
        };
    }
    static types() {
        return {
            active: 'boolean',
            deptObjectIncludeEmp: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetContactHideBySceneSettingResponseBodyNodeListSceneConfig = GetContactHideBySceneSettingResponseBodyNodeListSceneConfig;
class GetContactHideBySceneSettingResponseBodyProfileSceneConfig extends $tea.Model {
    static names() {
        return {
            active: 'active',
        };
    }
    static types() {
        return {
            active: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetContactHideBySceneSettingResponseBodyProfileSceneConfig = GetContactHideBySceneSettingResponseBodyProfileSceneConfig;
class GetContactHideBySceneSettingResponseBodySearchSceneConfig extends $tea.Model {
    static names() {
        return {
            active: 'active',
            deptObjectIncludeEmp: 'deptObjectIncludeEmp',
        };
    }
    static types() {
        return {
            active: 'boolean',
            deptObjectIncludeEmp: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetContactHideBySceneSettingResponseBodySearchSceneConfig = GetContactHideBySceneSettingResponseBodySearchSceneConfig;
class GetEmpAttributeHideBySceneSettingResponseBodyChatSubtitleConfig extends $tea.Model {
    static names() {
        return {
            active: 'active',
        };
    }
    static types() {
        return {
            active: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetEmpAttributeHideBySceneSettingResponseBodyChatSubtitleConfig = GetEmpAttributeHideBySceneSettingResponseBodyChatSubtitleConfig;
class GetEmpAttributeHideBySceneSettingResponseBodyProfileSceneConfig extends $tea.Model {
    static names() {
        return {
            active: 'active',
        };
    }
    static types() {
        return {
            active: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetEmpAttributeHideBySceneSettingResponseBodyProfileSceneConfig = GetEmpAttributeHideBySceneSettingResponseBodyProfileSceneConfig;
class GetEmpAttributeHideBySceneSettingResponseBodySearchSceneConfig extends $tea.Model {
    static names() {
        return {
            active: 'active',
        };
    }
    static types() {
        return {
            active: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetEmpAttributeHideBySceneSettingResponseBodySearchSceneConfig = GetEmpAttributeHideBySceneSettingResponseBodySearchSceneConfig;
class GetUserCardHolderListResponseBodyList extends $tea.Model {
    static names() {
        return {
            avatarUrl: 'avatarUrl',
            cardAcceptStatus: 'cardAcceptStatus',
            cardAcceptTimeLong: 'cardAcceptTimeLong',
            cardId: 'cardId',
            cardSource: 'cardSource',
            extension: 'extension',
            industryName: 'industryName',
            introduce: 'introduce',
            name: 'name',
            orgName: 'orgName',
            templateId: 'templateId',
            title: 'title',
        };
    }
    static types() {
        return {
            avatarUrl: 'string',
            cardAcceptStatus: 'number',
            cardAcceptTimeLong: 'number',
            cardId: 'string',
            cardSource: 'number',
            extension: { 'type': 'map', 'keyType': 'string', 'valueType': 'any' },
            industryName: 'string',
            introduce: 'string',
            name: 'string',
            orgName: 'string',
            templateId: 'string',
            title: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetUserCardHolderListResponseBodyList = GetUserCardHolderListResponseBodyList;
class ListBasicRoleInPageResponseBodyListOpenActionOpenConditionOpenContactScope extends $tea.Model {
    static names() {
        return {
            deptIds: 'deptIds',
            includeMemberDepts: 'includeMemberDepts',
            includeSelfManageDepts: 'includeSelfManageDepts',
            userIds: 'userIds',
        };
    }
    static types() {
        return {
            deptIds: { 'type': 'array', 'itemType': 'number' },
            includeMemberDepts: 'boolean',
            includeSelfManageDepts: 'boolean',
            userIds: { 'type': 'array', 'itemType': 'string' },
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.ListBasicRoleInPageResponseBodyListOpenActionOpenConditionOpenContactScope = ListBasicRoleInPageResponseBodyListOpenActionOpenConditionOpenContactScope;
class ListBasicRoleInPageResponseBodyListOpenActionOpenCondition extends $tea.Model {
    static names() {
        return {
            openContactScope: 'openContactScope',
        };
    }
    static types() {
        return {
            openContactScope: ListBasicRoleInPageResponseBodyListOpenActionOpenConditionOpenContactScope,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.ListBasicRoleInPageResponseBodyListOpenActionOpenCondition = ListBasicRoleInPageResponseBodyListOpenActionOpenCondition;
class ListBasicRoleInPageResponseBodyListOpenAction extends $tea.Model {
    static names() {
        return {
            actionIds: 'actionIds',
            openCondition: 'openCondition',
        };
    }
    static types() {
        return {
            actionIds: { 'type': 'array', 'itemType': 'string' },
            openCondition: ListBasicRoleInPageResponseBodyListOpenActionOpenCondition,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.ListBasicRoleInPageResponseBodyListOpenAction = ListBasicRoleInPageResponseBodyListOpenAction;
class ListBasicRoleInPageResponseBodyListOpenMembers extends $tea.Model {
    static names() {
        return {
            belongCorpId: 'belongCorpId',
            memberId: 'memberId',
            memberType: 'memberType',
            operateUserId: 'operateUserId',
        };
    }
    static types() {
        return {
            belongCorpId: 'string',
            memberId: 'string',
            memberType: 'string',
            operateUserId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.ListBasicRoleInPageResponseBodyListOpenMembers = ListBasicRoleInPageResponseBodyListOpenMembers;
class ListBasicRoleInPageResponseBodyList extends $tea.Model {
    static names() {
        return {
            openAction: 'openAction',
            openMembers: 'openMembers',
            openResources: 'openResources',
            openRoleId: 'openRoleId',
            openRoleName: 'openRoleName',
        };
    }
    static types() {
        return {
            openAction: ListBasicRoleInPageResponseBodyListOpenAction,
            openMembers: { 'type': 'array', 'itemType': ListBasicRoleInPageResponseBodyListOpenMembers },
            openResources: { 'type': 'array', 'itemType': 'string' },
            openRoleId: 'string',
            openRoleName: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.ListBasicRoleInPageResponseBodyList = ListBasicRoleInPageResponseBodyList;
class ListContactHideSettingsResponseBodyList extends $tea.Model {
    static names() {
        return {
            active: 'active',
            description: 'description',
            excludeDeptIds: 'excludeDeptIds',
            excludeStaffIds: 'excludeStaffIds',
            excludeTagIds: 'excludeTagIds',
            id: 'id',
            name: 'name',
            objectDeptIds: 'objectDeptIds',
            objectStaffIds: 'objectStaffIds',
            objectTagIds: 'objectTagIds',
        };
    }
    static types() {
        return {
            active: 'boolean',
            description: 'string',
            excludeDeptIds: { 'type': 'array', 'itemType': 'number' },
            excludeStaffIds: { 'type': 'array', 'itemType': 'string' },
            excludeTagIds: { 'type': 'array', 'itemType': 'number' },
            id: 'number',
            name: 'string',
            objectDeptIds: { 'type': 'array', 'itemType': 'number' },
            objectStaffIds: { 'type': 'array', 'itemType': 'string' },
            objectTagIds: { 'type': 'array', 'itemType': 'number' },
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.ListContactHideSettingsResponseBodyList = ListContactHideSettingsResponseBodyList;
class ListContactRestrictSettingResponseBodyList extends $tea.Model {
    static names() {
        return {
            active: 'active',
            description: 'description',
            excludeDeptIds: 'excludeDeptIds',
            excludeTagIds: 'excludeTagIds',
            excludeUserIds: 'excludeUserIds',
            id: 'id',
            name: 'name',
            restrictInSearch: 'restrictInSearch',
            restrictInUserProfile: 'restrictInUserProfile',
            subjectDeptIds: 'subjectDeptIds',
            subjectTagIds: 'subjectTagIds',
            subjectUserIds: 'subjectUserIds',
            type: 'type',
        };
    }
    static types() {
        return {
            active: 'boolean',
            description: 'string',
            excludeDeptIds: { 'type': 'array', 'itemType': 'number' },
            excludeTagIds: { 'type': 'array', 'itemType': 'number' },
            excludeUserIds: { 'type': 'array', 'itemType': 'string' },
            id: 'number',
            name: 'string',
            restrictInSearch: 'boolean',
            restrictInUserProfile: 'boolean',
            subjectDeptIds: { 'type': 'array', 'itemType': 'number' },
            subjectTagIds: { 'type': 'array', 'itemType': 'number' },
            subjectUserIds: { 'type': 'array', 'itemType': 'string' },
            type: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.ListContactRestrictSettingResponseBodyList = ListContactRestrictSettingResponseBodyList;
class ListEmpAttributeVisibilityResponseBodyList extends $tea.Model {
    static names() {
        return {
            active: 'active',
            description: 'description',
            excludeDeptIds: 'excludeDeptIds',
            excludeStaffIds: 'excludeStaffIds',
            excludeTagIds: 'excludeTagIds',
            gmtCreate: 'gmtCreate',
            gmtModified: 'gmtModified',
            hideFields: 'hideFields',
            id: 'id',
            name: 'name',
            objectDeptIds: 'objectDeptIds',
            objectStaffIds: 'objectStaffIds',
            objectTagIds: 'objectTagIds',
        };
    }
    static types() {
        return {
            active: 'boolean',
            description: 'string',
            excludeDeptIds: { 'type': 'array', 'itemType': 'number' },
            excludeStaffIds: { 'type': 'array', 'itemType': 'string' },
            excludeTagIds: { 'type': 'array', 'itemType': 'number' },
            gmtCreate: 'string',
            gmtModified: 'string',
            hideFields: { 'type': 'array', 'itemType': 'string' },
            id: 'number',
            name: 'string',
            objectDeptIds: { 'type': 'array', 'itemType': 'number' },
            objectStaffIds: { 'type': 'array', 'itemType': 'string' },
            objectTagIds: { 'type': 'array', 'itemType': 'number' },
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.ListEmpAttributeVisibilityResponseBodyList = ListEmpAttributeVisibilityResponseBodyList;
class ListEmpLeaveRecordsResponseBodyRecords extends $tea.Model {
    static names() {
        return {
            leaveReason: 'leaveReason',
            leaveTime: 'leaveTime',
            mobile: 'mobile',
            name: 'name',
            stateCode: 'stateCode',
            userId: 'userId',
        };
    }
    static types() {
        return {
            leaveReason: 'string',
            leaveTime: 'string',
            mobile: 'string',
            name: 'string',
            stateCode: 'string',
            userId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.ListEmpLeaveRecordsResponseBodyRecords = ListEmpLeaveRecordsResponseBodyRecords;
class ListManagementGroupsResponseBodyGroupsMembers extends $tea.Model {
    static names() {
        return {
            memberId: 'memberId',
            memberType: 'memberType',
        };
    }
    static types() {
        return {
            memberId: 'string',
            memberType: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.ListManagementGroupsResponseBodyGroupsMembers = ListManagementGroupsResponseBodyGroupsMembers;
class ListManagementGroupsResponseBodyGroupsScope extends $tea.Model {
    static names() {
        return {
            deptIds: 'deptIds',
            scopeType: 'scopeType',
        };
    }
    static types() {
        return {
            deptIds: { 'type': 'array', 'itemType': 'number' },
            scopeType: 'number',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.ListManagementGroupsResponseBodyGroupsScope = ListManagementGroupsResponseBodyGroupsScope;
class ListManagementGroupsResponseBodyGroups extends $tea.Model {
    static names() {
        return {
            groupId: 'groupId',
            groupName: 'groupName',
            members: 'members',
            resourceIds: 'resourceIds',
            scope: 'scope',
        };
    }
    static types() {
        return {
            groupId: 'string',
            groupName: 'string',
            members: { 'type': 'array', 'itemType': ListManagementGroupsResponseBodyGroupsMembers },
            resourceIds: { 'type': 'array', 'itemType': 'string' },
            scope: ListManagementGroupsResponseBodyGroupsScope,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.ListManagementGroupsResponseBodyGroups = ListManagementGroupsResponseBodyGroups;
class ListOwnedOrgByStaffIdResponseBodyOrgList extends $tea.Model {
    static names() {
        return {
            corpId: 'corpId',
            corpName: 'corpName',
        };
    }
    static types() {
        return {
            corpId: 'string',
            corpName: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.ListOwnedOrgByStaffIdResponseBodyOrgList = ListOwnedOrgByStaffIdResponseBodyOrgList;
class ListSeniorSettingsResponseBodySeniorWhiteList extends $tea.Model {
    static names() {
        return {
            id: 'id',
            name: 'name',
            type: 'type',
        };
    }
    static types() {
        return {
            id: 'string',
            name: 'string',
            type: 'number',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.ListSeniorSettingsResponseBodySeniorWhiteList = ListSeniorSettingsResponseBodySeniorWhiteList;
class OrgInfoResponseBodyResult extends $tea.Model {
    static names() {
        return {
            id: 'id',
            name: 'name',
        };
    }
    static types() {
        return {
            id: 'number',
            name: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.OrgInfoResponseBodyResult = OrgInfoResponseBodyResult;
class QueryCorpStatisticDataResponseBodyResult extends $tea.Model {
    static names() {
        return {
            cardBeReceivedTotalCnt: 'cardBeReceivedTotalCnt',
            cardReceiveTotalCnt: 'cardReceiveTotalCnt',
            cardTotalBeVisitedCnt: 'cardTotalBeVisitedCnt',
            dataDate: 'dataDate',
            dingTotalShareCnt: 'dingTotalShareCnt',
            totalSendCnt: 'totalSendCnt',
            wechatTotalShareCnt: 'wechatTotalShareCnt',
        };
    }
    static types() {
        return {
            cardBeReceivedTotalCnt: 'number',
            cardReceiveTotalCnt: 'number',
            cardTotalBeVisitedCnt: 'number',
            dataDate: 'string',
            dingTotalShareCnt: 'number',
            totalSendCnt: 'number',
            wechatTotalShareCnt: 'number',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryCorpStatisticDataResponseBodyResult = QueryCorpStatisticDataResponseBodyResult;
class QueryCorpUserStatisticResponseBodyList extends $tea.Model {
    static names() {
        return {
            avatarUrl: 'avatarUrl',
            name: 'name',
            receiveCnt: 'receiveCnt',
            sendCnt: 'sendCnt',
            unionId: 'unionId',
        };
    }
    static types() {
        return {
            avatarUrl: 'string',
            name: 'string',
            receiveCnt: 'number',
            sendCnt: 'number',
            unionId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryCorpUserStatisticResponseBodyList = QueryCorpUserStatisticResponseBodyList;
class QueryResourceManagementMembersResponseBodyMembers extends $tea.Model {
    static names() {
        return {
            memberId: 'memberId',
            memberType: 'memberType',
        };
    }
    static types() {
        return {
            memberId: 'string',
            memberType: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryResourceManagementMembersResponseBodyMembers = QueryResourceManagementMembersResponseBodyMembers;
class UpdateBranchAttributesInCooperateRequestBody extends $tea.Model {
    static names() {
        return {
            branchCorpId: 'branchCorpId',
            linkDeptId: 'linkDeptId',
            unionRootName: 'unionRootName',
        };
    }
    static types() {
        return {
            branchCorpId: 'string',
            linkDeptId: 'number',
            unionRootName: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UpdateBranchAttributesInCooperateRequestBody = UpdateBranchAttributesInCooperateRequestBody;
class UpdateBranchVisibleSettingInCooperateRequestBody extends $tea.Model {
    static names() {
        return {
            branchCorpId: 'branchCorpId',
            open: 'open',
            type: 'type',
            visibleBranchCorpIds: 'visibleBranchCorpIds',
            visibleDeptIds: 'visibleDeptIds',
        };
    }
    static types() {
        return {
            branchCorpId: 'string',
            open: 'boolean',
            type: 'number',
            visibleBranchCorpIds: { 'type': 'array', 'itemType': 'string' },
            visibleDeptIds: { 'type': 'array', 'itemType': 'number' },
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UpdateBranchVisibleSettingInCooperateRequestBody = UpdateBranchVisibleSettingInCooperateRequestBody;
class UpdateContactHideBySceneSettingRequestNodeListSceneConfig extends $tea.Model {
    static names() {
        return {
            active: 'active',
            deptObjectIncludeEmp: 'deptObjectIncludeEmp',
        };
    }
    static types() {
        return {
            active: 'boolean',
            deptObjectIncludeEmp: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UpdateContactHideBySceneSettingRequestNodeListSceneConfig = UpdateContactHideBySceneSettingRequestNodeListSceneConfig;
class UpdateContactHideBySceneSettingRequestProfileSceneConfig extends $tea.Model {
    static names() {
        return {
            active: 'active',
        };
    }
    static types() {
        return {
            active: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UpdateContactHideBySceneSettingRequestProfileSceneConfig = UpdateContactHideBySceneSettingRequestProfileSceneConfig;
class UpdateContactHideBySceneSettingRequestSearchSceneConfig extends $tea.Model {
    static names() {
        return {
            active: 'active',
            deptObjectIncludeEmp: 'deptObjectIncludeEmp',
        };
    }
    static types() {
        return {
            active: 'boolean',
            deptObjectIncludeEmp: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UpdateContactHideBySceneSettingRequestSearchSceneConfig = UpdateContactHideBySceneSettingRequestSearchSceneConfig;
class UpdateEmpAttributeHideBySceneSettingRequestChatSubtitleConfig extends $tea.Model {
    static names() {
        return {
            active: 'active',
        };
    }
    static types() {
        return {
            active: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UpdateEmpAttributeHideBySceneSettingRequestChatSubtitleConfig = UpdateEmpAttributeHideBySceneSettingRequestChatSubtitleConfig;
class UpdateEmpAttributeHideBySceneSettingRequestProfileSceneConfig extends $tea.Model {
    static names() {
        return {
            active: 'active',
        };
    }
    static types() {
        return {
            active: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UpdateEmpAttributeHideBySceneSettingRequestProfileSceneConfig = UpdateEmpAttributeHideBySceneSettingRequestProfileSceneConfig;
class UpdateEmpAttributeHideBySceneSettingRequestSearchSceneConfig extends $tea.Model {
    static names() {
        return {
            active: 'active',
        };
    }
    static types() {
        return {
            active: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UpdateEmpAttributeHideBySceneSettingRequestSearchSceneConfig = UpdateEmpAttributeHideBySceneSettingRequestSearchSceneConfig;
class UpdateManagementGroupRequestMembers extends $tea.Model {
    static names() {
        return {
            memberId: 'memberId',
            memberType: 'memberType',
        };
    }
    static types() {
        return {
            memberId: 'string',
            memberType: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UpdateManagementGroupRequestMembers = UpdateManagementGroupRequestMembers;
class UpdateManagementGroupRequestScope extends $tea.Model {
    static names() {
        return {
            deptIds: 'deptIds',
            scopeType: 'scopeType',
        };
    }
    static types() {
        return {
            deptIds: { 'type': 'array', 'itemType': 'number' },
            scopeType: 'number',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UpdateManagementGroupRequestScope = UpdateManagementGroupRequestScope;
class UserProfileResponseBodyResult extends $tea.Model {
    static names() {
        return {
            mobile: 'mobile',
            nick: 'nick',
            orgIds: 'orgIds',
            stateCode: 'stateCode',
        };
    }
    static types() {
        return {
            mobile: 'string',
            nick: 'string',
            orgIds: 'string',
            stateCode: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UserProfileResponseBodyResult = UserProfileResponseBodyResult;
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 - AddAccountMappingRequest
     * @param headers - AddAccountMappingHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns AddAccountMappingResponse
     */
    async addAccountMappingWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.domain)) {
            body["domain"] = request.domain;
        }
        if (!tea_util_1.default.isUnset(request.extension)) {
            body["extension"] = request.extension;
        }
        if (!tea_util_1.default.isUnset(request.outId)) {
            body["outId"] = request.outId;
        }
        if (!tea_util_1.default.isUnset(request.outTenantId)) {
            body["outTenantId"] = request.outTenantId;
        }
        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: "AddAccountMapping",
            version: "contact_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/contact/accountMappings`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new AddAccountMappingResponse({}));
    }
    /**
     * 创建账号映射
     *
     * @param request - AddAccountMappingRequest
     * @returns AddAccountMappingResponse
     */
    async addAccountMapping(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new AddAccountMappingHeaders({});
        return await this.addAccountMappingWithOptions(request, headers, runtime);
    }
    /**
     * 添加通讯录组织架构分场景隐藏设置
     *
     * @param request - AddContactHideBySceneSettingRequest
     * @param headers - AddContactHideBySceneSettingHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns AddContactHideBySceneSettingResponse
     */
    async addContactHideBySceneSettingWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.description)) {
            body["description"] = request.description;
        }
        if (!tea_util_1.default.isUnset(request.excludeDeptIds)) {
            body["excludeDeptIds"] = request.excludeDeptIds;
        }
        if (!tea_util_1.default.isUnset(request.excludeTagIds)) {
            body["excludeTagIds"] = request.excludeTagIds;
        }
        if (!tea_util_1.default.isUnset(request.excludeUserIds)) {
            body["excludeUserIds"] = request.excludeUserIds;
        }
        if (!tea_util_1.default.isUnset(request.name)) {
            body["name"] = request.name;
        }
        if (!tea_util_1.default.isUnset(request.nodeListSceneConfig)) {
            body["nodeListSceneConfig"] = request.nodeListSceneConfig;
        }
        if (!tea_util_1.default.isUnset(request.objectDeptIds)) {
            body["objectDeptIds"] = request.objectDeptIds;
        }
        if (!tea_util_1.default.isUnset(request.objectTagIds)) {
            body["objectTagIds"] = request.objectTagIds;
        }
        if (!tea_util_1.default.isUnset(request.objectUserIds)) {
            body["objectUserIds"] = request.objectUserIds;
        }
        if (!tea_util_1.default.isUnset(request.profileSceneConfig)) {
            body["profileSceneConfig"] = request.profileSceneConfig;
        }
        if (!tea_util_1.default.isUnset(request.searchSceneConfig)) {
            body["searchSceneConfig"] = request.searchSceneConfig;
        }
        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: "AddContactHideBySceneSetting",
            version: "contact_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/contact/organizations/hides/settings`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new AddContactHideBySceneSettingResponse({}));
    }
    /**
     * 添加通讯录组织架构分场景隐藏设置
     *
     * @param request - AddContactHideBySceneSettingRequest
     * @returns AddContactHideBySceneSettingResponse
     */
    async addContactHideBySceneSetting(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new AddContactHideBySceneSettingHeaders({});
        return await this.addContactHideBySceneSettingWithOptions(request, headers, runtime);
    }
    /**
     * 添加员工属性分场景隐藏设置
     *
     * @param request - AddEmpAttributeHideBySceneSettingRequest
     * @param headers - AddEmpAttributeHideBySceneSettingHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns AddEmpAttributeHideBySceneSettingResponse
     */
    async addEmpAttributeHideBySceneSettingWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.chatSubtitleConfig)) {
            body["chatSubtitleConfig"] = request.chatSubtitleConfig;
        }
        if (!tea_util_1.default.isUnset(request.description)) {
            body["description"] = request.description;
        }
        if (!tea_util_1.default.isUnset(request.excludeDeptIds)) {
            body["excludeDeptIds"] = request.excludeDeptIds;
        }
        if (!tea_util_1.default.isUnset(request.excludeTagIds)) {
            body["excludeTagIds"] = request.excludeTagIds;
        }
        if (!tea_util_1.default.isUnset(request.excludeUserIds)) {
            body["excludeUserIds"] = request.excludeUserIds;
        }
        if (!tea_util_1.default.isUnset(request.hideFields)) {
            body["hideFields"] = request.hideFields;
        }
        if (!tea_util_1.default.isUnset(request.name)) {
            body["name"] = request.name;
        }
        if (!tea_util_1.default.isUnset(request.objectDeptIds)) {
            body["objectDeptIds"] = request.objectDeptIds;
        }
        if (!tea_util_1.default.isUnset(request.objectTagIds)) {
            body["objectTagIds"] = request.objectTagIds;
        }
        if (!tea_util_1.default.isUnset(request.objectUserIds)) {
            body["objectUserIds"] = request.objectUserIds;
        }
        if (!tea_util_1.default.isUnset(request.profileSceneConfig)) {
            body["profileSceneConfig"] = request.profileSceneConfig;
        }
        if (!tea_util_1.default.isUnset(request.searchSceneConfig)) {
            body["searchSceneConfig"] = request.searchSceneConfig;
        }
        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: "AddEmpAttributeHideBySceneSetting",
            version: "contact_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/contact/empAttributes/hides/settings`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new AddEmpAttributeHideBySceneSettingResponse({}));
    }
    /**
     * 添加员工属性分场景隐藏设置
     *
     * @param request - AddEmpAttributeHideBySceneSettingRequest
     * @returns AddEmpAttributeHideBySceneSettingResponse
     */
    async addEmpAttributeHideBySceneSetting(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new AddEmpAttributeHideBySceneSettingHeaders({});
        return await this.addEmpAttributeHideBySceneSettingWithOptions(request, headers, runtime);
    }
    /**
     * 新增企业账号工作状态
     *
     * @param request - AddOrgAccountOwnnessRequest
     * @param headers - AddOrgAccountOwnnessHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns AddOrgAccountOwnnessResponse
     */
    async addOrgAccountOwnnessWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let query = {};
        if (!tea_util_1.default.isUnset(request.userId)) {
            query["userId"] = request.userId;
        }
        let body = {};
        if (!tea_util_1.default.isUnset(request.endTime)) {
            body["endTime"] = request.endTime;
        }
        if (!tea_util_1.default.isUnset(request.ownenssType)) {
            body["ownenssType"] = request.ownenssType;
        }
        if (!tea_util_1.default.isUnset(request.ownnessId)) {
            body["ownnessId"] = request.ownnessId;
        }
        if (!tea_util_1.default.isUnset(request.startTime)) {
            body["startTime"] = request.startTime;
        }
        if (!tea_util_1.default.isUnset(request.text)) {
            body["text"] = request.text;
        }
        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: "AddOrgAccountOwnness",
            version: "contact_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/contact/orgAccounts/owness`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new AddOrgAccountOwnnessResponse({}));
    }
    /**
     * 新增企业账号工作状态
     *
     * @param request - AddOrgAccountOwnnessRequest
     * @returns AddOrgAccountOwnnessResponse
     */
    async addOrgAccountOwnness(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new AddOrgAccountOwnnessHeaders({});
        return await this.addOrgAccountOwnnessWithOptions(request, headers, runtime);
    }
    /**
     * 年检认证审核
     *
     * @param request - AnnualCertificationAuditRequest
     * @param headers - AnnualCertificationAuditHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns AnnualCertificationAuditResponse
     */
    async annualCertificationAuditWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.applicantMobile)) {
            body["applicantMobile"] = request.applicantMobile;
        }
        if (!tea_util_1.default.isUnset(request.applicantName)) {
            body["applicantName"] = request.applicantName;
        }
        if (!tea_util_1.default.isUnset(request.applicationLetter)) {
            body["applicationLetter"] = request.applicationLetter;
        }
        if (!tea_util_1.default.isUnset(request.authStatus)) {
            body["authStatus"] = request.authStatus;
        }
        if (!tea_util_1.default.isUnset(request.certificateType)) {
            body["certificateType"] = request.certificateType;
        }
        if (!tea_util_1.default.isUnset(request.corpName)) {
            body["corpName"] = request.corpName;
        }
        if (!tea_util_1.default.isUnset(request.depositaryBank)) {
            body["depositaryBank"] = request.depositaryBank;
        }
        if (!tea_util_1.default.isUnset(request.extension)) {
            body["extension"] = request.extension;
        }
        if (!tea_util_1.default.isUnset(request.legalPerson)) {
            body["legalPerson"] = request.legalPerson;
        }
        if (!tea_util_1.default.isUnset(request.licenseNumber)) {
            body["licenseNumber"] = request.licenseNumber;
        }
        if (!tea_util_1.default.isUnset(request.licenseUrl)) {
            body["licenseUrl"] = request.licenseUrl;
        }
        if (!tea_util_1.default.isUnset(request.orderId)) {
            body["orderId"] = request.orderId;
        }
        if (!tea_util_1.default.isUnset(request.publicAccount)) {
            body["publicAccount"] = request.publicAccount;
        }
        if (!tea_util_1.default.isUnset(request.reasonCode)) {
            body["reasonCode"] = request.reasonCode;
        }
        if (!tea_util_1.default.isUnset(request.reasonMsg)) {
            body["reasonMsg"] = request.reasonMsg;
        }
        if (!tea_util_1.default.isUnset(request.tag)) {
            body["tag"] = request.tag;
        }
        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: "AnnualCertificationAudit",
            version: "contact_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/contact/organizations/authorities/audit`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new AnnualCertificationAuditResponse({}));
    }
    /**
     * 年检认证审核
     *
     * @param request - AnnualCertificationAuditRequest
     * @returns AnnualCertificationAuditResponse
     */
    async annualCertificationAudit(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new AnnualCertificationAuditHeaders({});
        return await this.annualCertificationAuditWithOptions(request, headers, runtime);
    }
    /**
     * 批量同意(合作空间/集团)的关联申请
     *
     * @param request - BatchApproveUnionApplyRequest
     * @param headers - BatchApproveUnionApplyHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns BatchApproveUnionApplyResponse
     */
    async batchApproveUnionApplyWithOptions(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: tea_util_1.default.toArray(request.body),
        });
        let params = new $OpenApi.Params({
            action: "BatchApproveUnionApply",
            version: "contact_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/contact/cooperateCorps/unionApplications/approve`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new BatchApproveUnionApplyResponse({}));
    }
    /**
     * 批量同意(合作空间/集团)的关联申请
     *
     * @param request - BatchApproveUnionApplyRequest
     * @returns BatchApproveUnionApplyResponse
     */
    async batchApproveUnionApply(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new BatchApproveUnionApplyHeaders({});
        return await this.batchApproveUnionApplyWithOptions(request, headers, runtime);
    }
    /**
     * 批量修改企业员工对外职位信息
     *
     * @param request - BatchUpdateExternalTitleRequest
     * @param headers - BatchUpdateExternalTitleHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns BatchUpdateExternalTitleResponse
     */
    async batchUpdateExternalTitleWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.operatorUserId)) {
            body["operatorUserId"] = request.operatorUserId;
        }
        if (!tea_util_1.default.isUnset(request.updateTitleModelList)) {
            body["updateTitleModelList"] = request.updateTitleModelList;
        }
        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: "BatchUpdateExternalTitle",
            version: "contact_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/contact/externalTitles`,
            method: "PUT",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new BatchUpdateExternalTitleResponse({}));
    }
    /**
     * 批量修改企业员工对外职位信息
     *
     * @param request - BatchUpdateExternalTitleRequest
     * @returns BatchUpdateExternalTitleResponse
     */
    async batchUpdateExternalTitle(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new BatchUpdateExternalTitleHeaders({});
        return await this.batchUpdateExternalTitleWithOptions(request, headers, runtime);
    }
    /**
     * 修改钉钉号
     *
     * @param request - ChangeDingTalkIdRequest
     * @param headers - ChangeDingTalkIdHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns ChangeDingTalkIdResponse
     */
    async changeDingTalkIdWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.dingTalkId)) {
            body["dingTalkId"] = request.dingTalkId;
        }
        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: "ChangeDingTalkId",
            version: "contact_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/contact/orgAccounts/dingTalkIds/change`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new ChangeDingTalkIdResponse({}));
    }
    /**
     * 修改钉钉号
     *
     * @param request - ChangeDingTalkIdRequest
     * @returns ChangeDingTalkIdResponse
     */
    async changeDingTalkId(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new ChangeDingTalkIdHeaders({});
        return await this.changeDingTalkIdWithOptions(request, headers, runtime);
    }
    /**
     * 专属帐号转交主管理员(创建者)
     *
     * @param request - ChangeMainAdminRequest
     * @param headers - ChangeMainAdminHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns ChangeMainAdminResponse
     */
    async changeMainAdminWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.effectCorpId)) {
            body["effectCorpId"] = request.effectCorpId;
        }
        if (!tea_util_1.default.isUnset(request.sourceUserId)) {
            body["sourceUserId"] = request.sourceUserId;
        }
        if (!tea_util_1.default.isUnset(request.targetUserId)) {
            body["targetUserId"] = request.targetUserId;
        }
        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: "ChangeMainAdmin",
            version: "contact_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/contact/orgAccounts/mainAdministrators/change`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "none",
        });
        return $tea.cast(await this.execute(params, req, runtime), new ChangeMainAdminResponse({}));
    }
    /**
     * 专属帐号转交主管理员(创建者)
     *
     * @param request - ChangeMainAdminRequest
     * @returns ChangeMainAdminResponse
     */
    async changeMainAdmin(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new ChangeMainAdminHeaders({});
        return await this.changeMainAdminWithOptions(request, headers, runtime);
    }
    /**
     * 考证上钉-isv-证书颁发接口
     *
     * @param request - CourseFinishCourseRequest
     * @param headers - CourseFinishCourseHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns CourseFinishCourseResponse
     */
    async courseFinishCourseWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.certId)) {
            body["certId"] = request.certId;
        }
        if (!tea_util_1.default.isUnset(request.certMediaBase64)) {
            body["certMediaBase64"] = request.certMediaBase64;
        }
        if (!tea_util_1.default.isUnset(request.courseId)) {
            body["courseId"] = request.courseId;
        }
        if (!tea_util_1.default.isUnset(request.status)) {
            body["status"] = request.status;
        }
        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: "CourseFinishCourse",
            version: "contact_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/contact/course/finishCourse`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new CourseFinishCourseResponse({}));
    }
    /**
     * 考证上钉-isv-证书颁发接口
     *
     * @param request - CourseFinishCourseRequest
     * @returns CourseFinishCourseResponse
     */
    async courseFinishCourse(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new CourseFinishCourseHeaders({});
        return await this.courseFinishCourseWithOptions(request, headers, runtime);
    }
    /**
     * 创建合作空间
     *
     * @param request - CreateCooperateOrgRequest
     * @param headers - CreateCooperateOrgHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns CreateCooperateOrgResponse
     */
    async createCooperateOrgWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.industryCode)) {
            body["industryCode"] = request.industryCode;
        }
        if (!tea_util_1.default.isUnset(request.logoMediaId)) {
            body["logoMediaId"] = request.logoMediaId;
        }
        if (!tea_util_1.default.isUnset(request.orgName)) {
            body["orgName"] = request.orgName;
        }
        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: "CreateCooperateOrg",
            version: "contact_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/contact/cooperateCorps`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "json",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new CreateCooperateOrgResponse({}));
    }
    /**
     * 创建合作空间
     *
     * @param request - CreateCooperateOrgRequest
     * @returns CreateCooperateOrgResponse
     */
    async createCooperateOrg(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new CreateCooperateOrgHeaders({});
        return await this.createCooperateOrgWithOptions(request, headers, runtime);
    }
    /**
     * 创建管理组
     *
     * @param request - CreateManagementGroupRequest
     * @param headers - CreateManagementGroupHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns CreateManagementGroupResponse
     */
    async createManagementGroupWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.groupName)) {
            body["groupName"] = request.groupName;
        }
        if (!tea_util_1.default.isUnset(request.members)) {
            body["members"] = request.members;
        }
        if (!tea_util_1.default.isUnset(request.resourceIds)) {
            body["resourceIds"] = request.resourceIds;
        }
        if (!tea_util_1.default.isUnset(request.scope)) {
            body["scope"] = request.scope;
        }
        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: "CreateManagementGroup",
            version: "contact_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/contact/managementGroups`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "json",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new CreateManagementGroupResponse({}));
    }
    /**
     * 创建管理组
     *
     * @param request - CreateManagementGroupRequest
     * @returns CreateManagementGroupResponse
     */
    async createManagementGroup(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new CreateManagementGroupHeaders({});
        return await this.createManagementGroupWithOptions(request, headers, runtime);
    }
    /**
     * 子管理员创建管理组
     *
     * @param request - CreateSecondaryManagementGroupRequest
     * @param headers - CreateSecondaryManagementGroupHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns CreateSecondaryManagementGroupResponse
     */
    async createSecondaryManagementGroupWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let query = {};
        if (!tea_util_1.default.isUnset(request.userId)) {
            query["userId"] = request.userId;
        }
        let body = {};
        if (!tea_util_1.default.isUnset(request.groupName)) {
            body["groupName"] = request.groupName;
        }
        if (!tea_util_1.default.isUnset(request.members)) {
            body["members"] = request.members;
        }
        if (!tea_util_1.default.isUnset(request.resourceIds)) {
            body["resourceIds"] = request.resourceIds;
        }
        if (!tea_util_1.default.isUnset(request.scope)) {
            body["scope"] = request.scope;
        }
        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: "CreateSecondaryManagementGroup",
            version: "contact_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/contact/secondaryAdministrators/managementGroups`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new CreateSecondaryManagementGroupResponse({}));
    }
    /**
     * 子管理员创建管理组
     *
     * @param request - CreateSecondaryManagementGroupRequest
     * @returns CreateSecondaryManagementGroupResponse
     */
    async createSecondaryManagementGroup(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new CreateSecondaryManagementGroupHeaders({});
        return await this.createSecondaryManagementGroupWithOptions(request, headers, runtime);
    }
    /**
     * 删除账号映射
     *
     * @param request - DelAccountMappingRequest
     * @param headers - DelAccountMappingHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns DelAccountMappingResponse
     */
    async delAccountMappingWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let query = {};
        if (!tea_util_1.default.isUnset(request.domain)) {
            query["domain"] = request.domain;
        }
        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: "DelAccountMapping",
            version: "contact_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/contact/accountMappings`,
            method: "DELETE",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new DelAccountMappingResponse({}));
    }
    /**
     * 删除账号映射
     *
     * @param request - DelAccountMappingRequest
     * @returns DelAccountMappingResponse
     */
    async delAccountMapping(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new DelAccountMappingHeaders({});
        return await this.delAccountMappingWithOptions(request, headers, runtime);
    }
    /**
     * 删除企业账号工作状态
     *
     * @param request - DelOrgAccUserOwnnessRequest
     * @param headers - DelOrgAccUserOwnnessHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns DelOrgAccUserOwnnessResponse
     */
    async delOrgAccUserOwnnessWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let query = {};
        if (!tea_util_1.default.isUnset(request.ownenssType)) {
            query["ownenssType"] = request.ownenssType;
        }
        if (!tea_util_1.default.isUnset(request.ownnessId)) {
            query["ownnessId"] = request.ownnessId;
        }
        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: "DelOrgAccUserOwnness",
            version: "contact_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/contact/orgAccounts/ownness`,
            method: "DELETE",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new DelOrgAccUserOwnnessResponse({}));
    }
    /**
     * 删除企业账号工作状态
     *
     * @param request - DelOrgAccUserOwnnessRequest
     * @returns DelOrgAccUserOwnnessResponse
     */
    async delOrgAccUserOwnness(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new DelOrgAccUserOwnnessHeaders({});
        return await this.delOrgAccUserOwnnessWithOptions(request, headers, runtime);
    }
    /**
     * 删除通讯录组织架构分场景隐藏设置
     *
     * @param headers - DeleteContactHideBySceneSettingHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns DeleteContactHideBySceneSettingResponse
     */
    async deleteContactHideBySceneSettingWithOptions(settingId, 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: "DeleteContactHideBySceneSetting",
            version: "contact_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/contact/organizations/hides/settings/${settingId}`,
            method: "DELETE",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new DeleteContactHideBySceneSettingResponse({}));
    }
    /**
     * 删除通讯录组织架构分场景隐藏设置
     * @returns DeleteContactHideBySceneSettingResponse
     */
    async deleteContactHideBySceneSetting(settingId) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new DeleteContactHideBySceneSettingHeaders({});
        return await this.deleteContactHideBySceneSettingWithOptions(settingId, headers, runtime);
    }
    /**
     * 删除通讯录隐藏设置
     *
     * @param headers - DeleteContactHideSettingHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns DeleteContactHideSettingResponse
     */
    async deleteContactHideSettingWithOptions(settingId, 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: "DeleteContactHideSetting",
            version: "contact_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/contact/contactHideSettings/${settingId}`,
            method: "DELETE",
            authType: "AK",
            style: "ROA",
            reqBodyType: "json",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new DeleteContactHideSettingResponse({}));
    }
    /**
     * 删除通讯录隐藏设置
     * @returns DeleteContactHideSettingResponse
     */
    async deleteContactHideSetting(settingId) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new DeleteContactHideSettingHeaders({});
        return await this.deleteContactHideSettingWithOptions(settingId, headers, runtime);
    }
    /**
     * 删除限制查看通讯录设置
     *
     * @param headers - DeleteContactRestrictSettingHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns DeleteContactRestrictSettingResponse
     */
    async deleteContactRestrictSettingWithOptions(settingId, 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: "DeleteContactRestrictSetting",
            version: "contact_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/contact/restrictions/settings/${settingId}`,
            method: "DELETE",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new DeleteContactRestrictSettingResponse({}));
    }
    /**
     * 删除限制查看通讯录设置
     * @returns DeleteContactRestrictSettingResponse
     */
    async deleteContactRestrictSetting(settingId) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new DeleteContactRestrictSettingHeaders({});
        return await this.deleteContactRestrictSettingWithOptions(settingId, headers, runtime);
    }
    /**
     * 删除员工属性分场景隐藏设置
     *
     * @param headers - DeleteEmpAttributeHideBySceneSettingHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns DeleteEmpAttributeHideBySceneSettingResponse
     */
    async deleteEmpAttributeHideBySceneSettingWithOptions(settingId, 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: "DeleteEmpAttributeHideBySceneSetting",
            version: "contact_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/contact/empAttributes/hides/settings/${settingId}`,
            method: "DELETE",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new DeleteEmpAttributeHideBySceneSettingResponse({}));
    }
    /**
     * 删除员工属性分场景隐藏设置
     * @returns DeleteEmpAttributeHideBySceneSettingResponse
     */
    async deleteEmpAttributeHideBySceneSetting(settingId) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new DeleteEmpAttributeHideBySceneSettingHeaders({});
        return await this.deleteEmpAttributeHideBySceneSettingWithOptions(settingId, headers, runtime);
    }
    /**
     * 删除员工字段可见性设置
     *
     * @param headers - DeleteEmpAttributeVisibilityHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns DeleteEmpAttributeVisibilityResponse
     */
    async deleteEmpAttributeVisibilityWithOptions(settingId, 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: "DeleteEmpAttributeVisibility",
            version: "contact_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/contact/staffAttributes/visibilitySettings/${settingId}`,
            method: "DELETE",
            authType: "AK",
            style: "ROA",
            reqBodyType: "json",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new DeleteEmpAttributeVisibilityResponse({}));
    }
    /**
     * 删除员工字段可见性设置
     * @returns DeleteEmpAttributeVisibilityResponse
     */
    async deleteEmpAttributeVisibility(settingId) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new DeleteEmpAttributeVisibilityHeaders({});
        return await this.deleteEmpAttributeVisibilityWithOptions(settingId, headers, runtime);
    }
    /**
     * 删除管理组
     *
     * @param headers - DeleteManagementGroupHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns DeleteManagementGroupResponse
     */
    async deleteManagementGroupWithOptions(groupId, 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: "DeleteManagementGroup",
            version: "contact_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/contact/managementGroups/${groupId}`,
            method: "DELETE",
            authType: "AK",
            style: "ROA",
            reqBodyType: "json",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new DeleteManagementGroupResponse({}));
    }
    /**
     * 删除管理组
     * @returns DeleteManagementGroupResponse
     */
    async deleteManagementGroup(groupId) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new DeleteManagementGroupHeaders({});
        return await this.deleteManagementGroupWithOptions(groupId, headers, runtime);
    }
    /**
     * 获取账号映射
     *
     * @param request - GetAccountMappingRequest
     * @param headers - GetAccountMappingHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns GetAccountMappingResponse
     */
    async getAccountMappingWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let query = {};
        if (!tea_util_1.default.isUnset(request.domain)) {
            query["domain"] = request.domain;
        }
        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: "GetAccountMapping",
            version: "contact_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/contact/accountMappings`,
            method: "GET",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new GetAccountMappingResponse({}));
    }
    /**
     * 获取账号映射
     *
     * @param request - GetAccountMappingRequest
     * @returns GetAccountMappingResponse
     */
    async getAccountMapping(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new GetAccountMappingHeaders({});
        return await this.getAccountMappingWithOptions(request, headers, runtime);
    }
    /**
     * 获取企业的邀请信息，如果传部门ID则邀请链接为邀请加入部门，否则加入根部门；如果企业未开启邀请或者链接申请加入邀请链接为null
     *
     * @param request - GetApplyInviteInfoRequest
     * @param headers - GetApplyInviteInfoHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns GetApplyInviteInfoResponse
     */
    async getApplyInviteInfoWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let query = {};
        if (!tea_util_1.default.isUnset(request.deptId)) {
            query["deptId"] = request.deptId;
        }
        if (!tea_util_1.default.isUnset(request.inviterUserId)) {
            query["inviterUserId"] = request.inviterUserId;
        }
        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: "GetApplyInviteInfo",
            version: "contact_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/contact/invites/infos`,
            method: "GET",
            authType: "AK",
            style: "ROA",
            reqBodyType: "json",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new GetApplyInviteInfoResponse({}));
    }
    /**
     * 获取企业的邀请信息，如果传部门ID则邀请链接为邀请加入部门，否则加入根部门；如果企业未开启邀请或者链接申请加入邀请链接为null
     *
     * @param request - GetApplyInviteInfoRequest
     * @returns GetApplyInviteInfoResponse
     */
    async getApplyInviteInfo(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new GetApplyInviteInfoHeaders({});
        return await this.getApplyInviteInfoWithOptions(request, headers, runtime);
    }
    /**
     * 分支授权主干的行业数据
     *
     * @param request - GetBranchAuthDataRequest
     * @param headers - GetBranchAuthDataHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns GetBranchAuthDataResponse
     */
    async getBranchAuthDataWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let query = {};
        if (!tea_util_1.default.isUnset(request.branchCorpId)) {
            query["branchCorpId"] = request.branchCorpId;
        }
        if (!tea_util_1.default.isUnset(request.code)) {
            query["code"] = request.code;
        }
        let body = {};
        if (!tea_util_1.default.isUnset(request.body)) {
            body["body"] = request.body;
        }
        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: "GetBranchAuthData",
            version: "contact_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/contact/branchAuthDatas/search`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "json",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new GetBranchAuthDataResponse({}));
    }
    /**
     * 分支授权主干的行业数据
     *
     * @param request - GetBranchAuthDataRequest
     * @returns GetBranchAuthDataResponse
     */
    async getBranchAuthData(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new GetBranchAuthDataHeaders({});
        return await this.getBranchAuthDataWithOptions(request, headers, runtime);
    }
    /**
     * 查询用户名片夹中的某张名片信息
     *
     * @param headers - GetCardInUserHolderHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns GetCardInUserHolderResponse
     */
    async getCardInUserHolderWithOptions(cardId, 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: "GetCardInUserHolder",
            version: "contact_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/contact/cards/holders/infos/${cardId}`,
            method: "GET",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new GetCardInUserHolderResponse({}));
    }
    /**
     * 查询用户名片夹中的某张名片信息
     * @returns GetCardInUserHolderResponse
     */
    async getCardInUserHolder(cardId) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new GetCardInUserHolderHeaders({});
        return await this.getCardInUserHolderWithOptions(cardId, headers, runtime);
    }
    /**
     * 查询用户名片信息
     *
     * @param headers - GetCardInfoHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns GetCardInfoResponse
     */
    async getCardInfoWithOptions(cardId, 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: "GetCardInfo",
            version: "contact_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/contact/cards/infos/${cardId}`,
            method: "GET",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new GetCardInfoResponse({}));
    }
    /**
     * 查询用户名片信息
     * @returns GetCardInfoResponse
     */
    async getCardInfo(cardId) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new GetCardInfoHeaders({});
        return await this.getCardInfoWithOptions(cardId, headers, runtime);
    }
    /**
     * 获取通讯录组织架构分场景隐藏设置
     *
     * @param headers - GetContactHideBySceneSettingHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns GetContactHideBySceneSettingResponse
     */
    async getContactHideBySceneSettingWithOptions(settingId, 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: "GetContactHideBySceneSetting",
            version: "contact_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/contact/organizations/hides/settings/${settingId}`,
            method: "GET",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new GetContactHideBySceneSettingResponse({}));
    }
    /**
     * 获取通讯录组织架构分场景隐藏设置
     * @returns GetContactHideBySceneSettingResponse
     */
    async getContactHideBySceneSetting(settingId) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new GetContactHideBySceneSettingHeaders({});
        return await this.getContactHideBySceneSettingWithOptions(settingId, headers, runtime);
    }
    /**
     * 获取邀请加入合作空间链接，分享链接之后企业可以申请加入
     *
     * @param headers - GetCooperateOrgInviteInfoHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns GetCooperateOrgInviteInfoResponse
     */
    async getCooperateOrgInviteInfoWithOptions(cooperateCorpId, 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: "GetCooperateOrgInviteInfo",
            version: "contact_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/contact/cooperateCorps/${cooperateCorpId}/inviteInfos`,
            method: "GET",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new GetCooperateOrgInviteInfoResponse({}));
    }
    /**
     * 获取邀请加入合作空间链接，分享链接之后企业可以申请加入
     * @returns GetCooperateOrgInviteInfoResponse
     */
    async getCooperateOrgInviteInfo(cooperateCorpId) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new GetCooperateOrgInviteInfoHeaders({});
        return await this.getCooperateOrgInviteInfoWithOptions(cooperateCorpId, headers, runtime);
    }
    /**
     * 查询企业模板列表
     *
     * @param headers - GetCorpCardStyleListHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns GetCorpCardStyleListResponse
     */
    async getCorpCardStyleListWithOptions(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: "GetCorpCardStyleList",
            version: "contact_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/contact/cards/styles/lists`,
            method: "GET",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new GetCorpCardStyleListResponse({}));
    }
    /**
     * 查询企业模板列表
     * @returns GetCorpCardStyleListResponse
     */
    async getCorpCardStyleList() {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new GetCorpCardStyleListHeaders({});
        return await this.getCorpCardStyleListWithOptions(headers, runtime);
    }
    /**
     * 普通帐号迁移为专属帐号后，根据迁移后的dingId查询原dingId
     *
     * @param request - GetDingIdByMigrationDingIdRequest
     * @param headers - GetDingIdByMigrationDingIdHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns GetDingIdByMigrationDingIdResponse
     */
    async getDingIdByMigrationDingIdWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let query = {};
        if (!tea_util_1.default.isUnset(request.migrationDingId)) {
            query["migrationDingId"] = request.migrationDingId;
        }
        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: "GetDingIdByMigrationDingId",
            version: "contact_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/contact/orgAccount/getDingIdByMigrationDingIds`,
            method: "GET",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new GetDingIdByMigrationDingIdResponse({}));
    }
    /**
     * 普通帐号迁移为专属帐号后，根据迁移后的dingId查询原dingId
     *
     * @param request - GetDingIdByMigrationDingIdRequest
     * @returns GetDingIdByMigrationDingIdResponse
     */
    async getDingIdByMigrationDingId(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new GetDingIdByMigrationDingIdHeaders({});
        return await this.getDingIdByMigrationDingIdWithOptions(request, headers, runtime);
    }
    /**
     * 获取员工属性分场景隐藏设置
     *
     * @param headers - GetEmpAttributeHideBySceneSettingHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns GetEmpAttributeHideBySceneSettingResponse
     */
    async getEmpAttributeHideBySceneSettingWithOptions(settingId, 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: "GetEmpAttributeHideBySceneSetting",
            version: "contact_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/contact/empAttributes/hides/settings/${settingId}`,
            method: "GET",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new GetEmpAttributeHideBySceneSettingResponse({}));
    }
    /**
     * 获取员工属性分场景隐藏设置
     * @returns GetEmpAttributeHideBySceneSettingResponse
     */
    async getEmpAttributeHideBySceneSetting(settingId) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new GetEmpAttributeHideBySceneSettingHeaders({});
        return await this.getEmpAttributeHideBySceneSettingWithOptions(settingId, headers, runtime);
    }
    /**
     * 获取企业最新的钉钉指数
     *
     * @param headers - GetLatestDingIndexHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns GetLatestDingIndexResponse
     */
    async getLatestDingIndexWithOptions(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: "GetLatestDingIndex",
            version: "contact_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/contact/dingIndexs`,
            method: "GET",
            authType: "AK",
            style: "ROA",
            reqBodyType: "json",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new GetLatestDingIndexResponse({}));
    }
    /**
     * 获取企业最新的钉钉指数
     * @returns GetLatestDingIndexResponse
     */
    async getLatestDingIndex() {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new GetLatestDingIndexHeaders({});
        return await this.getLatestDingIndexWithOptions(headers, runtime);
    }
    /**
     * 普通帐号迁移为专属帐号后，根据原dingId查询迁移后的dingId
     *
     * @param request - GetMigrationDingIdByDingIdRequest
     * @param headers - GetMigrationDingIdByDingIdHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns GetMigrationDingIdByDingIdResponse
     */
    async getMigrationDingIdByDingIdWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let query = {};
        if (!tea_util_1.default.isUnset(request.dingId)) {
            query["dingId"] = request.dingId;
        }
        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: "GetMigrationDingIdByDingId",
            version: "contact_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/contact/orgAccount/getMigrationDingIdByDingIds`,
            method: "GET",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new GetMigrationDingIdByDingIdResponse({}));
    }
    /**
     * 普通帐号迁移为专属帐号后，根据原dingId查询迁移后的dingId
     *
     * @param request - GetMigrationDingIdByDingIdRequest
     * @returns GetMigrationDingIdByDingIdResponse
     */
    async getMigrationDingIdByDingId(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new GetMigrationDingIdByDingIdHeaders({});
        return await this.getMigrationDingIdByDingIdWithOptions(request, headers, runtime);
    }
    /**
     * 普通帐号迁移为专属帐号后，根据原unionId查询迁移后的unionId
     *
     * @param request - GetMigrationUnionIdByUnionIdRequest
     * @param headers - GetMigrationUnionIdByUnionIdHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns GetMigrationUnionIdByUnionIdResponse
     */
    async getMigrationUnionIdByUnionIdWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let query = {};
        if (!tea_util_1.default.isUnset(request.unionId)) {
            query["unionId"] = request.unionId;
        }
        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: "GetMigrationUnionIdByUnionId",
            version: "contact_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/contact/orgAccount/getMigrationUnionIdByUnionIds`,
            method: "GET",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new GetMigrationUnionIdByUnionIdResponse({}));
    }
    /**
     * 普通帐号迁移为专属帐号后，根据原unionId查询迁移后的unionId
     *
     * @param request - GetMigrationUnionIdByUnionIdRequest
     * @returns GetMigrationUnionIdByUnionIdResponse
     */
    async getMigrationUnionIdByUnionId(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new GetMigrationUnionIdByUnionIdHeaders({});
        return await this.getMigrationUnionIdByUnionIdWithOptions(request, headers, runtime);
    }
    /**
     * 查询企业认证信息
     *
     * @param request - GetOrgAuthInfoRequest
     * @param headers - GetOrgAuthInfoHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns GetOrgAuthInfoResponse
     */
    async getOrgAuthInfoWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let query = {};
        if (!tea_util_1.default.isUnset(request.targetCorpId)) {
            query["targetCorpId"] = request.targetCorpId;
        }
        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: "GetOrgAuthInfo",
            version: "contact_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/contact/organizations/authInfos`,
            method: "GET",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new GetOrgAuthInfoResponse({}));
    }
    /**
     * 查询企业认证信息
     *
     * @param request - GetOrgAuthInfoRequest
     * @returns GetOrgAuthInfoResponse
     */
    async getOrgAuthInfo(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new GetOrgAuthInfoHeaders({});
        return await this.getOrgAuthInfoWithOptions(request, headers, runtime);
    }
    /**
     * 获取异步文件内容转译结果
     *
     * @param request - GetTranslateFileJobResultRequest
     * @param headers - GetTranslateFileJobResultHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns GetTranslateFileJobResultResponse
     */
    async getTranslateFileJobResultWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let query = {};
        if (!tea_util_1.default.isUnset(request.jobId)) {
            query["jobId"] = request.jobId;
        }
        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: "GetTranslateFileJobResult",
            version: "contact_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/contact/files/translateResults`,
            method: "GET",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new GetTranslateFileJobResultResponse({}));
    }
    /**
     * 获取异步文件内容转译结果
     *
     * @param request - GetTranslateFileJobResultRequest
     * @returns GetTranslateFileJobResultResponse
     */
    async getTranslateFileJobResult(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new GetTranslateFileJobResultHeaders({});
        return await this.getTranslateFileJobResultWithOptions(request, headers, runtime);
    }
    /**
     * 普通帐号迁移为专属帐号后，根据迁移后的unionId查询原unionId
     *
     * @param request - GetUnionIdByMigrationUnionIdRequest
     * @param headers - GetUnionIdByMigrationUnionIdHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns GetUnionIdByMigrationUnionIdResponse
     */
    async getUnionIdByMigrationUnionIdWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let query = {};
        if (!tea_util_1.default.isUnset(request.migrationUnionId)) {
            query["migrationUnionId"] = request.migrationUnionId;
        }
        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: "GetUnionIdByMigrationUnionId",
            version: "contact_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/contact/orgAccount/getUnionIdByMigrationUnionIds`,
            method: "GET",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new GetUnionIdByMigrationUnionIdResponse({}));
    }
    /**
     * 普通帐号迁移为专属帐号后，根据迁移后的unionId查询原unionId
     *
     * @param request - GetUnionIdByMigrationUnionIdRequest
     * @returns GetUnionIdByMigrationUnionIdResponse
     */
    async getUnionIdByMigrationUnionId(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new GetUnionIdByMigrationUnionIdHeaders({});
        return await this.getUnionIdByMigrationUnionIdWithOptions(request, headers, runtime);
    }
    /**
     * 获取用户个人信息
     *
     * @param headers - GetUserHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns GetUserResponse
     */
    async getUserWithOptions(unionId, 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: "GetUser",
            version: "contact_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/contact/users/${unionId}`,
            method: "GET",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new GetUserResponse({}));
    }
    /**
     * 获取用户个人信息
     * @returns GetUserResponse
     */
    async getUser(unionId) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new GetUserHeaders({});
        return await this.getUserWithOptions(unionId, headers, runtime);
    }
    /**
     * 查询用户名片夹信息
     *
     * @param request - GetUserCardHolderListRequest
     * @param headers - GetUserCardHolderListHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns GetUserCardHolderListResponse
     */
    async getUserCardHolderListWithOptions(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: "GetUserCardHolderList",
            version: "contact_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/contact/cards/holders/lists`,
            method: "GET",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new GetUserCardHolderListResponse({}));
    }
    /**
     * 查询用户名片夹信息
     *
     * @param request - GetUserCardHolderListRequest
     * @returns GetUserCardHolderListResponse
     */
    async getUserCardHolderList(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new GetUserCardHolderListHeaders({});
        return await this.getUserCardHolderListWithOptions(request, headers, runtime);
    }
    /**
     * 初始化核身事件
     *
     * @param request - InitVerifyEventRequest
     * @param headers - InitVerifyEventHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns InitVerifyEventResponse
     */
    async initVerifyEventWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.callerDeviceId)) {
            body["callerDeviceId"] = request.callerDeviceId;
        }
        if (!tea_util_1.default.isUnset(request.factorCodeList)) {
            body["factorCodeList"] = request.factorCodeList;
        }
        if (!tea_util_1.default.isUnset(request.state)) {
            body["state"] = request.state;
        }
        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: "InitVerifyEvent",
            version: "contact_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/contact/verifyIdentities/verifyEvents/init`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new InitVerifyEventResponse({}));
    }
    /**
     * 初始化核身事件
     *
     * @param request - InitVerifyEventRequest
     * @returns InitVerifyEventResponse
     */
    async initVerifyEvent(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new InitVerifyEventHeaders({});
        return await this.initVerifyEventWithOptions(request, headers, runtime);
    }
    /**
     * 判断某用户跟给定专属账号是否存在好友关系
     *
     * @param request - IsFriendRequest
     * @param headers - IsFriendHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns IsFriendResponse
     */
    async isFriendWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.mobileNo)) {
            body["mobileNo"] = request.mobileNo;
        }
        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: "IsFriend",
            version: "contact_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/contact/relationships/friends/judge`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new IsFriendResponse({}));
    }
    /**
     * 判断某用户跟给定专属账号是否存在好友关系
     *
     * @param request - IsFriendRequest
     * @returns IsFriendResponse
     */
    async isFriend(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new IsFriendHeaders({});
        return await this.isFriendWithOptions(request, headers, runtime);
    }
    /**
     * 名片事件推送
     *
     * @param request - IsvCardEventPushRequest
     * @param headers - IsvCardEventPushHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns IsvCardEventPushResponse
     */
    async isvCardEventPushWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let query = {};
        if (!tea_util_1.default.isUnset(request.isvCardId)) {
            query["isvCardId"] = request.isvCardId;
        }
        if (!tea_util_1.default.isUnset(request.isvToken)) {
            query["isvToken"] = request.isvToken;
        }
        if (!tea_util_1.default.isUnset(request.isvUid)) {
            query["isvUid"] = request.isvUid;
        }
        let body = {};
        if (!tea_util_1.default.isUnset(request.eventParams)) {
            body["eventParams"] = request.eventParams;
        }
        if (!tea_util_1.default.isUnset(request.eventType)) {
            body["eventType"] = request.eventType;
        }
        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: "IsvCardEventPush",
            version: "contact_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/contact/cards/events/push`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new IsvCardEventPushResponse({}));
    }
    /**
     * 名片事件推送
     *
     * @param request - IsvCardEventPushRequest
     * @returns IsvCardEventPushResponse
     */
    async isvCardEventPush(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new IsvCardEventPushHeaders({});
        return await this.isvCardEventPushWithOptions(request, headers, runtime);
    }
    /**
     * 拉取管理组基本信息列表分页接口
     *
     * @param request - ListBasicRoleInPageRequest
     * @param headers - ListBasicRoleInPageHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns ListBasicRoleInPageResponse
     */
    async listBasicRoleInPageWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let query = {};
        if (!tea_util_1.default.isUnset(request.agentId)) {
            query["agentId"] = request.agentId;
        }
        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: "ListBasicRoleInPage",
            version: "contact_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/contact/rbac/administrativeGroups/baseInfos`,
            method: "GET",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new ListBasicRoleInPageResponse({}));
    }
    /**
     * 拉取管理组基本信息列表分页接口
     *
     * @param request - ListBasicRoleInPageRequest
     * @returns ListBasicRoleInPageResponse
     */
    async listBasicRoleInPage(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new ListBasicRoleInPageHeaders({});
        return await this.listBasicRoleInPageWithOptions(request, headers, runtime);
    }
    /**
     * 获取通讯录隐藏设置
     *
     * @param request - ListContactHideSettingsRequest
     * @param headers - ListContactHideSettingsHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns ListContactHideSettingsResponse
     */
    async listContactHideSettingsWithOptions(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: "ListContactHideSettings",
            version: "contact_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/contact/contactHideSettings`,
            method: "GET",
            authType: "AK",
            style: "ROA",
            reqBodyType: "json",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new ListContactHideSettingsResponse({}));
    }
    /**
     * 获取通讯录隐藏设置
     *
     * @param request - ListContactHideSettingsRequest
     * @returns ListContactHideSettingsResponse
     */
    async listContactHideSettings(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new ListContactHideSettingsHeaders({});
        return await this.listContactHideSettingsWithOptions(request, headers, runtime);
    }
    /**
     * 获取限制查看通讯录设置列表
     *
     * @param request - ListContactRestrictSettingRequest
     * @param headers - ListContactRestrictSettingHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns ListContactRestrictSettingResponse
     */
    async listContactRestrictSettingWithOptions(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: "ListContactRestrictSetting",
            version: "contact_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/contact/restrictions/settings`,
            method: "GET",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new ListContactRestrictSettingResponse({}));
    }
    /**
     * 获取限制查看通讯录设置列表
     *
     * @param request - ListContactRestrictSettingRequest
     * @returns ListContactRestrictSettingResponse
     */
    async listContactRestrictSetting(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new ListContactRestrictSettingHeaders({});
        return await this.listContactRestrictSettingWithOptions(request, headers, runtime);
    }
    /**
     * 获取员工字段可见性设置
     *
     * @param request - ListEmpAttributeVisibilityRequest
     * @param headers - ListEmpAttributeVisibilityHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns ListEmpAttributeVisibilityResponse
     */
    async listEmpAttributeVisibilityWithOptions(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: "ListEmpAttributeVisibility",
            version: "contact_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/contact/staffAttributes/visibilitySettings`,
            method: "GET",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new ListEmpAttributeVisibilityResponse({}));
    }
    /**
     * 获取员工字段可见性设置
     *
     * @param request - ListEmpAttributeVisibilityRequest
     * @returns ListEmpAttributeVisibilityResponse
     */
    async listEmpAttributeVisibility(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new ListEmpAttributeVisibilityHeaders({});
        return await this.listEmpAttributeVisibilityWithOptions(request, headers, runtime);
    }
    /**
     * 查询离职记录
     *
     * @param request - ListEmpLeaveRecordsRequest
     * @param headers - ListEmpLeaveRecordsHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns ListEmpLeaveRecordsResponse
     */
    async listEmpLeaveRecordsWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let query = {};
        if (!tea_util_1.default.isUnset(request.endTime)) {
            query["endTime"] = request.endTime;
        }
        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.startTime)) {
            query["startTime"] = request.startTime;
        }
        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: "ListEmpLeaveRecords",
            version: "contact_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/contact/empLeaveRecords`,
            method: "GET",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new ListEmpLeaveRecordsResponse({}));
    }
    /**
     * 查询离职记录
     *
     * @param request - ListEmpLeaveRecordsRequest
     * @returns ListEmpLeaveRecordsResponse
     */
    async listEmpLeaveRecords(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new ListEmpLeaveRecordsHeaders({});
        return await this.listEmpLeaveRecordsWithOptions(request, headers, runtime);
    }
    /**
     * 分页查询管理组
     *
     * @param request - ListManagementGroupsRequest
     * @param headers - ListManagementGroupsHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns ListManagementGroupsResponse
     */
    async listManagementGroupsWithOptions(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: "ListManagementGroups",
            version: "contact_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/contact/managementGroups`,
            method: "GET",
            authType: "AK",
            style: "ROA",
            reqBodyType: "json",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new ListManagementGroupsResponse({}));
    }
    /**
     * 分页查询管理组
     *
     * @param request - ListManagementGroupsRequest
     * @returns ListManagementGroupsResponse
     */
    async listManagementGroups(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new ListManagementGroupsHeaders({});
        return await this.listManagementGroupsWithOptions(request, headers, runtime);
    }
    /**
     * 查询专属帐号拥有的组织(作为创建者的组织)
     *
     * @param request - ListOwnedOrgByStaffIdRequest
     * @param headers - ListOwnedOrgByStaffIdHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns ListOwnedOrgByStaffIdResponse
     */
    async listOwnedOrgByStaffIdWithOptions(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: "ListOwnedOrgByStaffId",
            version: "contact_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/contact/orgAccounts/ownedOrganizations`,
            method: "GET",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new ListOwnedOrgByStaffIdResponse({}));
    }
    /**
     * 查询专属帐号拥有的组织(作为创建者的组织)
     *
     * @param request - ListOwnedOrgByStaffIdRequest
     * @returns ListOwnedOrgByStaffIdResponse
     */
    async listOwnedOrgByStaffId(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new ListOwnedOrgByStaffIdHeaders({});
        return await this.listOwnedOrgByStaffIdWithOptions(request, headers, runtime);
    }
    /**
     * 获取员工高管设置
     *
     * @param request - ListSeniorSettingsRequest
     * @param headers - ListSeniorSettingsHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns ListSeniorSettingsResponse
     */
    async listSeniorSettingsWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let query = {};
        if (!tea_util_1.default.isUnset(request.seniorStaffId)) {
            query["seniorStaffId"] = request.seniorStaffId;
        }
        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: "ListSeniorSettings",
            version: "contact_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/contact/seniorSettings`,
            method: "GET",
            authType: "AK",
            style: "ROA",
            reqBodyType: "json",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new ListSeniorSettingsResponse({}));
    }
    /**
     * 获取员工高管设置
     *
     * @param request - ListSeniorSettingsRequest
     * @returns ListSeniorSettingsResponse
     */
    async listSeniorSettings(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new ListSeniorSettingsHeaders({});
        return await this.listSeniorSettingsWithOptions(request, headers, runtime);
    }
    /**
     * 更新企业账号工作状态
     *
     * @param request - ModifyOrgAccUserOwnnessRequest
     * @param headers - ModifyOrgAccUserOwnnessHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns ModifyOrgAccUserOwnnessResponse
     */
    async modifyOrgAccUserOwnnessWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let query = {};
        if (!tea_util_1.default.isUnset(request.userId)) {
            query["userId"] = request.userId;
        }
        let body = {};
        if (!tea_util_1.default.isUnset(request.endTime)) {
            body["endTime"] = request.endTime;
        }
        if (!tea_util_1.default.isUnset(request.ownenssType)) {
            body["ownenssType"] = request.ownenssType;
        }
        if (!tea_util_1.default.isUnset(request.ownnessId)) {
            body["ownnessId"] = request.ownnessId;
        }
        if (!tea_util_1.default.isUnset(request.startTime)) {
            body["startTime"] = request.startTime;
        }
        if (!tea_util_1.default.isUnset(request.text)) {
            body["text"] = request.text;
        }
        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: "ModifyOrgAccUserOwnness",
            version: "contact_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/contact/orgAccounts/owness`,
            method: "PUT",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new ModifyOrgAccUserOwnnessResponse({}));
    }
    /**
     * 更新企业账号工作状态
     *
     * @param request - ModifyOrgAccUserOwnnessRequest
     * @returns ModifyOrgAccUserOwnnessResponse
     */
    async modifyOrgAccUserOwnness(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new ModifyOrgAccUserOwnnessHeaders({});
        return await this.modifyOrgAccUserOwnnessWithOptions(request, headers, runtime);
    }
    /**
     * 授权专属帐号可加入多组织
     *
     * @param request - MultiOrgPermissionGrantRequest
     * @param headers - MultiOrgPermissionGrantHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns MultiOrgPermissionGrantResponse
     */
    async multiOrgPermissionGrantWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.grantDeptIdList)) {
            body["grantDeptIdList"] = request.grantDeptIdList;
        }
        if (!tea_util_1.default.isUnset(request.joinCorpId)) {
            body["joinCorpId"] = request.joinCorpId;
        }
        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: "MultiOrgPermissionGrant",
            version: "contact_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/contact/orgAccounts/multiOrgPermissions/auth`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "none",
        });
        return $tea.cast(await this.execute(params, req, runtime), new MultiOrgPermissionGrantResponse({}));
    }
    /**
     * 授权专属帐号可加入多组织
     *
     * @param request - MultiOrgPermissionGrantRequest
     * @returns MultiOrgPermissionGrantResponse
     */
    async multiOrgPermissionGrant(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new MultiOrgPermissionGrantHeaders({});
        return await this.multiOrgPermissionGrantWithOptions(request, headers, runtime);
    }
    /**
     * 授权其他组织查看本组织的企业账号信息
     *
     * @param request - OrgAccountMobileVisibleInOtherOrgRequest
     * @param headers - OrgAccountMobileVisibleInOtherOrgHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns OrgAccountMobileVisibleInOtherOrgResponse
     */
    async orgAccountMobileVisibleInOtherOrgWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.fields)) {
            body["fields"] = request.fields;
        }
        if (!tea_util_1.default.isUnset(request.optUserId)) {
            body["optUserId"] = request.optUserId;
        }
        if (!tea_util_1.default.isUnset(request.toCorpIds)) {
            body["toCorpIds"] = request.toCorpIds;
        }
        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: "OrgAccountMobileVisibleInOtherOrg",
            version: "contact_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/contact/orgAccounts/mobiles/visibleInOtherOrg`,
            method: "PUT",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new OrgAccountMobileVisibleInOtherOrgResponse({}));
    }
    /**
     * 授权其他组织查看本组织的企业账号信息
     *
     * @param request - OrgAccountMobileVisibleInOtherOrgRequest
     * @returns OrgAccountMobileVisibleInOtherOrgResponse
     */
    async orgAccountMobileVisibleInOtherOrg(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new OrgAccountMobileVisibleInOtherOrgHeaders({});
        return await this.orgAccountMobileVisibleInOtherOrgWithOptions(request, headers, runtime);
    }
    /**
     * 更新企业账号电话可见性
     *
     * @param request - OrgAccountMobileVisiblePermissonRequest
     * @param headers - OrgAccountMobileVisiblePermissonHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns OrgAccountMobileVisiblePermissonResponse
     */
    async orgAccountMobileVisiblePermissonWithOptions(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: "OrgAccountMobileVisiblePermisson",
            version: "contact_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/contact/orgAccounts/mobiles/visiblePermissions`,
            method: "PUT",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new OrgAccountMobileVisiblePermissonResponse({}));
    }
    /**
     * 更新企业账号电话可见性
     *
     * @param request - OrgAccountMobileVisiblePermissonRequest
     * @returns OrgAccountMobileVisiblePermissonResponse
     */
    async orgAccountMobileVisiblePermisson(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new OrgAccountMobileVisiblePermissonHeaders({});
        return await this.orgAccountMobileVisiblePermissonWithOptions(request, headers, runtime);
    }
    /**
     * 根据orgId获取企业信息
     *
     * @param tmpReq - OrgInfoRequest
     * @param headers - OrgInfoHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns OrgInfoResponse
     */
    async orgInfoWithOptions(tmpReq, headers, runtime) {
        tea_util_1.default.validateModel(tmpReq);
        let request = new OrgInfoShrinkRequest({});
        openapi_util_1.default.convert(tmpReq, request);
        if (!tea_util_1.default.isUnset(tmpReq.orgIds)) {
            request.orgIdsShrink = openapi_util_1.default.arrayToStringWithSpecifiedStyle(tmpReq.orgIds, "orgIds", "json");
        }
        let query = {};
        if (!tea_util_1.default.isUnset(request.orgIdsShrink)) {
            query["orgIds"] = request.orgIdsShrink;
        }
        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: "OrgInfo",
            version: "contact_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/contact/org/info`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new OrgInfoResponse({}));
    }
    /**
     * 根据orgId获取企业信息
     *
     * @param request - OrgInfoRequest
     * @returns OrgInfoResponse
     */
    async orgInfo(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new OrgInfoHeaders({});
        return await this.orgInfoWithOptions(request, headers, runtime);
    }
    /**
     * 给员工推送事件唤起核身组件
     *
     * @param request - PushVerifyEventRequest
     * @param headers - PushVerifyEventHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns PushVerifyEventResponse
     */
    async pushVerifyEventWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.callerDeviceId)) {
            body["callerDeviceId"] = request.callerDeviceId;
        }
        if (!tea_util_1.default.isUnset(request.factorCodeList)) {
            body["factorCodeList"] = request.factorCodeList;
        }
        if (!tea_util_1.default.isUnset(request.state)) {
            body["state"] = request.state;
        }
        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: "PushVerifyEvent",
            version: "contact_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/contact/verifyIdentities/verifyEvents/push`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new PushVerifyEventResponse({}));
    }
    /**
     * 给员工推送事件唤起核身组件
     *
     * @param request - PushVerifyEventRequest
     * @returns PushVerifyEventResponse
     */
    async pushVerifyEvent(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new PushVerifyEventHeaders({});
        return await this.pushVerifyEventWithOptions(request, headers, runtime);
    }
    /**
     * 查询访客统计信息信息
     *
     * @param request - QueryCardVisitorStatisticDataRequest
     * @param headers - QueryCardVisitorStatisticDataHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns QueryCardVisitorStatisticDataResponse
     */
    async queryCardVisitorStatisticDataWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let query = {};
        if (!tea_util_1.default.isUnset(request.unionId)) {
            query["unionId"] = request.unionId;
        }
        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: "QueryCardVisitorStatisticData",
            version: "contact_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/contact/cards/visitors/statistics`,
            method: "GET",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new QueryCardVisitorStatisticDataResponse({}));
    }
    /**
     * 查询访客统计信息信息
     *
     * @param request - QueryCardVisitorStatisticDataRequest
     * @returns QueryCardVisitorStatisticDataResponse
     */
    async queryCardVisitorStatisticData(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new QueryCardVisitorStatisticDataHeaders({});
        return await this.queryCardVisitorStatisticDataWithOptions(request, headers, runtime);
    }
    /**
     * 查询企业模版的统计数据
     *
     * @param request - QueryCorpStatisticDataRequest
     * @param headers - QueryCorpStatisticDataHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns QueryCorpStatisticDataResponse
     */
    async queryCorpStatisticDataWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.endTime)) {
            body["endTime"] = request.endTime;
        }
        if (!tea_util_1.default.isUnset(request.startTime)) {
            body["startTime"] = request.startTime;
        }
        if (!tea_util_1.default.isUnset(request.templateIds)) {
            body["templateIds"] = request.templateIds;
        }
        if (!tea_util_1.default.isUnset(request.unionId)) {
            body["unionId"] = request.unionId;
        }
        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: "QueryCorpStatisticData",
            version: "contact_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/contact/cards/templates/statistics/query`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new QueryCorpStatisticDataResponse({}));
    }
    /**
     * 查询企业模版的统计数据
     *
     * @param request - QueryCorpStatisticDataRequest
     * @returns QueryCorpStatisticDataResponse
     */
    async queryCorpStatisticData(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new QueryCorpStatisticDataHeaders({});
        return await this.queryCorpStatisticDataWithOptions(request, headers, runtime);
    }
    /**
     * 查询企业用户名片统计数据
     *
     * @param request - QueryCorpUserStatisticRequest
     * @param headers - QueryCorpUserStatisticHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns QueryCorpUserStatisticResponse
     */
    async queryCorpUserStatisticWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.endTime)) {
            body["endTime"] = request.endTime;
        }
        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.startTime)) {
            body["startTime"] = request.startTime;
        }
        if (!tea_util_1.default.isUnset(request.templateIds)) {
            body["templateIds"] = request.templateIds;
        }
        if (!tea_util_1.default.isUnset(request.unionId)) {
            body["unionId"] = request.unionId;
        }
        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: "QueryCorpUserStatistic",
            version: "contact_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/contact/cards/users/statistics/query`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new QueryCorpUserStatisticResponse({}));
    }
    /**
     * 查询企业用户名片统计数据
     *
     * @param request - QueryCorpUserStatisticRequest
     * @returns QueryCorpUserStatisticResponse
     */
    async queryCorpUserStatistic(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new QueryCorpUserStatisticHeaders({});
        return await this.queryCorpUserStatisticWithOptions(request, headers, runtime);
    }
    /**
     * 查询可管理资源的成员
     *
     * @param headers - QueryResourceManagementMembersHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns QueryResourceManagementMembersResponse
     */
    async queryResourceManagementMembersWithOptions(resourceId, 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: "QueryResourceManagementMembers",
            version: "contact_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/contact/resources/${resourceId}/managementMembers`,
            method: "GET",
            authType: "AK",
            style: "ROA",
            reqBodyType: "json",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new QueryResourceManagementMembersResponse({}));
    }
    /**
     * 查询可管理资源的成员
     * @returns QueryResourceManagementMembersResponse
     */
    async queryResourceManagementMembers(resourceId) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new QueryResourceManagementMembersHeaders({});
        return await this.queryResourceManagementMembersWithOptions(resourceId, headers, runtime);
    }
    /**
     * 查询专属帐号状态
     *
     * @param request - QueryStatusRequest
     * @param headers - QueryStatusHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns QueryStatusResponse
     */
    async queryStatusWithOptions(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: "QueryStatus",
            version: "contact_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/contact/orgAccounts/status`,
            method: "GET",
            authType: "AK",
            style: "ROA",
            reqBodyType: "json",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new QueryStatusResponse({}));
    }
    /**
     * 查询专属帐号状态
     *
     * @param request - QueryStatusRequest
     * @returns QueryStatusResponse
     */
    async queryStatus(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new QueryStatusHeaders({});
        return await this.queryStatusWithOptions(request, headers, runtime);
    }
    /**
     * 查询用户可以管理的资源
     *
     * @param headers - QueryUserManagementResourcesHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns QueryUserManagementResourcesResponse
     */
    async queryUserManagementResourcesWithOptions(userId, 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: "QueryUserManagementResources",
            version: "contact_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/contact/users/${userId}/managemementResources`,
            method: "GET",
            authType: "AK",
            style: "ROA",
            reqBodyType: "json",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new QueryUserManagementResourcesResponse({}));
    }
    /**
     * 查询用户可以管理的资源
     * @returns QueryUserManagementResourcesResponse
     */
    async queryUserManagementResources(userId) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new QueryUserManagementResourcesHeaders({});
        return await this.queryUserManagementResourcesWithOptions(userId, headers, runtime);
    }
    /**
     * 读取员工核身结果
     *
     * @param request - QueryVerifyResultRequest
     * @param headers - QueryVerifyResultHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns QueryVerifyResultResponse
     */
    async queryVerifyResultWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let query = {};
        if (!tea_util_1.default.isUnset(request.verifyId)) {
            query["verifyId"] = request.verifyId;
        }
        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: "QueryVerifyResult",
            version: "contact_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/contact/verifyIdentities/verifyResults`,
            method: "GET",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new QueryVerifyResultResponse({}));
    }
    /**
     * 读取员工核身结果
     *
     * @param request - QueryVerifyResultRequest
     * @returns QueryVerifyResultResponse
     */
    async queryVerifyResult(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new QueryVerifyResultHeaders({});
        return await this.queryVerifyResultWithOptions(request, headers, runtime);
    }
    /**
     * 撤回已经发出的团队邀请
     *
     * @param request - RecallTeamInviteRequest
     * @param headers - RecallTeamInviteHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns RecallTeamInviteResponse
     */
    async recallTeamInviteWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let query = {};
        if (!tea_util_1.default.isUnset(request.mobile)) {
            query["mobile"] = request.mobile;
        }
        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: "RecallTeamInvite",
            version: "contact_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/contact/invites/recall`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "none",
        });
        return $tea.cast(await this.execute(params, req, runtime), new RecallTeamInviteResponse({}));
    }
    /**
     * 撤回已经发出的团队邀请
     *
     * @param request - RecallTeamInviteRequest
     * @returns RecallTeamInviteResponse
     */
    async recallTeamInvite(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new RecallTeamInviteHeaders({});
        return await this.recallTeamInviteWithOptions(request, headers, runtime);
    }
    /**
     * 搜索部门
     *
     * @param request - SearchDepartmentRequest
     * @param headers - SearchDepartmentHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns SearchDepartmentResponse
     */
    async searchDepartmentWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.offset)) {
            body["offset"] = request.offset;
        }
        if (!tea_util_1.default.isUnset(request.queryWord)) {
            body["queryWord"] = request.queryWord;
        }
        if (!tea_util_1.default.isUnset(request.size)) {
            body["size"] = request.size;
        }
        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: "SearchDepartment",
            version: "contact_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/contact/departments/search`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new SearchDepartmentResponse({}));
    }
    /**
     * 搜索部门
     *
     * @param request - SearchDepartmentRequest
     * @returns SearchDepartmentResponse
     */
    async searchDepartment(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new SearchDepartmentHeaders({});
        return await this.searchDepartmentWithOptions(request, headers, runtime);
    }
    /**
     * 搜索用户
     *
     * @param request - SearchUserRequest
     * @param headers - SearchUserHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns SearchUserResponse
     */
    async searchUserWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.fullMatchField)) {
            body["fullMatchField"] = request.fullMatchField;
        }
        if (!tea_util_1.default.isUnset(request.offset)) {
            body["offset"] = request.offset;
        }
        if (!tea_util_1.default.isUnset(request.queryWord)) {
            body["queryWord"] = request.queryWord;
        }
        if (!tea_util_1.default.isUnset(request.size)) {
            body["size"] = request.size;
        }
        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: "SearchUser",
            version: "contact_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/contact/users/search`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new SearchUserResponse({}));
    }
    /**
     * 搜索用户
     *
     * @param request - SearchUserRequest
     * @returns SearchUserResponse
     */
    async searchUser(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new SearchUserHeaders({});
        return await this.searchUserWithOptions(request, headers, runtime);
    }
    /**
     * 解除关联组织
     *
     * @param request - SeparateBranchOrgRequest
     * @param headers - SeparateBranchOrgHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns SeparateBranchOrgResponse
     */
    async separateBranchOrgWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.attachDeptId)) {
            body["attachDeptId"] = request.attachDeptId;
        }
        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: "SeparateBranchOrg",
            version: "contact_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/contact/cooperateCorps/separate`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new SeparateBranchOrgResponse({}));
    }
    /**
     * 解除关联组织
     *
     * @param request - SeparateBranchOrgRequest
     * @returns SeparateBranchOrgResponse
     */
    async separateBranchOrg(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new SeparateBranchOrgHeaders({});
        return await this.separateBranchOrgWithOptions(request, headers, runtime);
    }
    /**
     * 停用专属帐号
     *
     * @param request - SetDisableRequest
     * @param headers - SetDisableHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns SetDisableResponse
     */
    async setDisableWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.reason)) {
            body["reason"] = request.reason;
        }
        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: "SetDisable",
            version: "contact_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/contact/orgAccounts/disable`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new SetDisableResponse({}));
    }
    /**
     * 停用专属帐号
     *
     * @param request - SetDisableRequest
     * @returns SetDisableResponse
     */
    async setDisable(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new SetDisableHeaders({});
        return await this.setDisableWithOptions(request, headers, runtime);
    }
    /**
     * 启用专属帐号
     *
     * @param request - SetEnableRequest
     * @param headers - SetEnableHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns SetEnableResponse
     */
    async setEnableWithOptions(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: "SetEnable",
            version: "contact_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/contact/orgAccounts/enable`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new SetEnableResponse({}));
    }
    /**
     * 启用专属帐号
     *
     * @param request - SetEnableRequest
     * @returns SetEnableResponse
     */
    async setEnable(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new SetEnableHeaders({});
        return await this.setEnableWithOptions(request, headers, runtime);
    }
    /**
     * 强制登出专属帐号
     *
     * @param request - SignOutRequest
     * @param headers - SignOutHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns SignOutResponse
     */
    async signOutWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.reason)) {
            body["reason"] = request.reason;
        }
        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: "SignOut",
            version: "contact_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/contact/orgAccounts/signOut`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new SignOutResponse({}));
    }
    /**
     * 强制登出专属帐号
     *
     * @param request - SignOutRequest
     * @returns SignOutResponse
     */
    async signOut(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new SignOutHeaders({});
        return await this.signOutWithOptions(request, headers, runtime);
    }
    /**
     * 根据用户名排序
     *
     * @param request - SortUserRequest
     * @param headers - SortUserHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns SortUserResponse
     */
    async sortUserWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.sortType)) {
            body["sortType"] = request.sortType;
        }
        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: "SortUser",
            version: "contact_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/contact/users/sort`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new SortUserResponse({}));
    }
    /**
     * 根据用户名排序
     *
     * @param request - SortUserRequest
     * @returns SortUserResponse
     */
    async sortUser(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new SortUserHeaders({});
        return await this.sortUserWithOptions(request, headers, runtime);
    }
    /**
     * 普通帐号转换为专属帐号
     *
     * @param request - TransformToExclusiveAccountRequest
     * @param headers - TransformToExclusiveAccountHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns TransformToExclusiveAccountResponse
     */
    async transformToExclusiveAccountWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.idpDingTalk)) {
            body["idpDingTalk"] = request.idpDingTalk;
        }
        if (!tea_util_1.default.isUnset(request.initPassword)) {
            body["initPassword"] = request.initPassword;
        }
        if (!tea_util_1.default.isUnset(request.loginId)) {
            body["loginId"] = request.loginId;
        }
        if (!tea_util_1.default.isUnset(request.transformType)) {
            body["transformType"] = request.transformType;
        }
        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: "TransformToExclusiveAccount",
            version: "contact_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/contact/orgAccount/transformToExclusiveAccounts`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "json",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new TransformToExclusiveAccountResponse({}));
    }
    /**
     * 普通帐号转换为专属帐号
     *
     * @param request - TransformToExclusiveAccountRequest
     * @returns TransformToExclusiveAccountResponse
     */
    async transformToExclusiveAccount(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new TransformToExclusiveAccountHeaders({});
        return await this.transformToExclusiveAccountWithOptions(request, headers, runtime);
    }
    /**
     * 异步文件内容转译
     *
     * @param request - TranslateFileRequest
     * @param headers - TranslateFileHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns TranslateFileResponse
     */
    async translateFileWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.medias)) {
            body["medias"] = request.medias;
        }
        if (!tea_util_1.default.isUnset(request.outputFileName)) {
            body["outputFileName"] = request.outputFileName;
        }
        if (!tea_util_1.default.isUnset(request.unionId)) {
            body["unionId"] = request.unionId;
        }
        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: "TranslateFile",
            version: "contact_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/contact/files/translate`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new TranslateFileResponse({}));
    }
    /**
     * 异步文件内容转译
     *
     * @param request - TranslateFileRequest
     * @returns TranslateFileResponse
     */
    async translateFile(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new TranslateFileHeaders({});
        return await this.translateFileWithOptions(request, headers, runtime);
    }
    /**
     * 唯一查询用户名片
     *
     * @param request - UniqueQueryUserCardRequest
     * @param headers - UniqueQueryUserCardHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns UniqueQueryUserCardResponse
     */
    async uniqueQueryUserCardWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let query = {};
        if (!tea_util_1.default.isUnset(request.templateId)) {
            query["templateId"] = request.templateId;
        }
        if (!tea_util_1.default.isUnset(request.unionId)) {
            query["unionId"] = request.unionId;
        }
        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: "UniqueQueryUserCard",
            version: "contact_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/contact/uniques/cards`,
            method: "GET",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new UniqueQueryUserCardResponse({}));
    }
    /**
     * 唯一查询用户名片
     *
     * @param request - UniqueQueryUserCardRequest
     * @returns UniqueQueryUserCardResponse
     */
    async uniqueQueryUserCard(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new UniqueQueryUserCardHeaders({});
        return await this.uniqueQueryUserCardWithOptions(request, headers, runtime);
    }
    /**
     * 更新(分支/伙伴)在(集团/合作空间)的属性信息
     *
     * @param request - UpdateBranchAttributesInCooperateRequest
     * @param headers - UpdateBranchAttributesInCooperateHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns UpdateBranchAttributesInCooperateResponse
     */
    async updateBranchAttributesInCooperateWithOptions(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: tea_util_1.default.toArray(request.body),
        });
        let params = new $OpenApi.Params({
            action: "UpdateBranchAttributesInCooperate",
            version: "contact_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/contact/cooperateCorps/branchAttributes`,
            method: "PUT",
            authType: "AK",
            style: "ROA",
            reqBodyType: "json",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new UpdateBranchAttributesInCooperateResponse({}));
    }
    /**
     * 更新(分支/伙伴)在(集团/合作空间)的属性信息
     *
     * @param request - UpdateBranchAttributesInCooperateRequest
     * @returns UpdateBranchAttributesInCooperateResponse
     */
    async updateBranchAttributesInCooperate(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new UpdateBranchAttributesInCooperateHeaders({});
        return await this.updateBranchAttributesInCooperateWithOptions(request, headers, runtime);
    }
    /**
     * 设置(分支/伙伴)在(集团/合作空间)的可见范围
     *
     * @param request - UpdateBranchVisibleSettingInCooperateRequest
     * @param headers - UpdateBranchVisibleSettingInCooperateHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns UpdateBranchVisibleSettingInCooperateResponse
     */
    async updateBranchVisibleSettingInCooperateWithOptions(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: tea_util_1.default.toArray(request.body),
        });
        let params = new $OpenApi.Params({
            action: "UpdateBranchVisibleSettingInCooperate",
            version: "contact_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/contact/cooperateCorps/branchVisibleSettings`,
            method: "PUT",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "none",
        });
        return $tea.cast(await this.execute(params, req, runtime), new UpdateBranchVisibleSettingInCooperateResponse({}));
    }
    /**
     * 设置(分支/伙伴)在(集团/合作空间)的可见范围
     *
     * @param request - UpdateBranchVisibleSettingInCooperateRequest
     * @returns UpdateBranchVisibleSettingInCooperateResponse
     */
    async updateBranchVisibleSettingInCooperate(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new UpdateBranchVisibleSettingInCooperateHeaders({});
        return await this.updateBranchVisibleSettingInCooperateWithOptions(request, headers, runtime);
    }
    /**
     * 更新通讯录组织架构隐藏设置
     *
     * @param request - UpdateContactHideBySceneSettingRequest
     * @param headers - UpdateContactHideBySceneSettingHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns UpdateContactHideBySceneSettingResponse
     */
    async updateContactHideBySceneSettingWithOptions(settingId, request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.description)) {
            body["description"] = request.description;
        }
        if (!tea_util_1.default.isUnset(request.excludeDeptIds)) {
            body["excludeDeptIds"] = request.excludeDeptIds;
        }
        if (!tea_util_1.default.isUnset(request.excludeTagIds)) {
            body["excludeTagIds"] = request.excludeTagIds;
        }
        if (!tea_util_1.default.isUnset(request.excludeUserIds)) {
            body["excludeUserIds"] = request.excludeUserIds;
        }
        if (!tea_util_1.default.isUnset(request.name)) {
            body["name"] = request.name;
        }
        if (!tea_util_1.default.isUnset(request.nodeListSceneConfig)) {
            body["nodeListSceneConfig"] = request.nodeListSceneConfig;
        }
        if (!tea_util_1.default.isUnset(request.objectDeptIds)) {
            body["objectDeptIds"] = request.objectDeptIds;
        }
        if (!tea_util_1.default.isUnset(request.objectTagIds)) {
            body["objectTagIds"] = request.objectTagIds;
        }
        if (!tea_util_1.default.isUnset(request.objectUserIds)) {
            body["objectUserIds"] = request.objectUserIds;
        }
        if (!tea_util_1.default.isUnset(request.profileSceneConfig)) {
            body["profileSceneConfig"] = request.profileSceneConfig;
        }
        if (!tea_util_1.default.isUnset(request.searchSceneConfig)) {
            body["searchSceneConfig"] = request.searchSceneConfig;
        }
        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: "UpdateContactHideBySceneSetting",
            version: "contact_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/contact/organizations/hides/settings/${settingId}`,
            method: "PUT",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new UpdateContactHideBySceneSettingResponse({}));
    }
    /**
     * 更新通讯录组织架构隐藏设置
     *
     * @param request - UpdateContactHideBySceneSettingRequest
     * @returns UpdateContactHideBySceneSettingResponse
     */
    async updateContactHideBySceneSetting(settingId, request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new UpdateContactHideBySceneSettingHeaders({});
        return await this.updateContactHideBySceneSettingWithOptions(settingId, request, headers, runtime);
    }
    /**
     * 更新通讯录隐藏设置
     *
     * @param request - UpdateContactHideSettingRequest
     * @param headers - UpdateContactHideSettingHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns UpdateContactHideSettingResponse
     */
    async updateContactHideSettingWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.active)) {
            body["active"] = request.active;
        }
        if (!tea_util_1.default.isUnset(request.description)) {
            body["description"] = request.description;
        }
        if (!tea_util_1.default.isUnset(request.excludeDeptIds)) {
            body["excludeDeptIds"] = request.excludeDeptIds;
        }
        if (!tea_util_1.default.isUnset(request.excludeStaffIds)) {
            body["excludeStaffIds"] = request.excludeStaffIds;
        }
        if (!tea_util_1.default.isUnset(request.excludeTagIds)) {
            body["excludeTagIds"] = request.excludeTagIds;
        }
        if (!tea_util_1.default.isUnset(request.hideInSearch)) {
            body["hideInSearch"] = request.hideInSearch;
        }
        if (!tea_util_1.default.isUnset(request.hideInUserProfile)) {
            body["hideInUserProfile"] = request.hideInUserProfile;
        }
        if (!tea_util_1.default.isUnset(request.id)) {
            body["id"] = request.id;
        }
        if (!tea_util_1.default.isUnset(request.name)) {
            body["name"] = request.name;
        }
        if (!tea_util_1.default.isUnset(request.objectDeptIds)) {
            body["objectDeptIds"] = request.objectDeptIds;
        }
        if (!tea_util_1.default.isUnset(request.objectStaffIds)) {
            body["objectStaffIds"] = request.objectStaffIds;
        }
        if (!tea_util_1.default.isUnset(request.objectTagIds)) {
            body["objectTagIds"] = request.objectTagIds;
        }
        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: "UpdateContactHideSetting",
            version: "contact_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/contact/contactHideSettings`,
            method: "PUT",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new UpdateContactHideSettingResponse({}));
    }
    /**
     * 更新通讯录隐藏设置
     *
     * @param request - UpdateContactHideSettingRequest
     * @returns UpdateContactHideSettingResponse
     */
    async updateContactHideSetting(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new UpdateContactHideSettingHeaders({});
        return await this.updateContactHideSettingWithOptions(request, headers, runtime);
    }
    /**
     * 新增或修改限制查看通讯录设置
     *
     * @param request - UpdateContactRestrictSettingRequest
     * @param headers - UpdateContactRestrictSettingHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns UpdateContactRestrictSettingResponse
     */
    async updateContactRestrictSettingWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.active)) {
            body["active"] = request.active;
        }
        if (!tea_util_1.default.isUnset(request.description)) {
            body["description"] = request.description;
        }
        if (!tea_util_1.default.isUnset(request.excludeDeptIds)) {
            body["excludeDeptIds"] = request.excludeDeptIds;
        }
        if (!tea_util_1.default.isUnset(request.excludeTagIds)) {
            body["excludeTagIds"] = request.excludeTagIds;
        }
        if (!tea_util_1.default.isUnset(request.excludeUserIds)) {
            body["excludeUserIds"] = request.excludeUserIds;
        }
        if (!tea_util_1.default.isUnset(request.id)) {
            body["id"] = request.id;
        }
        if (!tea_util_1.default.isUnset(request.name)) {
            body["name"] = request.name;
        }
        if (!tea_util_1.default.isUnset(request.restrictInSearch)) {
            body["restrictInSearch"] = request.restrictInSearch;
        }
        if (!tea_util_1.default.isUnset(request.restrictInUserProfile)) {
            body["restrictInUserProfile"] = request.restrictInUserProfile;
        }
        if (!tea_util_1.default.isUnset(request.subjectDeptIds)) {
            body["subjectDeptIds"] = request.subjectDeptIds;
        }
        if (!tea_util_1.default.isUnset(request.subjectTagIds)) {
            body["subjectTagIds"] = request.subjectTagIds;
        }
        if (!tea_util_1.default.isUnset(request.subjectUserIds)) {
            body["subjectUserIds"] = request.subjectUserIds;
        }
        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: "UpdateContactRestrictSetting",
            version: "contact_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/contact/restrictions/settings`,
            method: "PUT",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new UpdateContactRestrictSettingResponse({}));
    }
    /**
     * 新增或修改限制查看通讯录设置
     *
     * @param request - UpdateContactRestrictSettingRequest
     * @returns UpdateContactRestrictSettingResponse
     */
    async updateContactRestrictSetting(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new UpdateContactRestrictSettingHeaders({});
        return await this.updateContactRestrictSettingWithOptions(request, headers, runtime);
    }
    /**
     * 通讯录可见性部门设置子部门设置优先
     *
     * @param request - UpdateDeptSettngTailFirstRequest
     * @param headers - UpdateDeptSettngTailFirstHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns UpdateDeptSettngTailFirstResponse
     */
    async updateDeptSettngTailFirstWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.enable)) {
            body["enable"] = request.enable;
        }
        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: "UpdateDeptSettngTailFirst",
            version: "contact_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/contact/depts/settings/priorities`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "formData",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new UpdateDeptSettngTailFirstResponse({}));
    }
    /**
     * 通讯录可见性部门设置子部门设置优先
     *
     * @param request - UpdateDeptSettngTailFirstRequest
     * @returns UpdateDeptSettngTailFirstResponse
     */
    async updateDeptSettngTailFirst(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new UpdateDeptSettngTailFirstHeaders({});
        return await this.updateDeptSettngTailFirstWithOptions(request, headers, runtime);
    }
    /**
     * 更新企业员工属性字段可见性设置
     *
     * @param request - UpdateEmpAttrbuteVisibilitySettingRequest
     * @param headers - UpdateEmpAttrbuteVisibilitySettingHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns UpdateEmpAttrbuteVisibilitySettingResponse
     */
    async updateEmpAttrbuteVisibilitySettingWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.active)) {
            body["active"] = request.active;
        }
        if (!tea_util_1.default.isUnset(request.description)) {
            body["description"] = request.description;
        }
        if (!tea_util_1.default.isUnset(request.excludeDeptIds)) {
            body["excludeDeptIds"] = request.excludeDeptIds;
        }
        if (!tea_util_1.default.isUnset(request.excludeStaffIds)) {
            body["excludeStaffIds"] = request.excludeStaffIds;
        }
        if (!tea_util_1.default.isUnset(request.excludeTagIds)) {
            body["excludeTagIds"] = request.excludeTagIds;
        }
        if (!tea_util_1.default.isUnset(request.hideFields)) {
            body["hideFields"] = request.hideFields;
        }
        if (!tea_util_1.default.isUnset(request.id)) {
            body["id"] = request.id;
        }
        if (!tea_util_1.default.isUnset(request.name)) {
            body["name"] = request.name;
        }
        if (!tea_util_1.default.isUnset(request.objectDeptIds)) {
            body["objectDeptIds"] = request.objectDeptIds;
        }
        if (!tea_util_1.default.isUnset(request.objectStaffIds)) {
            body["objectStaffIds"] = request.objectStaffIds;
        }
        if (!tea_util_1.default.isUnset(request.objectTagIds)) {
            body["objectTagIds"] = request.objectTagIds;
        }
        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: "UpdateEmpAttrbuteVisibilitySetting",
            version: "contact_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/contact/staffAttributes/visibilitySettings`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new UpdateEmpAttrbuteVisibilitySettingResponse({}));
    }
    /**
     * 更新企业员工属性字段可见性设置
     *
     * @param request - UpdateEmpAttrbuteVisibilitySettingRequest
     * @returns UpdateEmpAttrbuteVisibilitySettingResponse
     */
    async updateEmpAttrbuteVisibilitySetting(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new UpdateEmpAttrbuteVisibilitySettingHeaders({});
        return await this.updateEmpAttrbuteVisibilitySettingWithOptions(request, headers, runtime);
    }
    /**
     * 更新员工属性分场景隐藏设置
     *
     * @param request - UpdateEmpAttributeHideBySceneSettingRequest
     * @param headers - UpdateEmpAttributeHideBySceneSettingHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns UpdateEmpAttributeHideBySceneSettingResponse
     */
    async updateEmpAttributeHideBySceneSettingWithOptions(settingId, request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.chatSubtitleConfig)) {
            body["chatSubtitleConfig"] = request.chatSubtitleConfig;
        }
        if (!tea_util_1.default.isUnset(request.description)) {
            body["description"] = request.description;
        }
        if (!tea_util_1.default.isUnset(request.excludeDeptIds)) {
            body["excludeDeptIds"] = request.excludeDeptIds;
        }
        if (!tea_util_1.default.isUnset(request.excludeTagIds)) {
            body["excludeTagIds"] = request.excludeTagIds;
        }
        if (!tea_util_1.default.isUnset(request.excludeUserIds)) {
            body["excludeUserIds"] = request.excludeUserIds;
        }
        if (!tea_util_1.default.isUnset(request.hideFields)) {
            body["hideFields"] = request.hideFields;
        }
        if (!tea_util_1.default.isUnset(request.name)) {
            body["name"] = request.name;
        }
        if (!tea_util_1.default.isUnset(request.objectDeptIds)) {
            body["objectDeptIds"] = request.objectDeptIds;
        }
        if (!tea_util_1.default.isUnset(request.objectTagIds)) {
            body["objectTagIds"] = request.objectTagIds;
        }
        if (!tea_util_1.default.isUnset(request.objectUserIds)) {
            body["objectUserIds"] = request.objectUserIds;
        }
        if (!tea_util_1.default.isUnset(request.profileSceneConfig)) {
            body["profileSceneConfig"] = request.profileSceneConfig;
        }
        if (!tea_util_1.default.isUnset(request.searchSceneConfig)) {
            body["searchSceneConfig"] = request.searchSceneConfig;
        }
        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: "UpdateEmpAttributeHideBySceneSetting",
            version: "contact_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/contact/empAttributes/hides/settings/${settingId}`,
            method: "PUT",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new UpdateEmpAttributeHideBySceneSettingResponse({}));
    }
    /**
     * 更新员工属性分场景隐藏设置
     *
     * @param request - UpdateEmpAttributeHideBySceneSettingRequest
     * @returns UpdateEmpAttributeHideBySceneSettingResponse
     */
    async updateEmpAttributeHideBySceneSetting(settingId, request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new UpdateEmpAttributeHideBySceneSettingHeaders({});
        return await this.updateEmpAttributeHideBySceneSettingWithOptions(settingId, request, headers, runtime);
    }
    /**
     * 更新管理组
     *
     * @param request - UpdateManagementGroupRequest
     * @param headers - UpdateManagementGroupHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns UpdateManagementGroupResponse
     */
    async updateManagementGroupWithOptions(groupId, request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.groupName)) {
            body["groupName"] = request.groupName;
        }
        if (!tea_util_1.default.isUnset(request.members)) {
            body["members"] = request.members;
        }
        if (!tea_util_1.default.isUnset(request.resourceIds)) {
            body["resourceIds"] = request.resourceIds;
        }
        if (!tea_util_1.default.isUnset(request.scope)) {
            body["scope"] = request.scope;
        }
        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: "UpdateManagementGroup",
            version: "contact_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/contact/managementGroups/${groupId}`,
            method: "PUT",
            authType: "AK",
            style: "ROA",
            reqBodyType: "json",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new UpdateManagementGroupResponse({}));
    }
    /**
     * 更新管理组
     *
     * @param request - UpdateManagementGroupRequest
     * @returns UpdateManagementGroupResponse
     */
    async updateManagementGroup(groupId, request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new UpdateManagementGroupHeaders({});
        return await this.updateManagementGroupWithOptions(groupId, request, headers, runtime);
    }
    /**
     * 设置高管模式
     *
     * @param request - UpdateSeniorSettingRequest
     * @param headers - UpdateSeniorSettingHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns UpdateSeniorSettingResponse
     */
    async updateSeniorSettingWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.open)) {
            body["open"] = request.open;
        }
        if (!tea_util_1.default.isUnset(request.permitDeptIds)) {
            body["permitDeptIds"] = request.permitDeptIds;
        }
        if (!tea_util_1.default.isUnset(request.permitStaffIds)) {
            body["permitStaffIds"] = request.permitStaffIds;
        }
        if (!tea_util_1.default.isUnset(request.permitTagIds)) {
            body["permitTagIds"] = request.permitTagIds;
        }
        if (!tea_util_1.default.isUnset(request.protectScenes)) {
            body["protectScenes"] = request.protectScenes;
        }
        if (!tea_util_1.default.isUnset(request.seniorStaffId)) {
            body["seniorStaffId"] = request.seniorStaffId;
        }
        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: "UpdateSeniorSetting",
            version: "contact_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/contact/seniorSettings`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "none",
        });
        return $tea.cast(await this.execute(params, req, runtime), new UpdateSeniorSettingResponse({}));
    }
    /**
     * 设置高管模式
     *
     * @param request - UpdateSeniorSettingRequest
     * @returns UpdateSeniorSettingResponse
     */
    async updateSeniorSetting(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new UpdateSeniorSettingHeaders({});
        return await this.updateSeniorSettingWithOptions(request, headers, runtime);
    }
    /**
     * 三方通过该接口更新个人履历的审核状态
     *
     * @param request - UpdateTitleAuditStatusRequest
     * @param headers - UpdateTitleAuditStatusHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns UpdateTitleAuditStatusResponse
     */
    async updateTitleAuditStatusWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.authStatus)) {
            body["authStatus"] = request.authStatus;
        }
        if (!tea_util_1.default.isUnset(request.educationLevel)) {
            body["educationLevel"] = request.educationLevel;
        }
        if (!tea_util_1.default.isUnset(request.extension)) {
            body["extension"] = request.extension;
        }
        if (!tea_util_1.default.isUnset(request.major)) {
            body["major"] = request.major;
        }
        if (!tea_util_1.default.isUnset(request.position)) {
            body["position"] = request.position;
        }
        if (!tea_util_1.default.isUnset(request.reasonCode)) {
            body["reasonCode"] = request.reasonCode;
        }
        if (!tea_util_1.default.isUnset(request.reasonMsg)) {
            body["reasonMsg"] = request.reasonMsg;
        }
        if (!tea_util_1.default.isUnset(request.school)) {
            body["school"] = request.school;
        }
        if (!tea_util_1.default.isUnset(request.type)) {
            body["type"] = request.type;
        }
        if (!tea_util_1.default.isUnset(request.unionId)) {
            body["unionId"] = request.unionId;
        }
        if (!tea_util_1.default.isUnset(request.uuid)) {
            body["uuid"] = request.uuid;
        }
        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: "UpdateTitleAuditStatus",
            version: "contact_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/contact/userTitles/auditStatuses`,
            method: "PUT",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new UpdateTitleAuditStatusResponse({}));
    }
    /**
     * 三方通过该接口更新个人履历的审核状态
     *
     * @param request - UpdateTitleAuditStatusRequest
     * @returns UpdateTitleAuditStatusResponse
     */
    async updateTitleAuditStatus(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new UpdateTitleAuditStatusHeaders({});
        return await this.updateTitleAuditStatusWithOptions(request, headers, runtime);
    }
    /**
     * 更新用户个人状态
     *
     * @param request - UpdateUserOwnnessRequest
     * @param headers - UpdateUserOwnnessHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns UpdateUserOwnnessResponse
     */
    async updateUserOwnnessWithOptions(userId, request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.deletedFlag)) {
            body["deletedFlag"] = request.deletedFlag;
        }
        if (!tea_util_1.default.isUnset(request.endTime)) {
            body["endTime"] = request.endTime;
        }
        if (!tea_util_1.default.isUnset(request.id)) {
            body["id"] = request.id;
        }
        if (!tea_util_1.default.isUnset(request.ownenssType)) {
            body["ownenssType"] = request.ownenssType;
        }
        if (!tea_util_1.default.isUnset(request.startTime)) {
            body["startTime"] = request.startTime;
        }
        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: "UpdateUserOwnness",
            version: "contact_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/contact/user/${userId}/ownness`,
            method: "PUT",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new UpdateUserOwnnessResponse({}));
    }
    /**
     * 更新用户个人状态
     *
     * @param request - UpdateUserOwnnessRequest
     * @returns UpdateUserOwnnessResponse
     */
    async updateUserOwnness(userId, request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new UpdateUserOwnnessHeaders({});
        return await this.updateUserOwnnessWithOptions(userId, request, headers, runtime);
    }
    /**
     * 用户个人信息接口
     *
     * @param tmpReq - UserProfileRequest
     * @param headers - UserProfileHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns UserProfileResponse
     */
    async userProfileWithOptions(tmpReq, headers, runtime) {
        tea_util_1.default.validateModel(tmpReq);
        let request = new UserProfileShrinkRequest({});
        openapi_util_1.default.convert(tmpReq, request);
        if (!tea_util_1.default.isUnset(tmpReq.uids)) {
            request.uidsShrink = openapi_util_1.default.arrayToStringWithSpecifiedStyle(tmpReq.uids, "uids", "json");
        }
        let query = {};
        if (!tea_util_1.default.isUnset(request.uidsShrink)) {
            query["uids"] = request.uidsShrink;
        }
        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: "UserProfile",
            version: "contact_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/contact/user/profile`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new UserProfileResponse({}));
    }
    /**
     * 用户个人信息接口
     *
     * @param request - UserProfileRequest
     * @returns UserProfileResponse
     */
    async userProfile(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new UserProfileHeaders({});
        return await this.userProfileWithOptions(request, headers, runtime);
    }
}
exports.default = Client;
//# sourceMappingURL=client.js.map