"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.VoiceCloneResponseBodyResult = exports.UpdateExportDeviceStatisticRequestRecords = exports.TextToImageResponseBodyResult = exports.MachineManagerUpdateRequestAtmManagerRightMap = exports.CreateExportDeviceStatisticTaskResponseBodyExportStatisticTaskDTO = exports.CreateExportDeviceStatisticTaskResponseBodyExportStatisticTaskDTOAiSheetDocumentOpenDTO = exports.VoiceCloneResponse = exports.VoiceCloneResponseBody = exports.VoiceCloneRequest = exports.VoiceCloneHeaders = exports.UpdateExportDeviceStatisticResponse = exports.UpdateExportDeviceStatisticResponseBody = exports.UpdateExportDeviceStatisticRequest = exports.UpdateExportDeviceStatisticHeaders = exports.TextToImageResponse = exports.TextToImageResponseBody = exports.TextToImageRequest = exports.TextToImageHeaders = exports.QueryDeviceVideoConferenceBookResponse = exports.QueryDeviceVideoConferenceBookResponseBody = exports.QueryDeviceVideoConferenceBookHeaders = exports.MachineUsersUpdateResponse = exports.MachineUsersUpdateRequest = exports.MachineUsersUpdateHeaders = exports.MachineManagerUpdateResponse = exports.MachineManagerUpdateRequest = exports.MachineManagerUpdateHeaders = exports.KickDeviceVideoConferenceMembersResponse = exports.KickDeviceVideoConferenceMembersRequest = exports.KickDeviceVideoConferenceMembersHeaders = exports.ExtractFacialFeatureResponse = exports.ExtractFacialFeatureResponseBody = exports.ExtractFacialFeatureRequest = exports.ExtractFacialFeatureHeaders = exports.CreateExportDeviceStatisticTaskResponse = exports.CreateExportDeviceStatisticTaskResponseBody = exports.CreateExportDeviceStatisticTaskRequest = exports.CreateExportDeviceStatisticTaskHeaders = exports.CreateDeviceVideoConferenceResponse = exports.CreateDeviceVideoConferenceResponseBody = exports.CreateDeviceVideoConferenceRequest = exports.CreateDeviceVideoConferenceHeaders = exports.AddDeviceVideoConferenceMembersResponse = exports.AddDeviceVideoConferenceMembersRequest = exports.AddDeviceVideoConferenceMembersHeaders = 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 AddDeviceVideoConferenceMembersHeaders 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.AddDeviceVideoConferenceMembersHeaders = AddDeviceVideoConferenceMembersHeaders;
class AddDeviceVideoConferenceMembersRequest extends $tea.Model {
    static names() {
        return {
            userIds: 'userIds',
        };
    }
    static types() {
        return {
            userIds: { 'type': 'array', 'itemType': 'string' },
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.AddDeviceVideoConferenceMembersRequest = AddDeviceVideoConferenceMembersRequest;
class AddDeviceVideoConferenceMembersResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.AddDeviceVideoConferenceMembersResponse = AddDeviceVideoConferenceMembersResponse;
class CreateDeviceVideoConferenceHeaders 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.CreateDeviceVideoConferenceHeaders = CreateDeviceVideoConferenceHeaders;
class CreateDeviceVideoConferenceRequest extends $tea.Model {
    static names() {
        return {
            userIds: 'userIds',
        };
    }
    static types() {
        return {
            userIds: { 'type': 'array', 'itemType': 'string' },
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.CreateDeviceVideoConferenceRequest = CreateDeviceVideoConferenceRequest;
class CreateDeviceVideoConferenceResponseBody extends $tea.Model {
    static names() {
        return {
            code: 'code',
            conferenceId: 'conferenceId',
        };
    }
    static types() {
        return {
            code: 'string',
            conferenceId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.CreateDeviceVideoConferenceResponseBody = CreateDeviceVideoConferenceResponseBody;
class CreateDeviceVideoConferenceResponse 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: CreateDeviceVideoConferenceResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.CreateDeviceVideoConferenceResponse = CreateDeviceVideoConferenceResponse;
class CreateExportDeviceStatisticTaskHeaders 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.CreateExportDeviceStatisticTaskHeaders = CreateExportDeviceStatisticTaskHeaders;
class CreateExportDeviceStatisticTaskRequest extends $tea.Model {
    static names() {
        return {
            aiSheetTemplateId: 'aiSheetTemplateId',
            creatorCorpId: 'creatorCorpId',
            creatorUnionId: 'creatorUnionId',
            taskName: 'taskName',
        };
    }
    static types() {
        return {
            aiSheetTemplateId: 'number',
            creatorCorpId: 'string',
            creatorUnionId: 'string',
            taskName: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.CreateExportDeviceStatisticTaskRequest = CreateExportDeviceStatisticTaskRequest;
class CreateExportDeviceStatisticTaskResponseBody extends $tea.Model {
    static names() {
        return {
            exportStatisticTaskDTO: 'exportStatisticTaskDTO',
        };
    }
    static types() {
        return {
            exportStatisticTaskDTO: CreateExportDeviceStatisticTaskResponseBodyExportStatisticTaskDTO,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.CreateExportDeviceStatisticTaskResponseBody = CreateExportDeviceStatisticTaskResponseBody;
class CreateExportDeviceStatisticTaskResponse 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: CreateExportDeviceStatisticTaskResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.CreateExportDeviceStatisticTaskResponse = CreateExportDeviceStatisticTaskResponse;
class ExtractFacialFeatureHeaders 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.ExtractFacialFeatureHeaders = ExtractFacialFeatureHeaders;
class ExtractFacialFeatureRequest extends $tea.Model {
    static names() {
        return {
            mediaId: 'mediaId',
            userid: 'userid',
        };
    }
    static types() {
        return {
            mediaId: 'string',
            userid: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.ExtractFacialFeatureRequest = ExtractFacialFeatureRequest;
class ExtractFacialFeatureResponseBody extends $tea.Model {
    static names() {
        return {
            result: 'result',
        };
    }
    static types() {
        return {
            result: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.ExtractFacialFeatureResponseBody = ExtractFacialFeatureResponseBody;
class ExtractFacialFeatureResponse 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: ExtractFacialFeatureResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.ExtractFacialFeatureResponse = ExtractFacialFeatureResponse;
class KickDeviceVideoConferenceMembersHeaders 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.KickDeviceVideoConferenceMembersHeaders = KickDeviceVideoConferenceMembersHeaders;
class KickDeviceVideoConferenceMembersRequest extends $tea.Model {
    static names() {
        return {
            userIds: 'userIds',
        };
    }
    static types() {
        return {
            userIds: { 'type': 'array', 'itemType': 'string' },
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.KickDeviceVideoConferenceMembersRequest = KickDeviceVideoConferenceMembersRequest;
class KickDeviceVideoConferenceMembersResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.KickDeviceVideoConferenceMembersResponse = KickDeviceVideoConferenceMembersResponse;
class MachineManagerUpdateHeaders 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.MachineManagerUpdateHeaders = MachineManagerUpdateHeaders;
class MachineManagerUpdateRequest extends $tea.Model {
    static names() {
        return {
            atmManagerRightMap: 'atmManagerRightMap',
            deviceId: 'deviceId',
            scopeDeptIds: 'scopeDeptIds',
            userId: 'userId',
        };
    }
    static types() {
        return {
            atmManagerRightMap: MachineManagerUpdateRequestAtmManagerRightMap,
            deviceId: 'number',
            scopeDeptIds: { 'type': 'array', 'itemType': 'number' },
            userId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.MachineManagerUpdateRequest = MachineManagerUpdateRequest;
class MachineManagerUpdateResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.MachineManagerUpdateResponse = MachineManagerUpdateResponse;
class MachineUsersUpdateHeaders 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.MachineUsersUpdateHeaders = MachineUsersUpdateHeaders;
class MachineUsersUpdateRequest extends $tea.Model {
    static names() {
        return {
            addDeptIds: 'addDeptIds',
            addUserIds: 'addUserIds',
            delDeptIds: 'delDeptIds',
            delUserIds: 'delUserIds',
            devIds: 'devIds',
            deviceIds: 'deviceIds',
        };
    }
    static types() {
        return {
            addDeptIds: { 'type': 'array', 'itemType': 'number' },
            addUserIds: { 'type': 'array', 'itemType': 'string' },
            delDeptIds: { 'type': 'array', 'itemType': 'number' },
            delUserIds: { 'type': 'array', 'itemType': 'string' },
            devIds: { 'type': 'array', 'itemType': 'number' },
            deviceIds: { 'type': 'array', 'itemType': 'string' },
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.MachineUsersUpdateRequest = MachineUsersUpdateRequest;
class MachineUsersUpdateResponse extends $tea.Model {
    static names() {
        return {
            headers: 'headers',
            statusCode: 'statusCode',
        };
    }
    static types() {
        return {
            headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
            statusCode: 'number',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.MachineUsersUpdateResponse = MachineUsersUpdateResponse;
class QueryDeviceVideoConferenceBookHeaders 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.QueryDeviceVideoConferenceBookHeaders = QueryDeviceVideoConferenceBookHeaders;
class QueryDeviceVideoConferenceBookResponseBody extends $tea.Model {
    static names() {
        return {
            code: 'code',
            conferenceId: 'conferenceId',
        };
    }
    static types() {
        return {
            code: 'string',
            conferenceId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryDeviceVideoConferenceBookResponseBody = QueryDeviceVideoConferenceBookResponseBody;
class QueryDeviceVideoConferenceBookResponse 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: QueryDeviceVideoConferenceBookResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.QueryDeviceVideoConferenceBookResponse = QueryDeviceVideoConferenceBookResponse;
class TextToImageHeaders 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.TextToImageHeaders = TextToImageHeaders;
class TextToImageRequest extends $tea.Model {
    static names() {
        return {
            modelId: 'modelId',
            pictureNum: 'pictureNum',
            pictureSize: 'pictureSize',
            query: 'query',
        };
    }
    static types() {
        return {
            modelId: 'string',
            pictureNum: 'number',
            pictureSize: 'string',
            query: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.TextToImageRequest = TextToImageRequest;
class TextToImageResponseBody extends $tea.Model {
    static names() {
        return {
            result: 'result',
            success: 'success',
        };
    }
    static types() {
        return {
            result: TextToImageResponseBodyResult,
            success: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.TextToImageResponseBody = TextToImageResponseBody;
class TextToImageResponse 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: TextToImageResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.TextToImageResponse = TextToImageResponse;
class UpdateExportDeviceStatisticHeaders 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.UpdateExportDeviceStatisticHeaders = UpdateExportDeviceStatisticHeaders;
class UpdateExportDeviceStatisticRequest extends $tea.Model {
    static names() {
        return {
            creatorCorpId: 'creatorCorpId',
            creatorUnionId: 'creatorUnionId',
            records: 'records',
            taskId: 'taskId',
        };
    }
    static types() {
        return {
            creatorCorpId: 'string',
            creatorUnionId: 'string',
            records: { 'type': 'array', 'itemType': UpdateExportDeviceStatisticRequestRecords },
            taskId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UpdateExportDeviceStatisticRequest = UpdateExportDeviceStatisticRequest;
class UpdateExportDeviceStatisticResponseBody extends $tea.Model {
    static names() {
        return {
            success: 'success',
        };
    }
    static types() {
        return {
            success: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UpdateExportDeviceStatisticResponseBody = UpdateExportDeviceStatisticResponseBody;
class UpdateExportDeviceStatisticResponse 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: UpdateExportDeviceStatisticResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UpdateExportDeviceStatisticResponse = UpdateExportDeviceStatisticResponse;
class VoiceCloneHeaders 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.VoiceCloneHeaders = VoiceCloneHeaders;
class VoiceCloneRequest extends $tea.Model {
    static names() {
        return {
            text: 'text',
            userId: 'userId',
            voiceId: 'voiceId',
        };
    }
    static types() {
        return {
            text: 'string',
            userId: 'string',
            voiceId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.VoiceCloneRequest = VoiceCloneRequest;
class VoiceCloneResponseBody extends $tea.Model {
    static names() {
        return {
            result: 'result',
            success: 'success',
        };
    }
    static types() {
        return {
            result: VoiceCloneResponseBodyResult,
            success: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.VoiceCloneResponseBody = VoiceCloneResponseBody;
class VoiceCloneResponse 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: VoiceCloneResponseBody,
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.VoiceCloneResponse = VoiceCloneResponse;
class CreateExportDeviceStatisticTaskResponseBodyExportStatisticTaskDTOAiSheetDocumentOpenDTO extends $tea.Model {
    static names() {
        return {
            aiSheetTemplateId: 'aiSheetTemplateId',
            corpId: 'corpId',
            documentId: 'documentId',
            documentName: 'documentName',
            documentUrl: 'documentUrl',
        };
    }
    static types() {
        return {
            aiSheetTemplateId: 'number',
            corpId: 'string',
            documentId: 'string',
            documentName: 'string',
            documentUrl: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.CreateExportDeviceStatisticTaskResponseBodyExportStatisticTaskDTOAiSheetDocumentOpenDTO = CreateExportDeviceStatisticTaskResponseBodyExportStatisticTaskDTOAiSheetDocumentOpenDTO;
class CreateExportDeviceStatisticTaskResponseBodyExportStatisticTaskDTO extends $tea.Model {
    static names() {
        return {
            aiSheetDocumentOpenDTO: 'aiSheetDocumentOpenDTO',
            corpId: 'corpId',
            taskId: 'taskId',
            taskName: 'taskName',
            unionId: 'unionId',
        };
    }
    static types() {
        return {
            aiSheetDocumentOpenDTO: CreateExportDeviceStatisticTaskResponseBodyExportStatisticTaskDTOAiSheetDocumentOpenDTO,
            corpId: 'string',
            taskId: 'string',
            taskName: 'string',
            unionId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.CreateExportDeviceStatisticTaskResponseBodyExportStatisticTaskDTO = CreateExportDeviceStatisticTaskResponseBodyExportStatisticTaskDTO;
class MachineManagerUpdateRequestAtmManagerRightMap extends $tea.Model {
    static names() {
        return {
            attendancePersonManage: 'attendancePersonManage',
            bluetoothPunchManage: 'bluetoothPunchManage',
            deviceReset: 'deviceReset',
            deviceSettings: 'deviceSettings',
            facePunchManage: 'facePunchManage',
            fingerPunchManage: 'fingerPunchManage',
        };
    }
    static types() {
        return {
            attendancePersonManage: 'boolean',
            bluetoothPunchManage: 'boolean',
            deviceReset: 'boolean',
            deviceSettings: 'boolean',
            facePunchManage: 'boolean',
            fingerPunchManage: 'boolean',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.MachineManagerUpdateRequestAtmManagerRightMap = MachineManagerUpdateRequestAtmManagerRightMap;
class TextToImageResponseBodyResult extends $tea.Model {
    static names() {
        return {
            requestId: 'requestId',
            taskId: 'taskId',
            taskStatus: 'taskStatus',
        };
    }
    static types() {
        return {
            requestId: 'string',
            taskId: 'string',
            taskStatus: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.TextToImageResponseBodyResult = TextToImageResponseBodyResult;
class UpdateExportDeviceStatisticRequestRecords extends $tea.Model {
    static names() {
        return {
            fields: 'fields',
            sheetName: 'sheetName',
        };
    }
    static types() {
        return {
            fields: { 'type': 'map', 'keyType': 'string', 'valueType': 'any' },
            sheetName: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.UpdateExportDeviceStatisticRequestRecords = UpdateExportDeviceStatisticRequestRecords;
class VoiceCloneResponseBodyResult extends $tea.Model {
    static names() {
        return {
            mediaUrl: 'mediaUrl',
            requestId: 'requestId',
        };
    }
    static types() {
        return {
            mediaUrl: 'string',
            requestId: 'string',
        };
    }
    constructor(map) {
        super(map);
    }
}
exports.VoiceCloneResponseBodyResult = VoiceCloneResponseBodyResult;
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 - AddDeviceVideoConferenceMembersRequest
     * @param headers - AddDeviceVideoConferenceMembersHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns AddDeviceVideoConferenceMembersResponse
     */
    async addDeviceVideoConferenceMembersWithOptions(deviceId, conferenceId, request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.userIds)) {
            body["userIds"] = request.userIds;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            body: openapi_util_1.default.parseToMap(body),
        });
        let params = new $OpenApi.Params({
            action: "AddDeviceVideoConferenceMembers",
            version: "smartDevice_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/smartDevice/devices/${deviceId}/videoConferences/${conferenceId}/members`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "json",
            bodyType: "none",
        });
        return $tea.cast(await this.execute(params, req, runtime), new AddDeviceVideoConferenceMembersResponse({}));
    }
    /**
     * 添加硬件视频会议参会人
     *
     * @param request - AddDeviceVideoConferenceMembersRequest
     * @returns AddDeviceVideoConferenceMembersResponse
     */
    async addDeviceVideoConferenceMembers(deviceId, conferenceId, request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new AddDeviceVideoConferenceMembersHeaders({});
        return await this.addDeviceVideoConferenceMembersWithOptions(deviceId, conferenceId, request, headers, runtime);
    }
    /**
     * 创建硬件视频会议
     *
     * @param request - CreateDeviceVideoConferenceRequest
     * @param headers - CreateDeviceVideoConferenceHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns CreateDeviceVideoConferenceResponse
     */
    async createDeviceVideoConferenceWithOptions(deviceId, request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.userIds)) {
            body["userIds"] = request.userIds;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            body: openapi_util_1.default.parseToMap(body),
        });
        let params = new $OpenApi.Params({
            action: "CreateDeviceVideoConference",
            version: "smartDevice_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/smartDevice/devices/${deviceId}/videoConferences`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "json",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new CreateDeviceVideoConferenceResponse({}));
    }
    /**
     * 创建硬件视频会议
     *
     * @param request - CreateDeviceVideoConferenceRequest
     * @returns CreateDeviceVideoConferenceResponse
     */
    async createDeviceVideoConference(deviceId, request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new CreateDeviceVideoConferenceHeaders({});
        return await this.createDeviceVideoConferenceWithOptions(deviceId, request, headers, runtime);
    }
    /**
     * 创建导出设备数据任务
     *
     * @param request - CreateExportDeviceStatisticTaskRequest
     * @param headers - CreateExportDeviceStatisticTaskHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns CreateExportDeviceStatisticTaskResponse
     */
    async createExportDeviceStatisticTaskWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.aiSheetTemplateId)) {
            body["aiSheetTemplateId"] = request.aiSheetTemplateId;
        }
        if (!tea_util_1.default.isUnset(request.creatorCorpId)) {
            body["creatorCorpId"] = request.creatorCorpId;
        }
        if (!tea_util_1.default.isUnset(request.creatorUnionId)) {
            body["creatorUnionId"] = request.creatorUnionId;
        }
        if (!tea_util_1.default.isUnset(request.taskName)) {
            body["taskName"] = request.taskName;
        }
        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: "CreateExportDeviceStatisticTask",
            version: "smartDevice_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/smartDevice/statistic/create`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new CreateExportDeviceStatisticTaskResponse({}));
    }
    /**
     * 创建导出设备数据任务
     *
     * @param request - CreateExportDeviceStatisticTaskRequest
     * @returns CreateExportDeviceStatisticTaskResponse
     */
    async createExportDeviceStatisticTask(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new CreateExportDeviceStatisticTaskHeaders({});
        return await this.createExportDeviceStatisticTaskWithOptions(request, headers, runtime);
    }
    /**
     * 基于企业员工照片为终端提取人脸识别特征
     *
     * @param request - ExtractFacialFeatureRequest
     * @param headers - ExtractFacialFeatureHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns ExtractFacialFeatureResponse
     */
    async extractFacialFeatureWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.mediaId)) {
            body["mediaId"] = request.mediaId;
        }
        if (!tea_util_1.default.isUnset(request.userid)) {
            body["userid"] = request.userid;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            body: openapi_util_1.default.parseToMap(body),
        });
        let params = new $OpenApi.Params({
            action: "ExtractFacialFeature",
            version: "smartDevice_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/smartDevice/faceRecognitions/features/extract`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "json",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new ExtractFacialFeatureResponse({}));
    }
    /**
     * 基于企业员工照片为终端提取人脸识别特征
     *
     * @param request - ExtractFacialFeatureRequest
     * @returns ExtractFacialFeatureResponse
     */
    async extractFacialFeature(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new ExtractFacialFeatureHeaders({});
        return await this.extractFacialFeatureWithOptions(request, headers, runtime);
    }
    /**
     * 踢出硬件视频会议参会人
     *
     * @param request - KickDeviceVideoConferenceMembersRequest
     * @param headers - KickDeviceVideoConferenceMembersHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns KickDeviceVideoConferenceMembersResponse
     */
    async kickDeviceVideoConferenceMembersWithOptions(deviceId, conferenceId, request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.userIds)) {
            body["userIds"] = request.userIds;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            body: openapi_util_1.default.parseToMap(body),
        });
        let params = new $OpenApi.Params({
            action: "KickDeviceVideoConferenceMembers",
            version: "smartDevice_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/smartDevice/devices/${deviceId}/videoConferences/${conferenceId}/members/batchDelete`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "json",
            bodyType: "none",
        });
        return $tea.cast(await this.execute(params, req, runtime), new KickDeviceVideoConferenceMembersResponse({}));
    }
    /**
     * 踢出硬件视频会议参会人
     *
     * @param request - KickDeviceVideoConferenceMembersRequest
     * @returns KickDeviceVideoConferenceMembersResponse
     */
    async kickDeviceVideoConferenceMembers(deviceId, conferenceId, request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new KickDeviceVideoConferenceMembersHeaders({});
        return await this.kickDeviceVideoConferenceMembersWithOptions(deviceId, conferenceId, request, headers, runtime);
    }
    /**
     * 变更智能考勤机设备管理员
     *
     * @param request - MachineManagerUpdateRequest
     * @param headers - MachineManagerUpdateHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns MachineManagerUpdateResponse
     */
    async machineManagerUpdateWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.atmManagerRightMap)) {
            body["atmManagerRightMap"] = request.atmManagerRightMap;
        }
        if (!tea_util_1.default.isUnset(request.deviceId)) {
            body["deviceId"] = request.deviceId;
        }
        if (!tea_util_1.default.isUnset(request.scopeDeptIds)) {
            body["scopeDeptIds"] = request.scopeDeptIds;
        }
        if (!tea_util_1.default.isUnset(request.userId)) {
            body["userId"] = request.userId;
        }
        let realHeaders = {};
        if (!tea_util_1.default.isUnset(headers.commonHeaders)) {
            realHeaders = headers.commonHeaders;
        }
        if (!tea_util_1.default.isUnset(headers.xAcsDingtalkAccessToken)) {
            realHeaders["x-acs-dingtalk-access-token"] = tea_util_1.default.toJSONString(headers.xAcsDingtalkAccessToken);
        }
        let req = new $OpenApi.OpenApiRequest({
            headers: realHeaders,
            body: openapi_util_1.default.parseToMap(body),
        });
        let params = new $OpenApi.Params({
            action: "MachineManagerUpdate",
            version: "smartDevice_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/smartDevice/atmachines/managers`,
            method: "PUT",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "none",
        });
        return $tea.cast(await this.execute(params, req, runtime), new MachineManagerUpdateResponse({}));
    }
    /**
     * 变更智能考勤机设备管理员
     *
     * @param request - MachineManagerUpdateRequest
     * @returns MachineManagerUpdateResponse
     */
    async machineManagerUpdate(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new MachineManagerUpdateHeaders({});
        return await this.machineManagerUpdateWithOptions(request, headers, runtime);
    }
    /**
     * 变更智能考勤机员工
     *
     * @param request - MachineUsersUpdateRequest
     * @param headers - MachineUsersUpdateHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns MachineUsersUpdateResponse
     */
    async machineUsersUpdateWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.addDeptIds)) {
            body["addDeptIds"] = request.addDeptIds;
        }
        if (!tea_util_1.default.isUnset(request.addUserIds)) {
            body["addUserIds"] = request.addUserIds;
        }
        if (!tea_util_1.default.isUnset(request.delDeptIds)) {
            body["delDeptIds"] = request.delDeptIds;
        }
        if (!tea_util_1.default.isUnset(request.delUserIds)) {
            body["delUserIds"] = request.delUserIds;
        }
        if (!tea_util_1.default.isUnset(request.devIds)) {
            body["devIds"] = request.devIds;
        }
        if (!tea_util_1.default.isUnset(request.deviceIds)) {
            body["deviceIds"] = request.deviceIds;
        }
        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: "MachineUsersUpdate",
            version: "smartDevice_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/smartDevice/atmachines/users`,
            method: "PUT",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "none",
        });
        return $tea.cast(await this.execute(params, req, runtime), new MachineUsersUpdateResponse({}));
    }
    /**
     * 变更智能考勤机员工
     *
     * @param request - MachineUsersUpdateRequest
     * @returns MachineUsersUpdateResponse
     */
    async machineUsersUpdate(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new MachineUsersUpdateHeaders({});
        return await this.machineUsersUpdateWithOptions(request, headers, runtime);
    }
    /**
     * 查询硬件视频会议预约信息
     *
     * @param headers - QueryDeviceVideoConferenceBookHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns QueryDeviceVideoConferenceBookResponse
     */
    async queryDeviceVideoConferenceBookWithOptions(deviceId, bookId, 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: "QueryDeviceVideoConferenceBook",
            version: "smartDevice_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/smartDevice/devices/${deviceId}/books/${bookId}`,
            method: "GET",
            authType: "AK",
            style: "ROA",
            reqBodyType: "json",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new QueryDeviceVideoConferenceBookResponse({}));
    }
    /**
     * 查询硬件视频会议预约信息
     * @returns QueryDeviceVideoConferenceBookResponse
     */
    async queryDeviceVideoConferenceBook(deviceId, bookId) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new QueryDeviceVideoConferenceBookHeaders({});
        return await this.queryDeviceVideoConferenceBookWithOptions(deviceId, bookId, headers, runtime);
    }
    /**
     * 文生图开放接口
     *
     * @param request - TextToImageRequest
     * @param headers - TextToImageHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns TextToImageResponse
     */
    async textToImageWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.modelId)) {
            body["modelId"] = request.modelId;
        }
        if (!tea_util_1.default.isUnset(request.pictureNum)) {
            body["pictureNum"] = request.pictureNum;
        }
        if (!tea_util_1.default.isUnset(request.pictureSize)) {
            body["pictureSize"] = request.pictureSize;
        }
        if (!tea_util_1.default.isUnset(request.query)) {
            body["query"] = request.query;
        }
        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: "TextToImage",
            version: "smartDevice_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/smartDevice/textToImages/generate`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new TextToImageResponse({}));
    }
    /**
     * 文生图开放接口
     *
     * @param request - TextToImageRequest
     * @returns TextToImageResponse
     */
    async textToImage(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new TextToImageHeaders({});
        return await this.textToImageWithOptions(request, headers, runtime);
    }
    /**
     * 更新导出设备数据
     *
     * @param request - UpdateExportDeviceStatisticRequest
     * @param headers - UpdateExportDeviceStatisticHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns UpdateExportDeviceStatisticResponse
     */
    async updateExportDeviceStatisticWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.creatorCorpId)) {
            body["creatorCorpId"] = request.creatorCorpId;
        }
        if (!tea_util_1.default.isUnset(request.creatorUnionId)) {
            body["creatorUnionId"] = request.creatorUnionId;
        }
        if (!tea_util_1.default.isUnset(request.records)) {
            body["records"] = request.records;
        }
        if (!tea_util_1.default.isUnset(request.taskId)) {
            body["taskId"] = request.taskId;
        }
        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: "UpdateExportDeviceStatistic",
            version: "smartDevice_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/smartDevice/statistic`,
            method: "PUT",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new UpdateExportDeviceStatisticResponse({}));
    }
    /**
     * 更新导出设备数据
     *
     * @param request - UpdateExportDeviceStatisticRequest
     * @returns UpdateExportDeviceStatisticResponse
     */
    async updateExportDeviceStatistic(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new UpdateExportDeviceStatisticHeaders({});
        return await this.updateExportDeviceStatisticWithOptions(request, headers, runtime);
    }
    /**
     * 音频复刻
     *
     * @param request - VoiceCloneRequest
     * @param headers - VoiceCloneHeaders
     * @param runtime - runtime options for this request RuntimeOptions
     * @returns VoiceCloneResponse
     */
    async voiceCloneWithOptions(request, headers, runtime) {
        tea_util_1.default.validateModel(request);
        let body = {};
        if (!tea_util_1.default.isUnset(request.text)) {
            body["text"] = request.text;
        }
        if (!tea_util_1.default.isUnset(request.userId)) {
            body["userId"] = request.userId;
        }
        if (!tea_util_1.default.isUnset(request.voiceId)) {
            body["voiceId"] = request.voiceId;
        }
        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: "VoiceClone",
            version: "smartDevice_1.0",
            protocol: "HTTP",
            pathname: `/v1.0/smartDevice/voices/clone`,
            method: "POST",
            authType: "AK",
            style: "ROA",
            reqBodyType: "none",
            bodyType: "json",
        });
        return $tea.cast(await this.execute(params, req, runtime), new VoiceCloneResponse({}));
    }
    /**
     * 音频复刻
     *
     * @param request - VoiceCloneRequest
     * @returns VoiceCloneResponse
     */
    async voiceClone(request) {
        let runtime = new $Util.RuntimeOptions({});
        let headers = new VoiceCloneHeaders({});
        return await this.voiceCloneWithOptions(request, headers, runtime);
    }
}
exports.default = Client;
//# sourceMappingURL=client.js.map