"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.AgoalOrgObjectiveListResponseBody = exports.AgoalOrgObjectiveListRequest = exports.AgoalOrgObjectiveListHeaders = exports.AgoalObjectiveRulePeriodListResponse = exports.AgoalObjectiveRulePeriodListResponseBody = exports.AgoalObjectiveRulePeriodListRequest = exports.AgoalObjectiveRulePeriodListHeaders = exports.AgoalObjectiveKeyActionListResponse = exports.AgoalObjectiveKeyActionListResponseBody = exports.AgoalObjectiveKeyActionListRequest = exports.AgoalObjectiveKeyActionListHeaders = exports.AgoalFieldUpdateResponse = exports.AgoalFieldUpdateResponseBody = exports.AgoalFieldUpdateShrinkRequest = exports.AgoalFieldUpdateRequest = exports.AgoalFieldUpdateHeaders = exports.AgoalEntityUpdateResponse = exports.AgoalEntityUpdateResponseBody = exports.AgoalEntityUpdateRequest = exports.AgoalEntityUpdateHeaders = exports.AgoalEntityCreateResponse = exports.AgoalEntityCreateResponseBody = exports.AgoalEntityCreateRequest = exports.AgoalEntityCreateHeaders = exports.AgoalCreateProgressResponse = exports.AgoalCreateProgressResponseBody = exports.AgoalCreateProgressRequest = exports.AgoalCreateProgressHeaders = exports.TitleMention = exports.PerfTask = exports.OpenUserSubAdminDTO = exports.OpenUserAdminDTO = exports.OpenScoreCardDimensionDTO = exports.OpenOrgObjectiveRuleDTO = exports.OpenObjectiveRulePeriodDTO = exports.OpenAgoalUserDTO = exports.OpenAgoalTeamDTO = exports.OpenAgoalProgressDTO = exports.OpenAgoalPeriodDTO = exports.OpenAgoalOrgObjectiveListDTO = exports.OpenAgoalOrgObjectiveDTO = exports.OpenAgoalObjectiveDimensionDTO = exports.OpenAgoalObjectiveDTO = exports.OpenAgoalLatestProgressDTO = exports.OpenAgoalKeyResultDTO = exports.OpenAgoalKeyActionDTO = exports.OpenAgoalFieldMetaDTO = exports.OpenAgoalAlignDTO = exports.Meta = exports.Entity = void 0;
exports.AgoalPeriodListRequestBody = exports.AgoalFieldUpdateRequestBody = exports.OpenScoreCardDimensionDTODimensionList = exports.EntityChildren = exports.GetIndicatorDetailResponse = exports.GetIndicatorDetailResponseBody = exports.GetIndicatorDetailRequest = exports.GetIndicatorDetailHeaders = exports.GetDeptScoreCardIndicatorResponse = exports.GetDeptScoreCardIndicatorResponseBody = exports.GetDeptScoreCardIndicatorRequest = exports.GetDeptScoreCardIndicatorHeaders = exports.AgoalUserSubAdminListResponse = exports.AgoalUserSubAdminListResponseBody = exports.AgoalUserSubAdminListRequest = exports.AgoalUserSubAdminListHeaders = exports.AgoalUserObjectiveListResponse = exports.AgoalUserObjectiveListResponseBody = exports.AgoalUserObjectiveListRequest = exports.AgoalUserObjectiveListHeaders = exports.AgoalUserAdminListResponse = exports.AgoalUserAdminListResponseBody = exports.AgoalUserAdminListHeaders = exports.AgoalSendMessageResponse = exports.AgoalSendMessageResponseBody = exports.AgoalSendMessageRequest = exports.AgoalSendMessageHeaders = exports.AgoalPeriodListResponse = exports.AgoalPeriodListResponseBody = exports.AgoalPeriodListShrinkRequest = exports.AgoalPeriodListRequest = exports.AgoalPeriodListHeaders = exports.AgoalPerfTaskUpdateResponse = exports.AgoalPerfTaskUpdateResponseBody = exports.AgoalPerfTaskUpdateRequest = exports.AgoalPerfTaskUpdateHeaders = exports.AgoalPerfTaskCreateResponse = exports.AgoalPerfTaskCreateResponseBody = exports.AgoalPerfTaskCreateRequest = exports.AgoalPerfTaskCreateHeaders = exports.AgoalOrgObjectiveRuleListResponse = exports.AgoalOrgObjectiveRuleListResponseBody = exports.AgoalOrgObjectiveRuleListHeaders = exports.AgoalOrgObjectiveQueryResponse = exports.AgoalOrgObjectiveQueryResponseBody = exports.AgoalOrgObjectiveQueryRequest = exports.AgoalOrgObjectiveQueryHeaders = exports.AgoalOrgObjectiveListResponse = 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 Entity extends $tea.Model {
    static names() {
        return {
            children: 'children',
            data: 'data',
            id: 'id',
            isDeleted: 'isDeleted',
            linkSourceId: 'linkSourceId',
            linkSourceType: 'linkSourceType',
            metas: 'metas',
            type: 'type',
        };
    }
    static types() {
        return {
            children: { 'type': 'array', 'itemType': EntityChildren },
            data: { 'type': 'map', 'keyType': 'string', 'valueType': 'any' },
            id: 'string',
            isDeleted: 'string',
            linkSourceId: 'string',
            linkSourceType: 'string',
            metas: { 'type': 'array', 'itemType': Meta },
            type: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.Entity = Entity;
class Meta extends $tea.Model {
    static names() {
        return {
            active: 'active',
            alias: 'alias',
            category: 'category',
            code: 'code',
            forceActive: 'forceActive',
            forceRequired: 'forceRequired',
            required: 'required',
            scheme: 'scheme',
            title: 'title',
            type: 'type',
        };
    }
    static types() {
        return {
            active: 'boolean',
            alias: 'string',
            category: 'string',
            code: 'string',
            forceActive: 'boolean',
            forceRequired: 'boolean',
            required: 'boolean',
            scheme: { 'type': 'map', 'keyType': 'string', 'valueType': 'any' },
            title: 'string',
            type: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.Meta = Meta;
class OpenAgoalAlignDTO extends $tea.Model {
    static names() {
        return {
            alignType: 'alignType',
            objectId: 'objectId',
            objectType: 'objectType',
            objectiveId: 'objectiveId',
        };
    }
    static types() {
        return {
            alignType: 'string',
            objectId: 'string',
            objectType: 'string',
            objectiveId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.OpenAgoalAlignDTO = OpenAgoalAlignDTO;
class OpenAgoalFieldMetaDTO extends $tea.Model {
    static names() {
        return {
            active: 'active',
            alias: 'alias',
            code: 'code',
            entityType: 'entityType',
            fieldId: 'fieldId',
            note: 'note',
            source: 'source',
            title: 'title',
            type: 'type',
        };
    }
    static types() {
        return {
            active: 'boolean',
            alias: 'string',
            code: 'string',
            entityType: 'string',
            fieldId: 'string',
            note: 'string',
            source: 'string',
            title: 'string',
            type: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.OpenAgoalFieldMetaDTO = OpenAgoalFieldMetaDTO;
class OpenAgoalKeyActionDTO extends $tea.Model {
    static names() {
        return {
            keyActionId: 'keyActionId',
            title: 'title',
            url: 'url',
        };
    }
    static types() {
        return {
            keyActionId: 'string',
            title: 'string',
            url: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.OpenAgoalKeyActionDTO = OpenAgoalKeyActionDTO;
class OpenAgoalKeyResultDTO extends $tea.Model {
    static names() {
        return {
            keyActions: 'keyActions',
            keyResultId: 'keyResultId',
            progress: 'progress',
            status: 'status',
            title: 'title',
            titleMentions: 'titleMentions',
            type: 'type',
            weight: 'weight',
        };
    }
    static types() {
        return {
            keyActions: { 'type': 'array', 'itemType': OpenAgoalKeyActionDTO },
            keyResultId: 'string',
            progress: 'number',
            status: 'number',
            title: 'string',
            titleMentions: { 'type': 'array', 'itemType': TitleMention },
            type: 'number',
            weight: 'number',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.OpenAgoalKeyResultDTO = OpenAgoalKeyResultDTO;
class OpenAgoalLatestProgressDTO extends $tea.Model {
    static names() {
        return {
            created: 'created',
            creator: 'creator',
            htmldescription: 'htmldescription',
            progressId: 'progressId',
        };
    }
    static types() {
        return {
            created: 'number',
            creator: OpenAgoalUserDTO,
            htmldescription: 'string',
            progressId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.OpenAgoalLatestProgressDTO = OpenAgoalLatestProgressDTO;
class OpenAgoalObjectiveDTO extends $tea.Model {
    static names() {
        return {
            executor: 'executor',
            keyActions: 'keyActions',
            keyResults: 'keyResults',
            latestProgress: 'latestProgress',
            objectiveId: 'objectiveId',
            objectiveRule: 'objectiveRule',
            period: 'period',
            progress: 'progress',
            status: 'status',
            teams: 'teams',
            title: 'title',
            weight: 'weight',
        };
    }
    static types() {
        return {
            executor: OpenAgoalUserDTO,
            keyActions: { 'type': 'array', 'itemType': OpenAgoalKeyActionDTO },
            keyResults: { 'type': 'array', 'itemType': OpenAgoalKeyResultDTO },
            latestProgress: OpenAgoalLatestProgressDTO,
            objectiveId: 'string',
            objectiveRule: OpenOrgObjectiveRuleDTO,
            period: OpenObjectiveRulePeriodDTO,
            progress: 'number',
            status: 'number',
            teams: { 'type': 'array', 'itemType': OpenAgoalTeamDTO },
            title: 'string',
            weight: 'number',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.OpenAgoalObjectiveDTO = OpenAgoalObjectiveDTO;
class OpenAgoalObjectiveDimensionDTO extends $tea.Model {
    static names() {
        return {
            children: 'children',
            dimensionId: 'dimensionId',
            fieldConfig: 'fieldConfig',
            fieldValueMap: 'fieldValueMap',
            title: 'title',
            weight: 'weight',
        };
    }
    static types() {
        return {
            children: { 'type': 'array', 'itemType': OpenAgoalObjectiveDimensionDTO },
            dimensionId: 'string',
            fieldConfig: { 'type': 'array', 'itemType': OpenAgoalFieldMetaDTO },
            fieldValueMap: { 'type': 'map', 'keyType': 'string', 'valueType': 'any' },
            title: 'string',
            weight: 'number',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.OpenAgoalObjectiveDimensionDTO = OpenAgoalObjectiveDimensionDTO;
class OpenAgoalOrgObjectiveDTO extends $tea.Model {
    static names() {
        return {
            dimension: 'dimension',
            downAlignObjects: 'downAlignObjects',
            executor: 'executor',
            fieldConfig: 'fieldConfig',
            fieldValueMap: 'fieldValueMap',
            objectiveId: 'objectiveId',
            period: 'period',
            status: 'status',
            team: 'team',
            title: 'title',
            upAlignObjects: 'upAlignObjects',
        };
    }
    static types() {
        return {
            dimension: OpenAgoalObjectiveDimensionDTO,
            downAlignObjects: { 'type': 'array', 'itemType': OpenAgoalAlignDTO },
            executor: OpenAgoalUserDTO,
            fieldConfig: { 'type': 'array', 'itemType': OpenAgoalFieldMetaDTO },
            fieldValueMap: { 'type': 'map', 'keyType': 'string', 'valueType': 'any' },
            objectiveId: 'string',
            period: OpenObjectiveRulePeriodDTO,
            status: 'string',
            team: OpenAgoalTeamDTO,
            title: 'string',
            upAlignObjects: { 'type': 'array', 'itemType': OpenAgoalAlignDTO },
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.OpenAgoalOrgObjectiveDTO = OpenAgoalOrgObjectiveDTO;
class OpenAgoalOrgObjectiveListDTO extends $tea.Model {
    static names() {
        return {
            objectiveList: 'objectiveList',
            totalCount: 'totalCount',
        };
    }
    static types() {
        return {
            objectiveList: { 'type': 'array', 'itemType': OpenAgoalOrgObjectiveDTO },
            totalCount: 'number',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.OpenAgoalOrgObjectiveListDTO = OpenAgoalOrgObjectiveListDTO;
class OpenAgoalPeriodDTO extends $tea.Model {
    static names() {
        return {
            endDate: 'endDate',
            name: 'name',
            periodId: 'periodId',
            periodType: 'periodType',
            startDate: 'startDate',
        };
    }
    static types() {
        return {
            endDate: 'number',
            name: 'string',
            periodId: 'string',
            periodType: 'string',
            startDate: 'number',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.OpenAgoalPeriodDTO = OpenAgoalPeriodDTO;
class OpenAgoalProgressDTO extends $tea.Model {
    static names() {
        return {
            created: 'created',
            creator: 'creator',
            htmlContent: 'htmlContent',
            modifier: 'modifier',
            progressId: 'progressId',
            updated: 'updated',
        };
    }
    static types() {
        return {
            created: 'number',
            creator: OpenAgoalUserDTO,
            htmlContent: 'string',
            modifier: OpenAgoalUserDTO,
            progressId: 'string',
            updated: 'number',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.OpenAgoalProgressDTO = OpenAgoalProgressDTO;
class OpenAgoalTeamDTO extends $tea.Model {
    static names() {
        return {
            deptId: 'deptId',
            name: 'name',
            teamId: 'teamId',
        };
    }
    static types() {
        return {
            deptId: 'string',
            name: 'string',
            teamId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.OpenAgoalTeamDTO = OpenAgoalTeamDTO;
class OpenAgoalUserDTO extends $tea.Model {
    static names() {
        return {
            dingUserId: 'dingUserId',
            name: 'name',
            userId: 'userId',
        };
    }
    static types() {
        return {
            dingUserId: 'string',
            name: 'string',
            userId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.OpenAgoalUserDTO = OpenAgoalUserDTO;
class OpenObjectiveRulePeriodDTO extends $tea.Model {
    static names() {
        return {
            endDate: 'endDate',
            name: 'name',
            periodId: 'periodId',
            periodType: 'periodType',
            startDate: 'startDate',
        };
    }
    static types() {
        return {
            endDate: 'number',
            name: 'string',
            periodId: 'string',
            periodType: 'string',
            startDate: 'number',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.OpenObjectiveRulePeriodDTO = OpenObjectiveRulePeriodDTO;
class OpenOrgObjectiveRuleDTO extends $tea.Model {
    static names() {
        return {
            objectiveCategory: 'objectiveCategory',
            objectiveRuleId: 'objectiveRuleId',
            objectiveRuleName: 'objectiveRuleName',
        };
    }
    static types() {
        return {
            objectiveCategory: 'string',
            objectiveRuleId: 'string',
            objectiveRuleName: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.OpenOrgObjectiveRuleDTO = OpenOrgObjectiveRuleDTO;
class OpenScoreCardDimensionDTO extends $tea.Model {
    static names() {
        return {
            dimensionList: 'dimensionList',
            scoreCardId: 'scoreCardId',
        };
    }
    static types() {
        return {
            dimensionList: { 'type': 'array', 'itemType': OpenScoreCardDimensionDTODimensionList },
            scoreCardId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.OpenScoreCardDimensionDTO = OpenScoreCardDimensionDTO;
class OpenUserAdminDTO extends $tea.Model {
    static names() {
        return {
            dingCorpId: 'dingCorpId',
            dingUserId: 'dingUserId',
        };
    }
    static types() {
        return {
            dingCorpId: 'string',
            dingUserId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.OpenUserAdminDTO = OpenUserAdminDTO;
class OpenUserSubAdminDTO extends $tea.Model {
    static names() {
        return {
            deptIds: 'deptIds',
            dingCorpId: 'dingCorpId',
            dingUserId: 'dingUserId',
            permissionGroupCodes: 'permissionGroupCodes',
        };
    }
    static types() {
        return {
            deptIds: { 'type': 'array', 'itemType': 'string' },
            dingCorpId: 'string',
            dingUserId: 'string',
            permissionGroupCodes: { 'type': 'array', 'itemType': 'string' },
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.OpenUserSubAdminDTO = OpenUserSubAdminDTO;
class PerfTask extends $tea.Model {
    static names() {
        return {
            id: 'id',
            isDeleted: 'isDeleted',
            status: 'status',
            title: 'title',
            userId: 'userId',
        };
    }
    static types() {
        return {
            id: 'string',
            isDeleted: 'string',
            status: 'string',
            title: 'string',
            userId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.PerfTask = PerfTask;
class TitleMention extends $tea.Model {
    static names() {
        return {
            length: 'length',
            offset: 'offset',
            user: 'user',
        };
    }
    static types() {
        return {
            length: 'number',
            offset: 'number',
            user: OpenAgoalUserDTO,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.TitleMention = TitleMention;
class AgoalCreateProgressHeaders 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.AgoalCreateProgressHeaders = AgoalCreateProgressHeaders;
class AgoalCreateProgressRequest extends $tea.Model {
    static names() {
        return {
            krId: 'krId',
            mergeIntoLatestProgress: 'mergeIntoLatestProgress',
            objectiveId: 'objectiveId',
            plainText: 'plainText',
            progress: 'progress',
            progressMergePeriod: 'progressMergePeriod',
        };
    }
    static types() {
        return {
            krId: 'string',
            mergeIntoLatestProgress: 'boolean',
            objectiveId: 'string',
            plainText: 'string',
            progress: 'number',
            progressMergePeriod: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.AgoalCreateProgressRequest = AgoalCreateProgressRequest;
class AgoalCreateProgressResponseBody extends $tea.Model {
    static names() {
        return {
            content: 'content',
            requestId: 'requestId',
            success: 'success',
        };
    }
    static types() {
        return {
            content: OpenAgoalProgressDTO,
            requestId: 'string',
            success: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.AgoalCreateProgressResponseBody = AgoalCreateProgressResponseBody;
class AgoalCreateProgressResponse 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: AgoalCreateProgressResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.AgoalCreateProgressResponse = AgoalCreateProgressResponse;
class AgoalEntityCreateHeaders 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.AgoalEntityCreateHeaders = AgoalEntityCreateHeaders;
class AgoalEntityCreateRequest extends $tea.Model {
    static names() {
        return {
            body: 'body',
        };
    }
    static types() {
        return {
            body: { 'type': 'array', 'itemType': Entity },
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.AgoalEntityCreateRequest = AgoalEntityCreateRequest;
class AgoalEntityCreateResponseBody extends $tea.Model {
    static names() {
        return {
            result: 'result',
            success: 'success',
        };
    }
    static types() {
        return {
            result: 'boolean',
            success: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.AgoalEntityCreateResponseBody = AgoalEntityCreateResponseBody;
class AgoalEntityCreateResponse 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: AgoalEntityCreateResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.AgoalEntityCreateResponse = AgoalEntityCreateResponse;
class AgoalEntityUpdateHeaders 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.AgoalEntityUpdateHeaders = AgoalEntityUpdateHeaders;
class AgoalEntityUpdateRequest extends $tea.Model {
    static names() {
        return {
            body: 'body',
        };
    }
    static types() {
        return {
            body: { 'type': 'array', 'itemType': Entity },
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.AgoalEntityUpdateRequest = AgoalEntityUpdateRequest;
class AgoalEntityUpdateResponseBody extends $tea.Model {
    static names() {
        return {
            result: 'result',
            success: 'success',
        };
    }
    static types() {
        return {
            result: 'boolean',
            success: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.AgoalEntityUpdateResponseBody = AgoalEntityUpdateResponseBody;
class AgoalEntityUpdateResponse 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: AgoalEntityUpdateResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.AgoalEntityUpdateResponse = AgoalEntityUpdateResponse;
class AgoalFieldUpdateHeaders 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.AgoalFieldUpdateHeaders = AgoalFieldUpdateHeaders;
class AgoalFieldUpdateRequest extends $tea.Model {
    static names() {
        return {
            body: 'body',
        };
    }
    static types() {
        return {
            body: AgoalFieldUpdateRequestBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.AgoalFieldUpdateRequest = AgoalFieldUpdateRequest;
class AgoalFieldUpdateShrinkRequest extends $tea.Model {
    static names() {
        return {
            bodyShrink: 'body',
        };
    }
    static types() {
        return {
            bodyShrink: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.AgoalFieldUpdateShrinkRequest = AgoalFieldUpdateShrinkRequest;
class AgoalFieldUpdateResponseBody extends $tea.Model {
    static names() {
        return {
            content: 'content',
            requestId: 'requestId',
            success: 'success',
        };
    }
    static types() {
        return {
            content: 'boolean',
            requestId: 'string',
            success: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.AgoalFieldUpdateResponseBody = AgoalFieldUpdateResponseBody;
class AgoalFieldUpdateResponse 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: AgoalFieldUpdateResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.AgoalFieldUpdateResponse = AgoalFieldUpdateResponse;
class AgoalObjectiveKeyActionListHeaders 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.AgoalObjectiveKeyActionListHeaders = AgoalObjectiveKeyActionListHeaders;
class AgoalObjectiveKeyActionListRequest extends $tea.Model {
    static names() {
        return {
            dingUserId: 'dingUserId',
            keyResultId: 'keyResultId',
            objectiveId: 'objectiveId',
        };
    }
    static types() {
        return {
            dingUserId: 'string',
            keyResultId: 'string',
            objectiveId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.AgoalObjectiveKeyActionListRequest = AgoalObjectiveKeyActionListRequest;
class AgoalObjectiveKeyActionListResponseBody extends $tea.Model {
    static names() {
        return {
            content: 'content',
            requestId: 'requestId',
            success: 'success',
        };
    }
    static types() {
        return {
            content: { 'type': 'array', 'itemType': OpenAgoalKeyActionDTO },
            requestId: 'string',
            success: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.AgoalObjectiveKeyActionListResponseBody = AgoalObjectiveKeyActionListResponseBody;
class AgoalObjectiveKeyActionListResponse 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: AgoalObjectiveKeyActionListResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.AgoalObjectiveKeyActionListResponse = AgoalObjectiveKeyActionListResponse;
class AgoalObjectiveRulePeriodListHeaders 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.AgoalObjectiveRulePeriodListHeaders = AgoalObjectiveRulePeriodListHeaders;
class AgoalObjectiveRulePeriodListRequest extends $tea.Model {
    static names() {
        return {
            objectiveRuleId: 'objectiveRuleId',
        };
    }
    static types() {
        return {
            objectiveRuleId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.AgoalObjectiveRulePeriodListRequest = AgoalObjectiveRulePeriodListRequest;
class AgoalObjectiveRulePeriodListResponseBody extends $tea.Model {
    static names() {
        return {
            content: 'content',
            requestId: 'requestId',
            success: 'success',
        };
    }
    static types() {
        return {
            content: { 'type': 'array', 'itemType': OpenObjectiveRulePeriodDTO },
            requestId: 'string',
            success: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.AgoalObjectiveRulePeriodListResponseBody = AgoalObjectiveRulePeriodListResponseBody;
class AgoalObjectiveRulePeriodListResponse 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: AgoalObjectiveRulePeriodListResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.AgoalObjectiveRulePeriodListResponse = AgoalObjectiveRulePeriodListResponse;
class AgoalOrgObjectiveListHeaders 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.AgoalOrgObjectiveListHeaders = AgoalOrgObjectiveListHeaders;
class AgoalOrgObjectiveListRequest extends $tea.Model {
    static names() {
        return {
            dingTeamId: 'dingTeamId',
            pageNumber: 'pageNumber',
            pageSize: 'pageSize',
            periodId: 'periodId',
        };
    }
    static types() {
        return {
            dingTeamId: 'string',
            pageNumber: 'number',
            pageSize: 'number',
            periodId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.AgoalOrgObjectiveListRequest = AgoalOrgObjectiveListRequest;
class AgoalOrgObjectiveListResponseBody extends $tea.Model {
    static names() {
        return {
            content: 'content',
            requestId: 'requestId',
            success: 'success',
        };
    }
    static types() {
        return {
            content: OpenAgoalOrgObjectiveListDTO,
            requestId: 'string',
            success: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.AgoalOrgObjectiveListResponseBody = AgoalOrgObjectiveListResponseBody;
class AgoalOrgObjectiveListResponse 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: AgoalOrgObjectiveListResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.AgoalOrgObjectiveListResponse = AgoalOrgObjectiveListResponse;
class AgoalOrgObjectiveQueryHeaders 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.AgoalOrgObjectiveQueryHeaders = AgoalOrgObjectiveQueryHeaders;
class AgoalOrgObjectiveQueryRequest extends $tea.Model {
    static names() {
        return {
            objectiveId: 'objectiveId',
        };
    }
    static types() {
        return {
            objectiveId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.AgoalOrgObjectiveQueryRequest = AgoalOrgObjectiveQueryRequest;
class AgoalOrgObjectiveQueryResponseBody extends $tea.Model {
    static names() {
        return {
            content: 'content',
            requestId: 'requestId',
            success: 'success',
        };
    }
    static types() {
        return {
            content: OpenAgoalOrgObjectiveDTO,
            requestId: 'string',
            success: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.AgoalOrgObjectiveQueryResponseBody = AgoalOrgObjectiveQueryResponseBody;
class AgoalOrgObjectiveQueryResponse 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: AgoalOrgObjectiveQueryResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.AgoalOrgObjectiveQueryResponse = AgoalOrgObjectiveQueryResponse;
class AgoalOrgObjectiveRuleListHeaders 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.AgoalOrgObjectiveRuleListHeaders = AgoalOrgObjectiveRuleListHeaders;
class AgoalOrgObjectiveRuleListResponseBody extends $tea.Model {
    static names() {
        return {
            content: 'content',
            requestId: 'requestId',
            success: 'success',
        };
    }
    static types() {
        return {
            content: { 'type': 'array', 'itemType': OpenOrgObjectiveRuleDTO },
            requestId: 'string',
            success: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.AgoalOrgObjectiveRuleListResponseBody = AgoalOrgObjectiveRuleListResponseBody;
class AgoalOrgObjectiveRuleListResponse 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: AgoalOrgObjectiveRuleListResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.AgoalOrgObjectiveRuleListResponse = AgoalOrgObjectiveRuleListResponse;
class AgoalPerfTaskCreateHeaders 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.AgoalPerfTaskCreateHeaders = AgoalPerfTaskCreateHeaders;
class AgoalPerfTaskCreateRequest extends $tea.Model {
    static names() {
        return {
            body: 'body',
        };
    }
    static types() {
        return {
            body: { 'type': 'array', 'itemType': PerfTask },
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.AgoalPerfTaskCreateRequest = AgoalPerfTaskCreateRequest;
class AgoalPerfTaskCreateResponseBody extends $tea.Model {
    static names() {
        return {
            result: 'result',
            success: 'success',
        };
    }
    static types() {
        return {
            result: 'boolean',
            success: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.AgoalPerfTaskCreateResponseBody = AgoalPerfTaskCreateResponseBody;
class AgoalPerfTaskCreateResponse 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: AgoalPerfTaskCreateResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.AgoalPerfTaskCreateResponse = AgoalPerfTaskCreateResponse;
class AgoalPerfTaskUpdateHeaders 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.AgoalPerfTaskUpdateHeaders = AgoalPerfTaskUpdateHeaders;
class AgoalPerfTaskUpdateRequest extends $tea.Model {
    static names() {
        return {
            body: 'body',
        };
    }
    static types() {
        return {
            body: { 'type': 'array', 'itemType': PerfTask },
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.AgoalPerfTaskUpdateRequest = AgoalPerfTaskUpdateRequest;
class AgoalPerfTaskUpdateResponseBody extends $tea.Model {
    static names() {
        return {
            result: 'result',
            success: 'success',
        };
    }
    static types() {
        return {
            result: 'boolean',
            success: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.AgoalPerfTaskUpdateResponseBody = AgoalPerfTaskUpdateResponseBody;
class AgoalPerfTaskUpdateResponse 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: AgoalPerfTaskUpdateResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.AgoalPerfTaskUpdateResponse = AgoalPerfTaskUpdateResponse;
class AgoalPeriodListHeaders 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.AgoalPeriodListHeaders = AgoalPeriodListHeaders;
class AgoalPeriodListRequest extends $tea.Model {
    static names() {
        return {
            body: 'body',
        };
    }
    static types() {
        return {
            body: AgoalPeriodListRequestBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.AgoalPeriodListRequest = AgoalPeriodListRequest;
class AgoalPeriodListShrinkRequest extends $tea.Model {
    static names() {
        return {
            bodyShrink: 'body',
        };
    }
    static types() {
        return {
            bodyShrink: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.AgoalPeriodListShrinkRequest = AgoalPeriodListShrinkRequest;
class AgoalPeriodListResponseBody extends $tea.Model {
    static names() {
        return {
            content: 'content',
            requestId: 'requestId',
            success: 'success',
        };
    }
    static types() {
        return {
            content: { 'type': 'array', 'itemType': OpenAgoalPeriodDTO },
            requestId: 'string',
            success: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.AgoalPeriodListResponseBody = AgoalPeriodListResponseBody;
class AgoalPeriodListResponse 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: AgoalPeriodListResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.AgoalPeriodListResponse = AgoalPeriodListResponse;
class AgoalSendMessageHeaders 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.AgoalSendMessageHeaders = AgoalSendMessageHeaders;
class AgoalSendMessageRequest extends $tea.Model {
    static names() {
        return {
            mobileUrl: 'mobileUrl',
            params: 'params',
            pcUrl: 'pcUrl',
            sourceDingUserId: 'sourceDingUserId',
            targetDingUserIds: 'targetDingUserIds',
            templateId: 'templateId',
        };
    }
    static types() {
        return {
            mobileUrl: 'string',
            params: 'string',
            pcUrl: 'string',
            sourceDingUserId: 'string',
            targetDingUserIds: { 'type': 'array', 'itemType': 'string' },
            templateId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.AgoalSendMessageRequest = AgoalSendMessageRequest;
class AgoalSendMessageResponseBody extends $tea.Model {
    static names() {
        return {
            content: 'content',
            requestId: 'requestId',
            success: 'success',
        };
    }
    static types() {
        return {
            content: 'boolean',
            requestId: 'string',
            success: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.AgoalSendMessageResponseBody = AgoalSendMessageResponseBody;
class AgoalSendMessageResponse 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: AgoalSendMessageResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.AgoalSendMessageResponse = AgoalSendMessageResponse;
class AgoalUserAdminListHeaders 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.AgoalUserAdminListHeaders = AgoalUserAdminListHeaders;
class AgoalUserAdminListResponseBody extends $tea.Model {
    static names() {
        return {
            content: 'content',
            requestId: 'requestId',
            success: 'success',
        };
    }
    static types() {
        return {
            content: { 'type': 'array', 'itemType': OpenUserAdminDTO },
            requestId: 'string',
            success: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.AgoalUserAdminListResponseBody = AgoalUserAdminListResponseBody;
class AgoalUserAdminListResponse 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: AgoalUserAdminListResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.AgoalUserAdminListResponse = AgoalUserAdminListResponse;
class AgoalUserObjectiveListHeaders 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.AgoalUserObjectiveListHeaders = AgoalUserObjectiveListHeaders;
class AgoalUserObjectiveListRequest extends $tea.Model {
    static names() {
        return {
            dingUserId: 'dingUserId',
            objectiveRuleId: 'objectiveRuleId',
            periodIds: 'periodIds',
        };
    }
    static types() {
        return {
            dingUserId: 'string',
            objectiveRuleId: 'string',
            periodIds: { 'type': 'array', 'itemType': 'string' },
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.AgoalUserObjectiveListRequest = AgoalUserObjectiveListRequest;
class AgoalUserObjectiveListResponseBody extends $tea.Model {
    static names() {
        return {
            content: 'content',
            requestId: 'requestId',
            success: 'success',
        };
    }
    static types() {
        return {
            content: { 'type': 'array', 'itemType': OpenAgoalObjectiveDTO },
            requestId: 'string',
            success: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.AgoalUserObjectiveListResponseBody = AgoalUserObjectiveListResponseBody;
class AgoalUserObjectiveListResponse 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: AgoalUserObjectiveListResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.AgoalUserObjectiveListResponse = AgoalUserObjectiveListResponse;
class AgoalUserSubAdminListHeaders 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.AgoalUserSubAdminListHeaders = AgoalUserSubAdminListHeaders;
class AgoalUserSubAdminListRequest extends $tea.Model {
    static names() {
        return {
            funcPermissionGroup: 'funcPermissionGroup',
        };
    }
    static types() {
        return {
            funcPermissionGroup: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.AgoalUserSubAdminListRequest = AgoalUserSubAdminListRequest;
class AgoalUserSubAdminListResponseBody extends $tea.Model {
    static names() {
        return {
            content: 'content',
            requestId: 'requestId',
            success: 'success',
        };
    }
    static types() {
        return {
            content: { 'type': 'array', 'itemType': OpenUserSubAdminDTO },
            requestId: 'string',
            success: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.AgoalUserSubAdminListResponseBody = AgoalUserSubAdminListResponseBody;
class AgoalUserSubAdminListResponse 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: AgoalUserSubAdminListResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.AgoalUserSubAdminListResponse = AgoalUserSubAdminListResponse;
class GetDeptScoreCardIndicatorHeaders 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.GetDeptScoreCardIndicatorHeaders = GetDeptScoreCardIndicatorHeaders;
class GetDeptScoreCardIndicatorRequest extends $tea.Model {
    static names() {
        return {
            dingTeamId: 'dingTeamId',
        };
    }
    static types() {
        return {
            dingTeamId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetDeptScoreCardIndicatorRequest = GetDeptScoreCardIndicatorRequest;
class GetDeptScoreCardIndicatorResponseBody extends $tea.Model {
    static names() {
        return {
            content: 'content',
            requestId: 'requestId',
            success: 'success',
        };
    }
    static types() {
        return {
            content: OpenScoreCardDimensionDTO,
            requestId: 'string',
            success: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetDeptScoreCardIndicatorResponseBody = GetDeptScoreCardIndicatorResponseBody;
class GetDeptScoreCardIndicatorResponse 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: GetDeptScoreCardIndicatorResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetDeptScoreCardIndicatorResponse = GetDeptScoreCardIndicatorResponse;
class GetIndicatorDetailHeaders 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.GetIndicatorDetailHeaders = GetIndicatorDetailHeaders;
class GetIndicatorDetailRequest extends $tea.Model {
    static names() {
        return {
            indicatorId: 'indicatorId',
            monthNum: 'monthNum',
        };
    }
    static types() {
        return {
            indicatorId: 'string',
            monthNum: 'number',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetIndicatorDetailRequest = GetIndicatorDetailRequest;
class GetIndicatorDetailResponseBody extends $tea.Model {
    static names() {
        return {
            content: 'content',
            requestId: 'requestId',
            success: 'success',
        };
    }
    static types() {
        return {
            content: { 'type': 'array', 'itemType': 'string' },
            requestId: 'string',
            success: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetIndicatorDetailResponseBody = GetIndicatorDetailResponseBody;
class GetIndicatorDetailResponse 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: GetIndicatorDetailResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.GetIndicatorDetailResponse = GetIndicatorDetailResponse;
class EntityChildren extends $tea.Model {
    static names() {
        return {
            data: 'data',
            id: 'id',
            isDeleted: 'isDeleted',
            linkSourceId: 'linkSourceId',
            linkSourceType: 'linkSourceType',
            metas: 'metas',
            type: 'type',
        };
    }
    static types() {
        return {
            data: { 'type': 'map', 'keyType': 'string', 'valueType': 'any' },
            id: 'string',
            isDeleted: 'string',
            linkSourceId: 'string',
            linkSourceType: 'string',
            metas: { 'type': 'array', 'itemType': Meta },
            type: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.EntityChildren = EntityChildren;
class OpenScoreCardDimensionDTODimensionList extends $tea.Model {
    static names() {
        return {
            dimensionId: 'dimensionId',
            indicatorIdList: 'indicatorIdList',
        };
    }
    static types() {
        return {
            dimensionId: 'string',
            indicatorIdList: { 'type': 'array', 'itemType': 'string' },
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.OpenScoreCardDimensionDTODimensionList = OpenScoreCardDimensionDTODimensionList;
class AgoalFieldUpdateRequestBody extends $tea.Model {
    static names() {
        return {
            entityId: 'entityId',
            entityType: 'entityType',
            fieldCode: 'fieldCode',
            value: 'value',
        };
    }
    static types() {
        return {
            entityId: 'string',
            entityType: 'string',
            fieldCode: 'string',
            value: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.AgoalFieldUpdateRequestBody = AgoalFieldUpdateRequestBody;
class AgoalPeriodListRequestBody extends $tea.Model {
    static names() {
        return {
            periodTypes: 'periodTypes',
        };
    }
    static types() {
        return {
            periodTypes: { 'type': 'array', 'itemType': 'string' },
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.AgoalPeriodListRequestBody = AgoalPeriodListRequestBody;
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 - AgoalCreateProgressRequest
     * @param headers - AgoalCreateProgressHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns AgoalCreateProgressResponse
     */
    async agoalCreateProgressWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.krId)) {
            body["krId"] = request.krId;
        }
        if (!tea_util_1.default.isUnset(request.mergeIntoLatestProgress)) {
            body["mergeIntoLatestProgress"] = request.mergeIntoLatestProgress;
        }
        if (!tea_util_1.default.isUnset(request.objectiveId)) {
            body["objectiveId"] = request.objectiveId;
        }
        if (!tea_util_1.default.isUnset(request.plainText)) {
            body["plainText"] = request.plainText;
        }
        if (!tea_util_1.default.isUnset(request.progress)) {
            body["progress"] = request.progress;
        }
        if (!tea_util_1.default.isUnset(request.progressMergePeriod)) {
            body["progressMergePeriod"] = request.progressMergePeriod;
        }
        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: "AgoalCreateProgress",
            version: "agoal_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/agoal/objectives/progresses`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new AgoalCreateProgressResponse({}));
    }
    /**
     * 创建目标进展
     *
     * @param request - AgoalCreateProgressRequest
     * @returns AgoalCreateProgressResponse
     */
    async agoalCreateProgress(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new AgoalCreateProgressHeaders({});
        return await this.agoalCreateProgressWithOptions(request, headers, runtime);
    }
    /**
     * 创建业务实体
     *
     * @param request - AgoalEntityCreateRequest
     * @param headers - AgoalEntityCreateHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns AgoalEntityCreateResponse
     */
    async agoalEntityCreateWithOptions(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: "AgoalEntityCreate",
            version: "agoal_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/agoal/entities`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new AgoalEntityCreateResponse({}));
    }
    /**
     * 创建业务实体
     *
     * @param request - AgoalEntityCreateRequest
     * @returns AgoalEntityCreateResponse
     */
    async agoalEntityCreate(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new AgoalEntityCreateHeaders({});
        return await this.agoalEntityCreateWithOptions(request, headers, runtime);
    }
    /**
     * 更新业务实体
     *
     * @param request - AgoalEntityUpdateRequest
     * @param headers - AgoalEntityUpdateHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns AgoalEntityUpdateResponse
     */
    async agoalEntityUpdateWithOptions(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: "AgoalEntityUpdate",
            version: "agoal_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/agoal/entities`,
            method: "PUT",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new AgoalEntityUpdateResponse({}));
    }
    /**
     * 更新业务实体
     *
     * @param request - AgoalEntityUpdateRequest
     * @returns AgoalEntityUpdateResponse
     */
    async agoalEntityUpdate(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new AgoalEntityUpdateHeaders({});
        return await this.agoalEntityUpdateWithOptions(request, headers, runtime);
    }
    /**
     * 更新 Agoal 字段值
     *
     * @param tmpReq - AgoalFieldUpdateRequest
     * @param headers - AgoalFieldUpdateHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns AgoalFieldUpdateResponse
     */
    async agoalFieldUpdateWithOptions(tmpReq, headers, runtime) {
        tea_util_1.default.validateModel(tmpReq);
        let request = new AgoalFieldUpdateShrinkRequest({});
        openapi_util_1.default.convert(tmpReq, request);
        if (!tea_util_1.default.isUnset(tmpReq.body)) {
            request.bodyShrink = openapi_util_1.default.arrayToStringWithSpecifiedStyle(tmpReq.body, "body", "json");
        }
        let query = {};
        if (!tea_util_1.default.isUnset(request.bodyShrink)) {
            query["body"] = request.bodyShrink;
        }
        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: "AgoalFieldUpdate",
            version: "agoal_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/agoal/fields`,
            method: "PUT",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new AgoalFieldUpdateResponse({}));
    }
    /**
     * 更新 Agoal 字段值
     *
     * @param request - AgoalFieldUpdateRequest
     * @returns AgoalFieldUpdateResponse
     */
    async agoalFieldUpdate(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new AgoalFieldUpdateHeaders({});
        return await this.agoalFieldUpdateWithOptions(request, headers, runtime);
    }
    /**
     * 获取Agoal指定目标或者关键结果关联的关键行动
     *
     * @param request - AgoalObjectiveKeyActionListRequest
     * @param headers - AgoalObjectiveKeyActionListHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns AgoalObjectiveKeyActionListResponse
     */
    async agoalObjectiveKeyActionListWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let query = {};
        if (!tea_util_1.default.isUnset(request.dingUserId)) {
            query["dingUserId"] = request.dingUserId;
        }
        if (!tea_util_1.default.isUnset(request.keyResultId)) {
            query["keyResultId"] = request.keyResultId;
        }
        if (!tea_util_1.default.isUnset(request.objectiveId)) {
            query["objectiveId"] = request.objectiveId;
        }
        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: "AgoalObjectiveKeyActionList",
            version: "agoal_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/agoal/objectives/keyActionLists`,
            method: "GET",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new AgoalObjectiveKeyActionListResponse({}));
    }
    /**
     * 获取Agoal指定目标或者关键结果关联的关键行动
     *
     * @param request - AgoalObjectiveKeyActionListRequest
     * @returns AgoalObjectiveKeyActionListResponse
     */
    async agoalObjectiveKeyActionList(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new AgoalObjectiveKeyActionListHeaders({});
        return await this.agoalObjectiveKeyActionListWithOptions(request, headers, runtime);
    }
    /**
     * 获取Agoal目标规则下的周期列表
     *
     * @param request - AgoalObjectiveRulePeriodListRequest
     * @param headers - AgoalObjectiveRulePeriodListHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns AgoalObjectiveRulePeriodListResponse
     */
    async agoalObjectiveRulePeriodListWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let query = {};
        if (!tea_util_1.default.isUnset(request.objectiveRuleId)) {
            query["objectiveRuleId"] = request.objectiveRuleId;
        }
        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: "AgoalObjectiveRulePeriodList",
            version: "agoal_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/agoal/objectiveRules/periodLists`,
            method: "GET",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new AgoalObjectiveRulePeriodListResponse({}));
    }
    /**
     * 获取Agoal目标规则下的周期列表
     *
     * @param request - AgoalObjectiveRulePeriodListRequest
     * @returns AgoalObjectiveRulePeriodListResponse
     */
    async agoalObjectiveRulePeriodList(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new AgoalObjectiveRulePeriodListHeaders({});
        return await this.agoalObjectiveRulePeriodListWithOptions(request, headers, runtime);
    }
    /**
     * 获取 Agoal 组织目标列表
     *
     * @param request - AgoalOrgObjectiveListRequest
     * @param headers - AgoalOrgObjectiveListHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns AgoalOrgObjectiveListResponse
     */
    async agoalOrgObjectiveListWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let query = {};
        if (!tea_util_1.default.isUnset(request.dingTeamId)) {
            query["dingTeamId"] = request.dingTeamId;
        }
        if (!tea_util_1.default.isUnset(request.pageNumber)) {
            query["pageNumber"] = request.pageNumber;
        }
        if (!tea_util_1.default.isUnset(request.pageSize)) {
            query["pageSize"] = request.pageSize;
        }
        if (!tea_util_1.default.isUnset(request.periodId)) {
            query["periodId"] = request.periodId;
        }
        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: "AgoalOrgObjectiveList",
            version: "agoal_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/agoal/orgObjectives/list`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new AgoalOrgObjectiveListResponse({}));
    }
    /**
     * 获取 Agoal 组织目标列表
     *
     * @param request - AgoalOrgObjectiveListRequest
     * @returns AgoalOrgObjectiveListResponse
     */
    async agoalOrgObjectiveList(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new AgoalOrgObjectiveListHeaders({});
        return await this.agoalOrgObjectiveListWithOptions(request, headers, runtime);
    }
    /**
     * 查询组织目标详情
     *
     * @param request - AgoalOrgObjectiveQueryRequest
     * @param headers - AgoalOrgObjectiveQueryHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns AgoalOrgObjectiveQueryResponse
     */
    async agoalOrgObjectiveQueryWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let query = {};
        if (!tea_util_1.default.isUnset(request.objectiveId)) {
            query["objectiveId"] = request.objectiveId;
        }
        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: "AgoalOrgObjectiveQuery",
            version: "agoal_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/agoal/orgObjectives`,
            method: "GET",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new AgoalOrgObjectiveQueryResponse({}));
    }
    /**
     * 查询组织目标详情
     *
     * @param request - AgoalOrgObjectiveQueryRequest
     * @returns AgoalOrgObjectiveQueryResponse
     */
    async agoalOrgObjectiveQuery(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new AgoalOrgObjectiveQueryHeaders({});
        return await this.agoalOrgObjectiveQueryWithOptions(request, headers, runtime);
    }
    /**
     * 获取Agoal目标规则列表
     *
     * @param headers - AgoalOrgObjectiveRuleListHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns AgoalOrgObjectiveRuleListResponse
     */
    async agoalOrgObjectiveRuleListWithOptions(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: "AgoalOrgObjectiveRuleList",
            version: "agoal_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/agoal/objectiveRules/lists`,
            method: "GET",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new AgoalOrgObjectiveRuleListResponse({}));
    }
    /**
     * 获取Agoal目标规则列表
     * @returns AgoalOrgObjectiveRuleListResponse
     */
    async agoalOrgObjectiveRuleList() {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new AgoalOrgObjectiveRuleListHeaders({});
        return await this.agoalOrgObjectiveRuleListWithOptions(headers, runtime);
    }
    /**
     * 创建考核任务
     *
     * @param request - AgoalPerfTaskCreateRequest
     * @param headers - AgoalPerfTaskCreateHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns AgoalPerfTaskCreateResponse
     */
    async agoalPerfTaskCreateWithOptions(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: "AgoalPerfTaskCreate",
            version: "agoal_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/agoal/perfTasks`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new AgoalPerfTaskCreateResponse({}));
    }
    /**
     * 创建考核任务
     *
     * @param request - AgoalPerfTaskCreateRequest
     * @returns AgoalPerfTaskCreateResponse
     */
    async agoalPerfTaskCreate(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new AgoalPerfTaskCreateHeaders({});
        return await this.agoalPerfTaskCreateWithOptions(request, headers, runtime);
    }
    /**
     * 更新考核任务
     *
     * @param request - AgoalPerfTaskUpdateRequest
     * @param headers - AgoalPerfTaskUpdateHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns AgoalPerfTaskUpdateResponse
     */
    async agoalPerfTaskUpdateWithOptions(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: "AgoalPerfTaskUpdate",
            version: "agoal_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/agoal/perfTasks`,
            method: "PUT",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new AgoalPerfTaskUpdateResponse({}));
    }
    /**
     * 更新考核任务
     *
     * @param request - AgoalPerfTaskUpdateRequest
     * @returns AgoalPerfTaskUpdateResponse
     */
    async agoalPerfTaskUpdate(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new AgoalPerfTaskUpdateHeaders({});
        return await this.agoalPerfTaskUpdateWithOptions(request, headers, runtime);
    }
    /**
     * 获取 Agoal 周期列表
     *
     * @param tmpReq - AgoalPeriodListRequest
     * @param headers - AgoalPeriodListHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns AgoalPeriodListResponse
     */
    async agoalPeriodListWithOptions(tmpReq, headers, runtime) {
        tea_util_1.default.validateModel(tmpReq);
        let request = new AgoalPeriodListShrinkRequest({});
        openapi_util_1.default.convert(tmpReq, request);
        if (!tea_util_1.default.isUnset(tmpReq.body)) {
            request.bodyShrink = openapi_util_1.default.arrayToStringWithSpecifiedStyle(tmpReq.body, "body", "json");
        }
        let query = {};
        if (!tea_util_1.default.isUnset(request.bodyShrink)) {
            query["body"] = request.bodyShrink;
        }
        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: "AgoalPeriodList",
            version: "agoal_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/agoal/periods/list`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new AgoalPeriodListResponse({}));
    }
    /**
     * 获取 Agoal 周期列表
     *
     * @param request - AgoalPeriodListRequest
     * @returns AgoalPeriodListResponse
     */
    async agoalPeriodList(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new AgoalPeriodListHeaders({});
        return await this.agoalPeriodListWithOptions(request, headers, runtime);
    }
    /**
     * Agoal消息发送
     *
     * @param request - AgoalSendMessageRequest
     * @param headers - AgoalSendMessageHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns AgoalSendMessageResponse
     */
    async agoalSendMessageWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.mobileUrl)) {
            body["mobileUrl"] = request.mobileUrl;
        }
        if (!tea_util_1.default.isUnset(request.params)) {
            body["params"] = request.params;
        }
        if (!tea_util_1.default.isUnset(request.pcUrl)) {
            body["pcUrl"] = request.pcUrl;
        }
        if (!tea_util_1.default.isUnset(request.sourceDingUserId)) {
            body["sourceDingUserId"] = request.sourceDingUserId;
        }
        if (!tea_util_1.default.isUnset(request.targetDingUserIds)) {
            body["targetDingUserIds"] = request.targetDingUserIds;
        }
        if (!tea_util_1.default.isUnset(request.templateId)) {
            body["templateId"] = request.templateId;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            body: openapi_util_1.default.parseToMap(body),
        });
        let params = new $OpenApi.Params({
            action: "AgoalSendMessage",
            version: "agoal_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/agoal/messages/send`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new AgoalSendMessageResponse({}));
    }
    /**
     * Agoal消息发送
     *
     * @param request - AgoalSendMessageRequest
     * @returns AgoalSendMessageResponse
     */
    async agoalSendMessage(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new AgoalSendMessageHeaders({});
        return await this.agoalSendMessageWithOptions(request, headers, runtime);
    }
    /**
     * 获取Agoal管理员列表
     *
     * @param headers - AgoalUserAdminListHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns AgoalUserAdminListResponse
     */
    async agoalUserAdminListWithOptions(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: "AgoalUserAdminList",
            version: "agoal_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/agoal/administrators/lists`,
            method: "GET",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new AgoalUserAdminListResponse({}));
    }
    /**
     * 获取Agoal管理员列表
     * @returns AgoalUserAdminListResponse
     */
    async agoalUserAdminList() {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new AgoalUserAdminListHeaders({});
        return await this.agoalUserAdminListWithOptions(headers, runtime);
    }
    /**
     * Agoal用户目标列表
     *
     * @param request - AgoalUserObjectiveListRequest
     * @param headers - AgoalUserObjectiveListHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns AgoalUserObjectiveListResponse
     */
    async agoalUserObjectiveListWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.dingUserId)) {
            body["dingUserId"] = request.dingUserId;
        }
        if (!tea_util_1.default.isUnset(request.objectiveRuleId)) {
            body["objectiveRuleId"] = request.objectiveRuleId;
        }
        if (!tea_util_1.default.isUnset(request.periodIds)) {
            body["periodIds"] = request.periodIds;
        }
        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: "AgoalUserObjectiveList",
            version: "agoal_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/agoal/users/objectiveLists/query`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new AgoalUserObjectiveListResponse({}));
    }
    /**
     * Agoal用户目标列表
     *
     * @param request - AgoalUserObjectiveListRequest
     * @returns AgoalUserObjectiveListResponse
     */
    async agoalUserObjectiveList(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new AgoalUserObjectiveListHeaders({});
        return await this.agoalUserObjectiveListWithOptions(request, headers, runtime);
    }
    /**
     * 获取Agoal子管理员列表
     *
     * @param request - AgoalUserSubAdminListRequest
     * @param headers - AgoalUserSubAdminListHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns AgoalUserSubAdminListResponse
     */
    async agoalUserSubAdminListWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let query = {};
        if (!tea_util_1.default.isUnset(request.funcPermissionGroup)) {
            query["funcPermissionGroup"] = request.funcPermissionGroup;
        }
        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: "AgoalUserSubAdminList",
            version: "agoal_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/agoal/administrators/sub/lists`,
            method: "GET",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new AgoalUserSubAdminListResponse({}));
    }
    /**
     * 获取Agoal子管理员列表
     *
     * @param request - AgoalUserSubAdminListRequest
     * @returns AgoalUserSubAdminListResponse
     */
    async agoalUserSubAdminList(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new AgoalUserSubAdminListHeaders({});
        return await this.agoalUserSubAdminListWithOptions(request, headers, runtime);
    }
    /**
     * 获取部门下的维度和指标id
     *
     * @param request - GetDeptScoreCardIndicatorRequest
     * @param headers - GetDeptScoreCardIndicatorHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns GetDeptScoreCardIndicatorResponse
     */
    async getDeptScoreCardIndicatorWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let query = {};
        if (!tea_util_1.default.isUnset(request.dingTeamId)) {
            query["dingTeamId"] = request.dingTeamId;
        }
        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: "GetDeptScoreCardIndicator",
            version: "agoal_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/agoal/scorecards/departments/indicators`,
            method: "GET",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new GetDeptScoreCardIndicatorResponse({}));
    }
    /**
     * 获取部门下的维度和指标id
     *
     * @param request - GetDeptScoreCardIndicatorRequest
     * @returns GetDeptScoreCardIndicatorResponse
     */
    async getDeptScoreCardIndicator(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new GetDeptScoreCardIndicatorHeaders({});
        return await this.getDeptScoreCardIndicatorWithOptions(request, headers, runtime);
    }
    /**
     * 获取指标详情
     *
     * @param request - GetIndicatorDetailRequest
     * @param headers - GetIndicatorDetailHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns GetIndicatorDetailResponse
     */
    async getIndicatorDetailWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let query = {};
        if (!tea_util_1.default.isUnset(request.indicatorId)) {
            query["indicatorId"] = request.indicatorId;
        }
        if (!tea_util_1.default.isUnset(request.monthNum)) {
            query["monthNum"] = request.monthNum;
        }
        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: "GetIndicatorDetail",
            version: "agoal_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/agoal/scorecards/indicators/details`,
            method: "GET",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new GetIndicatorDetailResponse({}));
    }
    /**
     * 获取指标详情
     *
     * @param request - GetIndicatorDetailRequest
     * @returns GetIndicatorDetailResponse
     */
    async getIndicatorDetail(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new GetIndicatorDetailHeaders({});
        return await this.getIndicatorDetailWithOptions(request, headers, runtime);
    }
}
exports.default = Client;
//# sourceMappingURL=client.js.map