{"version":3,"sources":["node_modules/@vendasta/campaigns/fesm2020/vendasta-campaigns.mjs"],"sourcesContent":["import * as i0 from '@angular/core';\nimport { Injectable } from '@angular/core';\nimport * as i1 from '@angular/common/http';\nimport { HttpHeaders } from '@angular/common/http';\nimport { map, mapTo } from 'rxjs/operators';\n\n// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\nvar EmailBuilderTemplateFocuses = /*#__PURE__*/function (EmailBuilderTemplateFocuses) {\n EmailBuilderTemplateFocuses[EmailBuilderTemplateFocuses[\"EMAIL_BUILDER_TEMPLATE_FOCUSES_UNSPECIFIED\"] = 0] = \"EMAIL_BUILDER_TEMPLATE_FOCUSES_UNSPECIFIED\";\n EmailBuilderTemplateFocuses[EmailBuilderTemplateFocuses[\"EMAIL_BUILDER_TEMPLATE_FOCUSES_ACQUIRE\"] = 1] = \"EMAIL_BUILDER_TEMPLATE_FOCUSES_ACQUIRE\";\n EmailBuilderTemplateFocuses[EmailBuilderTemplateFocuses[\"EMAIL_BUILDER_TEMPLATE_FOCUSES_UPSELL\"] = 2] = \"EMAIL_BUILDER_TEMPLATE_FOCUSES_UPSELL\";\n EmailBuilderTemplateFocuses[EmailBuilderTemplateFocuses[\"EMAIL_BUILDER_TEMPLATE_FOCUSES_ADOPT\"] = 3] = \"EMAIL_BUILDER_TEMPLATE_FOCUSES_ADOPT\";\n return EmailBuilderTemplateFocuses;\n}(EmailBuilderTemplateFocuses || {});\nvar ImageAlign = /*#__PURE__*/function (ImageAlign) {\n ImageAlign[ImageAlign[\"IMAGE_ALIGN_UNSPECIFIED\"] = 0] = \"IMAGE_ALIGN_UNSPECIFIED\";\n ImageAlign[ImageAlign[\"IMAGE_ALIGN_LEFT\"] = 1] = \"IMAGE_ALIGN_LEFT\";\n ImageAlign[ImageAlign[\"IMAGE_ALIGN_CENTER\"] = 2] = \"IMAGE_ALIGN_CENTER\";\n ImageAlign[ImageAlign[\"IMAGE_ALIGN_RIGHT\"] = 3] = \"IMAGE_ALIGN_RIGHT\";\n return ImageAlign;\n}(ImageAlign || {});\nvar EmailBuilderTemplateStatuses = /*#__PURE__*/function (EmailBuilderTemplateStatuses) {\n EmailBuilderTemplateStatuses[EmailBuilderTemplateStatuses[\"EMAIL_BUILDER_TEMPLATE_STATUSES_UNSPECIFIED\"] = 0] = \"EMAIL_BUILDER_TEMPLATE_STATUSES_UNSPECIFIED\";\n EmailBuilderTemplateStatuses[EmailBuilderTemplateStatuses[\"EMAIL_BUILDER_TEMPLATE_STATUSES_DRAFT\"] = 1] = \"EMAIL_BUILDER_TEMPLATE_STATUSES_DRAFT\";\n EmailBuilderTemplateStatuses[EmailBuilderTemplateStatuses[\"EMAIL_BUILDER_TEMPLATE_STATUSES_PUBLISHED\"] = 2] = \"EMAIL_BUILDER_TEMPLATE_STATUSES_PUBLISHED\";\n EmailBuilderTemplateStatuses[EmailBuilderTemplateStatuses[\"EMAIL_BUILDER_TEMPLATE_STATUSES_ACTIVE\"] = 3] = \"EMAIL_BUILDER_TEMPLATE_STATUSES_ACTIVE\";\n EmailBuilderTemplateStatuses[EmailBuilderTemplateStatuses[\"EMAIL_BUILDER_TEMPLATE_STATUSES_ARCHIVED\"] = 4] = \"EMAIL_BUILDER_TEMPLATE_STATUSES_ARCHIVED\";\n return EmailBuilderTemplateStatuses;\n}(EmailBuilderTemplateStatuses || {});\n// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\nvar DateDefault = /*#__PURE__*/function (DateDefault) {\n DateDefault[DateDefault[\"DATE_DEFAULT_INVALID\"] = 0] = \"DATE_DEFAULT_INVALID\";\n DateDefault[DateDefault[\"DATE_DEFAULT_TODAY\"] = 1] = \"DATE_DEFAULT_TODAY\";\n DateDefault[DateDefault[\"DATE_DEFAULT_YESTERDAY\"] = 2] = \"DATE_DEFAULT_YESTERDAY\";\n DateDefault[DateDefault[\"DATE_DEFAULT_TOMORROW\"] = 3] = \"DATE_DEFAULT_TOMORROW\";\n DateDefault[DateDefault[\"DATE_DEFAULT_THIS_WEEK\"] = 4] = \"DATE_DEFAULT_THIS_WEEK\";\n DateDefault[DateDefault[\"DATE_DEFAULT_LAST_WEEK\"] = 5] = \"DATE_DEFAULT_LAST_WEEK\";\n DateDefault[DateDefault[\"DATE_DEFAULT_NEXT_WEEK\"] = 6] = \"DATE_DEFAULT_NEXT_WEEK\";\n DateDefault[DateDefault[\"DATE_DEFAULT_THIS_MONTH\"] = 7] = \"DATE_DEFAULT_THIS_MONTH\";\n DateDefault[DateDefault[\"DATE_DEFAULT_LAST_MONTH\"] = 8] = \"DATE_DEFAULT_LAST_MONTH\";\n DateDefault[DateDefault[\"DATE_DEFAULT_NEXT_MONTH\"] = 9] = \"DATE_DEFAULT_NEXT_MONTH\";\n DateDefault[DateDefault[\"DATE_DEFAULT_THIS_QUARTER\"] = 10] = \"DATE_DEFAULT_THIS_QUARTER\";\n DateDefault[DateDefault[\"DATE_DEFAULT_LAST_QUARTER\"] = 11] = \"DATE_DEFAULT_LAST_QUARTER\";\n DateDefault[DateDefault[\"DATE_DEFAULT_NEXT_QUARTER\"] = 12] = \"DATE_DEFAULT_NEXT_QUARTER\";\n DateDefault[DateDefault[\"DATE_DEFAULT_THIS_YEAR\"] = 13] = \"DATE_DEFAULT_THIS_YEAR\";\n DateDefault[DateDefault[\"DATE_DEFAULT_LAST_YEAR\"] = 14] = \"DATE_DEFAULT_LAST_YEAR\";\n DateDefault[DateDefault[\"DATE_DEFAULT_NEXT_YEAR\"] = 15] = \"DATE_DEFAULT_NEXT_YEAR\";\n return DateDefault;\n}(DateDefault || {});\nvar FilterGroupOperator = /*#__PURE__*/function (FilterGroupOperator) {\n FilterGroupOperator[FilterGroupOperator[\"FILTER_GROUP_OPERATOR_INVALID\"] = 0] = \"FILTER_GROUP_OPERATOR_INVALID\";\n FilterGroupOperator[FilterGroupOperator[\"FILTER_GROUP_OPERATOR_AND\"] = 1] = \"FILTER_GROUP_OPERATOR_AND\";\n FilterGroupOperator[FilterGroupOperator[\"FILTER_GROUP_OPERATOR_OR\"] = 2] = \"FILTER_GROUP_OPERATOR_OR\";\n return FilterGroupOperator;\n}(FilterGroupOperator || {});\nvar FilterOperator = /*#__PURE__*/function (FilterOperator) {\n FilterOperator[FilterOperator[\"FILTER_OPERATOR_INVALID\"] = 0] = \"FILTER_OPERATOR_INVALID\";\n FilterOperator[FilterOperator[\"FILTER_OPERATOR_IS_EMPTY\"] = 1] = \"FILTER_OPERATOR_IS_EMPTY\";\n FilterOperator[FilterOperator[\"FILTER_OPERATOR_IS_NOT_EMPTY\"] = 2] = \"FILTER_OPERATOR_IS_NOT_EMPTY\";\n FilterOperator[FilterOperator[\"FILTER_OPERATOR_IS\"] = 3] = \"FILTER_OPERATOR_IS\";\n FilterOperator[FilterOperator[\"FILTER_OPERATOR_IS_NOT\"] = 4] = \"FILTER_OPERATOR_IS_NOT\";\n FilterOperator[FilterOperator[\"FILTER_OPERATOR_IS_ANY\"] = 5] = \"FILTER_OPERATOR_IS_ANY\";\n FilterOperator[FilterOperator[\"FILTER_OPERATOR_IS_NOT_ANY\"] = 6] = \"FILTER_OPERATOR_IS_NOT_ANY\";\n FilterOperator[FilterOperator[\"FILTER_OPERATOR_IS_ALL\"] = 7] = \"FILTER_OPERATOR_IS_ALL\";\n FilterOperator[FilterOperator[\"FILTER_OPERATOR_IS_NOT_ALL\"] = 8] = \"FILTER_OPERATOR_IS_NOT_ALL\";\n FilterOperator[FilterOperator[\"FILTER_OPERATOR_CONTAINS\"] = 9] = \"FILTER_OPERATOR_CONTAINS\";\n FilterOperator[FilterOperator[\"FILTER_OPERATOR_DOES_NOT_CONTAIN\"] = 10] = \"FILTER_OPERATOR_DOES_NOT_CONTAIN\";\n FilterOperator[FilterOperator[\"FILTER_OPERATOR_IS_EQUAL_TO\"] = 11] = \"FILTER_OPERATOR_IS_EQUAL_TO\";\n FilterOperator[FilterOperator[\"FILTER_OPERATOR_IS_NOT_EQUAL_TO\"] = 12] = \"FILTER_OPERATOR_IS_NOT_EQUAL_TO\";\n FilterOperator[FilterOperator[\"FILTER_OPERATOR_IS_GREATER_THAN\"] = 13] = \"FILTER_OPERATOR_IS_GREATER_THAN\";\n FilterOperator[FilterOperator[\"FILTER_OPERATOR_IS_GREATER_THAN_OR_EQUAL_TO\"] = 14] = \"FILTER_OPERATOR_IS_GREATER_THAN_OR_EQUAL_TO\";\n FilterOperator[FilterOperator[\"FILTER_OPERATOR_IS_LESS_THAN\"] = 15] = \"FILTER_OPERATOR_IS_LESS_THAN\";\n FilterOperator[FilterOperator[\"FILTER_OPERATOR_IS_LESS_THAN_OR_EQUAL_TO\"] = 16] = \"FILTER_OPERATOR_IS_LESS_THAN_OR_EQUAL_TO\";\n FilterOperator[FilterOperator[\"FILTER_OPERATOR_IS_BEFORE\"] = 17] = \"FILTER_OPERATOR_IS_BEFORE\";\n FilterOperator[FilterOperator[\"FILTER_OPERATOR_IS_BEFORE_OR_ON\"] = 18] = \"FILTER_OPERATOR_IS_BEFORE_OR_ON\";\n FilterOperator[FilterOperator[\"FILTER_OPERATOR_IS_AFTER\"] = 19] = \"FILTER_OPERATOR_IS_AFTER\";\n FilterOperator[FilterOperator[\"FILTER_OPERATOR_IS_AFTER_OR_ON\"] = 20] = \"FILTER_OPERATOR_IS_AFTER_OR_ON\";\n FilterOperator[FilterOperator[\"FILTER_OPERATOR_IS_BETWEEN\"] = 21] = \"FILTER_OPERATOR_IS_BETWEEN\";\n FilterOperator[FilterOperator[\"FILTER_OPERATOR_IS_NOT_BETWEEN\"] = 22] = \"FILTER_OPERATOR_IS_NOT_BETWEEN\";\n return FilterOperator;\n}(FilterOperator || {});\nvar FilterType = /*#__PURE__*/function (FilterType) {\n FilterType[FilterType[\"FILTER_TYPE_INVALID\"] = 0] = \"FILTER_TYPE_INVALID\";\n FilterType[FilterType[\"FILTER_TYPE_STRING\"] = 1] = \"FILTER_TYPE_STRING\";\n FilterType[FilterType[\"FILTER_TYPE_INTEGER\"] = 2] = \"FILTER_TYPE_INTEGER\";\n FilterType[FilterType[\"FILTER_TYPE_DATE\"] = 3] = \"FILTER_TYPE_DATE\";\n FilterType[FilterType[\"FILTER_TYPE_FLOAT\"] = 4] = \"FILTER_TYPE_FLOAT\";\n FilterType[FilterType[\"FILTER_TYPE_BOOLEAN\"] = 5] = \"FILTER_TYPE_BOOLEAN\";\n FilterType[FilterType[\"FILTER_TYPE_TAG\"] = 6] = \"FILTER_TYPE_TAG\";\n return FilterType;\n}(FilterType || {});\n// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\nvar AsyncWorkStatus = /*#__PURE__*/function (AsyncWorkStatus) {\n AsyncWorkStatus[AsyncWorkStatus[\"ASYNC_WORK_STATUS_INVALID\"] = 0] = \"ASYNC_WORK_STATUS_INVALID\";\n AsyncWorkStatus[AsyncWorkStatus[\"ASYNC_WORK_STATUS_IN_PROGRESS\"] = 1] = \"ASYNC_WORK_STATUS_IN_PROGRESS\";\n AsyncWorkStatus[AsyncWorkStatus[\"ASYNC_WORK_STATUS_COMPLETE\"] = 2] = \"ASYNC_WORK_STATUS_COMPLETE\";\n AsyncWorkStatus[AsyncWorkStatus[\"ASYNC_WORK_STATUS_ERROR\"] = 3] = \"ASYNC_WORK_STATUS_ERROR\";\n return AsyncWorkStatus;\n}(AsyncWorkStatus || {});\nvar CampaignQuotaCategory = /*#__PURE__*/function (CampaignQuotaCategory) {\n CampaignQuotaCategory[CampaignQuotaCategory[\"CAMPAIGN_QUOTA_TYPE_INVALID\"] = 0] = \"CAMPAIGN_QUOTA_TYPE_INVALID\";\n CampaignQuotaCategory[CampaignQuotaCategory[\"CAMPAIGN_QUOTA_TYPE_EMAIL\"] = 1] = \"CAMPAIGN_QUOTA_TYPE_EMAIL\";\n CampaignQuotaCategory[CampaignQuotaCategory[\"CAMPAIGN_QUOTA_TYPE_SMS\"] = 2] = \"CAMPAIGN_QUOTA_TYPE_SMS\";\n return CampaignQuotaCategory;\n}(CampaignQuotaCategory || {});\nvar CampaignScheduleStatus = /*#__PURE__*/function (CampaignScheduleStatus) {\n CampaignScheduleStatus[CampaignScheduleStatus[\"CAMPAIGN_SCHEDULE_STATUS_UNSPECIFIED\"] = 0] = \"CAMPAIGN_SCHEDULE_STATUS_UNSPECIFIED\";\n CampaignScheduleStatus[CampaignScheduleStatus[\"CAMPAIGN_SCHEDULE_STATUS_ACTIVE\"] = 1] = \"CAMPAIGN_SCHEDULE_STATUS_ACTIVE\";\n CampaignScheduleStatus[CampaignScheduleStatus[\"CAMPAIGN_SCHEDULE_STATUS_WAITING_ON_RATE_LIMIT\"] = 2] = \"CAMPAIGN_SCHEDULE_STATUS_WAITING_ON_RATE_LIMIT\";\n CampaignScheduleStatus[CampaignScheduleStatus[\"CAMPAIGN_SCHEDULE_STATUS_STOPPED\"] = 3] = \"CAMPAIGN_SCHEDULE_STATUS_STOPPED\";\n CampaignScheduleStatus[CampaignScheduleStatus[\"CAMPAIGN_SCHEDULE_STATUS_COMPLETED\"] = 4] = \"CAMPAIGN_SCHEDULE_STATUS_COMPLETED\";\n return CampaignScheduleStatus;\n}(CampaignScheduleStatus || {});\nvar CampaignState = /*#__PURE__*/function (CampaignState) {\n CampaignState[CampaignState[\"CAMPAIGN_STATE_UNSPECIFIED\"] = 0] = \"CAMPAIGN_STATE_UNSPECIFIED\";\n CampaignState[CampaignState[\"CAMPAIGN_STATE_ACTIVE\"] = 1] = \"CAMPAIGN_STATE_ACTIVE\";\n CampaignState[CampaignState[\"CAMPAIGN_STATE_IDLE\"] = 2] = \"CAMPAIGN_STATE_IDLE\";\n return CampaignState;\n}(CampaignState || {});\nvar CampaignStepEventType = /*#__PURE__*/function (CampaignStepEventType) {\n CampaignStepEventType[CampaignStepEventType[\"CAMPAIGN_STEP_EVENT_TYPE_UNSPECIFIED\"] = 0] = \"CAMPAIGN_STEP_EVENT_TYPE_UNSPECIFIED\";\n CampaignStepEventType[CampaignStepEventType[\"CAMPAIGN_STEP_EVENT_TYPE_PROCESSED\"] = 1] = \"CAMPAIGN_STEP_EVENT_TYPE_PROCESSED\";\n CampaignStepEventType[CampaignStepEventType[\"CAMPAIGN_STEP_EVENT_TYPE_DROPPED\"] = 2] = \"CAMPAIGN_STEP_EVENT_TYPE_DROPPED\";\n CampaignStepEventType[CampaignStepEventType[\"CAMPAIGN_STEP_EVENT_TYPE_DELIVERED\"] = 3] = \"CAMPAIGN_STEP_EVENT_TYPE_DELIVERED\";\n CampaignStepEventType[CampaignStepEventType[\"CAMPAIGN_STEP_EVENT_TYPE_DEFERRED\"] = 4] = \"CAMPAIGN_STEP_EVENT_TYPE_DEFERRED\";\n CampaignStepEventType[CampaignStepEventType[\"CAMPAIGN_STEP_EVENT_TYPE_BOUNCE\"] = 5] = \"CAMPAIGN_STEP_EVENT_TYPE_BOUNCE\";\n CampaignStepEventType[CampaignStepEventType[\"CAMPAIGN_STEP_EVENT_TYPE_OPEN\"] = 6] = \"CAMPAIGN_STEP_EVENT_TYPE_OPEN\";\n CampaignStepEventType[CampaignStepEventType[\"CAMPAIGN_STEP_EVENT_TYPE_CLICK\"] = 7] = \"CAMPAIGN_STEP_EVENT_TYPE_CLICK\";\n CampaignStepEventType[CampaignStepEventType[\"CAMPAIGN_STEP_EVENT_TYPE_SPAM_REPORT\"] = 8] = \"CAMPAIGN_STEP_EVENT_TYPE_SPAM_REPORT\";\n CampaignStepEventType[CampaignStepEventType[\"CAMPAIGN_STEP_EVENT_TYPE_UNSUBSCRIBE\"] = 9] = \"CAMPAIGN_STEP_EVENT_TYPE_UNSUBSCRIBE\";\n CampaignStepEventType[CampaignStepEventType[\"CAMPAIGN_STEP_EVENT_TYPE_CREATED\"] = 10] = \"CAMPAIGN_STEP_EVENT_TYPE_CREATED\";\n CampaignStepEventType[CampaignStepEventType[\"CAMPAIGN_STEP_EVENT_TYPE_NOT_REQUIRED\"] = 11] = \"CAMPAIGN_STEP_EVENT_TYPE_NOT_REQUIRED\";\n CampaignStepEventType[CampaignStepEventType[\"CAMPAIGN_STEP_EVENT_TYPE_REFRESHED\"] = 12] = \"CAMPAIGN_STEP_EVENT_TYPE_REFRESHED\";\n return CampaignStepEventType;\n}(CampaignStepEventType || {});\nvar CampaignStepSendStatusType = /*#__PURE__*/function (CampaignStepSendStatusType) {\n CampaignStepSendStatusType[CampaignStepSendStatusType[\"CAMPAIGN_STEP_SEND_STATUS_TYPE_UNSPECIFIED\"] = 0] = \"CAMPAIGN_STEP_SEND_STATUS_TYPE_UNSPECIFIED\";\n CampaignStepSendStatusType[CampaignStepSendStatusType[\"CAMPAIGN_STEP_SEND_STATUS_TYPE_UNSENT\"] = 1] = \"CAMPAIGN_STEP_SEND_STATUS_TYPE_UNSENT\";\n CampaignStepSendStatusType[CampaignStepSendStatusType[\"CAMPAIGN_STEP_SEND_STATUS_TYPE_QUEUED\"] = 2] = \"CAMPAIGN_STEP_SEND_STATUS_TYPE_QUEUED\";\n CampaignStepSendStatusType[CampaignStepSendStatusType[\"CAMPAIGN_STEP_SEND_STATUS_TYPE_SENDING\"] = 3] = \"CAMPAIGN_STEP_SEND_STATUS_TYPE_SENDING\";\n CampaignStepSendStatusType[CampaignStepSendStatusType[\"CAMPAIGN_STEP_SEND_STATUS_TYPE_SENT\"] = 4] = \"CAMPAIGN_STEP_SEND_STATUS_TYPE_SENT\";\n return CampaignStepSendStatusType;\n}(CampaignStepSendStatusType || {});\nvar CampaignStepType = /*#__PURE__*/function (CampaignStepType) {\n CampaignStepType[CampaignStepType[\"CAMPAIGN_STEP_TYPE_UNSPECIFIED\"] = 0] = \"CAMPAIGN_STEP_TYPE_UNSPECIFIED\";\n CampaignStepType[CampaignStepType[\"CAMPAIGN_STEP_TYPE_EMAIL\"] = 1] = \"CAMPAIGN_STEP_TYPE_EMAIL\";\n CampaignStepType[CampaignStepType[\"CAMPAIGN_STEP_TYPE_SNAPSHOT_CREATION\"] = 2] = \"CAMPAIGN_STEP_TYPE_SNAPSHOT_CREATION\";\n CampaignStepType[CampaignStepType[\"CAMPAIGN_STEP_TYPE_SMS\"] = 3] = \"CAMPAIGN_STEP_TYPE_SMS\";\n return CampaignStepType;\n}(CampaignStepType || {});\nvar ContactType = /*#__PURE__*/function (ContactType) {\n ContactType[ContactType[\"CONTACT_TYPE_INVALID\"] = 0] = \"CONTACT_TYPE_INVALID\";\n ContactType[ContactType[\"CONTACT_TYPE_EMAIL\"] = 1] = \"CONTACT_TYPE_EMAIL\";\n return ContactType;\n}(ContactType || {});\nvar DaysOfTheWeek = /*#__PURE__*/function (DaysOfTheWeek) {\n DaysOfTheWeek[DaysOfTheWeek[\"DAYS_OF_THE_WEEK_MONDAY\"] = 0] = \"DAYS_OF_THE_WEEK_MONDAY\";\n DaysOfTheWeek[DaysOfTheWeek[\"DAYS_OF_THE_WEEK_TUESDAY\"] = 1] = \"DAYS_OF_THE_WEEK_TUESDAY\";\n DaysOfTheWeek[DaysOfTheWeek[\"DAYS_OF_THE_WEEK_WEDNESDAY\"] = 2] = \"DAYS_OF_THE_WEEK_WEDNESDAY\";\n DaysOfTheWeek[DaysOfTheWeek[\"DAYS_OF_THE_WEEK_THURSDAY\"] = 3] = \"DAYS_OF_THE_WEEK_THURSDAY\";\n DaysOfTheWeek[DaysOfTheWeek[\"DAYS_OF_THE_WEEK_FRIDAY\"] = 4] = \"DAYS_OF_THE_WEEK_FRIDAY\";\n DaysOfTheWeek[DaysOfTheWeek[\"DAYS_OF_THE_WEEK_SATURDAY\"] = 5] = \"DAYS_OF_THE_WEEK_SATURDAY\";\n DaysOfTheWeek[DaysOfTheWeek[\"DAYS_OF_THE_WEEK_SUNDAY\"] = 6] = \"DAYS_OF_THE_WEEK_SUNDAY\";\n return DaysOfTheWeek;\n}(DaysOfTheWeek || {});\nvar DeletedTagsPolicy = /*#__PURE__*/function (DeletedTagsPolicy) {\n DeletedTagsPolicy[DeletedTagsPolicy[\"DELETED_TAGS_POLICY_EXCLUDE_FROM_RESPONSE\"] = 0] = \"DELETED_TAGS_POLICY_EXCLUDE_FROM_RESPONSE\";\n return DeletedTagsPolicy;\n}(DeletedTagsPolicy || {});\nvar DuplicateCampaignStepStatus = /*#__PURE__*/function (DuplicateCampaignStepStatus) {\n DuplicateCampaignStepStatus[DuplicateCampaignStepStatus[\"DUPLICATE_CAMPAIGN_STEP_STATUS_INVALID\"] = 0] = \"DUPLICATE_CAMPAIGN_STEP_STATUS_INVALID\";\n DuplicateCampaignStepStatus[DuplicateCampaignStepStatus[\"DUPLICATE_CAMPAIGN_STEP_STATUS_IN_PROGRESS\"] = 1] = \"DUPLICATE_CAMPAIGN_STEP_STATUS_IN_PROGRESS\";\n DuplicateCampaignStepStatus[DuplicateCampaignStepStatus[\"DUPLICATE_CAMPAIGN_STEP_STATUS_COMPLETE\"] = 2] = \"DUPLICATE_CAMPAIGN_STEP_STATUS_COMPLETE\";\n return DuplicateCampaignStepStatus;\n}(DuplicateCampaignStepStatus || {});\nvar Feature = /*#__PURE__*/function (Feature) {\n Feature[Feature[\"SEND_UNKNOWN\"] = 0] = \"SEND_UNKNOWN\";\n Feature[Feature[\"SEND_SMS\"] = 1] = \"SEND_SMS\";\n Feature[Feature[\"SEND_EMAIL\"] = 2] = \"SEND_EMAIL\";\n Feature[Feature[\"SEND_SNAPSHOT\"] = 3] = \"SEND_SNAPSHOT\";\n return Feature;\n}(Feature || {});\nvar Focuses = /*#__PURE__*/function (Focuses) {\n Focuses[Focuses[\"FOCUSES_UNSPECIFIED\"] = 0] = \"FOCUSES_UNSPECIFIED\";\n Focuses[Focuses[\"FOCUSES_ACQUIRE\"] = 1] = \"FOCUSES_ACQUIRE\";\n Focuses[Focuses[\"FOCUSES_UPSELL\"] = 2] = \"FOCUSES_UPSELL\";\n Focuses[Focuses[\"FOCUSES_ADOPT\"] = 3] = \"FOCUSES_ADOPT\";\n Focuses[Focuses[\"FOCUSES_NONE\"] = 4] = \"FOCUSES_NONE\";\n return Focuses;\n}(Focuses || {});\nvar Period = /*#__PURE__*/function (Period) {\n Period[Period[\"PERIOD_INVALID\"] = 0] = \"PERIOD_INVALID\";\n Period[Period[\"PERIOD_MONTH\"] = 1] = \"PERIOD_MONTH\";\n return Period;\n}(Period || {});\nvar RecipientCampaignStatus = /*#__PURE__*/function (RecipientCampaignStatus) {\n RecipientCampaignStatus[RecipientCampaignStatus[\"RECIPIENT_CAMPAIGN_STATUS_UNSPECIFIED\"] = 0] = \"RECIPIENT_CAMPAIGN_STATUS_UNSPECIFIED\";\n RecipientCampaignStatus[RecipientCampaignStatus[\"RECIPIENT_CAMPAIGN_STATUS_ACTIVE\"] = 1] = \"RECIPIENT_CAMPAIGN_STATUS_ACTIVE\";\n RecipientCampaignStatus[RecipientCampaignStatus[\"RECIPIENT_CAMPAIGN_STATUS_PAUSED\"] = 2] = \"RECIPIENT_CAMPAIGN_STATUS_PAUSED\";\n RecipientCampaignStatus[RecipientCampaignStatus[\"RECIPIENT_CAMPAIGN_STATUS_COMPLETED\"] = 3] = \"RECIPIENT_CAMPAIGN_STATUS_COMPLETED\";\n return RecipientCampaignStatus;\n}(RecipientCampaignStatus || {});\nvar RecipientType = /*#__PURE__*/function (RecipientType) {\n RecipientType[RecipientType[\"RECIPIENT_TYPE_INVALID\"] = 0] = \"RECIPIENT_TYPE_INVALID\";\n RecipientType[RecipientType[\"RECIPIENT_TYPE_CRM_CONTACT\"] = 1] = \"RECIPIENT_TYPE_CRM_CONTACT\";\n RecipientType[RecipientType[\"RECIPIENT_TYPE_BUSINESS\"] = 2] = \"RECIPIENT_TYPE_BUSINESS\";\n return RecipientType;\n}(RecipientType || {});\nvar SenderType = /*#__PURE__*/function (SenderType) {\n SenderType[SenderType[\"SENDER_TYPE_INVALID\"] = 0] = \"SENDER_TYPE_INVALID\";\n SenderType[SenderType[\"SENDER_TYPE_PARTNER\"] = 1] = \"SENDER_TYPE_PARTNER\";\n SenderType[SenderType[\"SENDER_TYPE_BUSINESS\"] = 2] = \"SENDER_TYPE_BUSINESS\";\n return SenderType;\n}(SenderType || {});\nvar SortDirection = /*#__PURE__*/function (SortDirection) {\n SortDirection[SortDirection[\"SORT_ORDER_INVALID\"] = 0] = \"SORT_ORDER_INVALID\";\n SortDirection[SortDirection[\"SORT_ORDER_ASCENDING\"] = 1] = \"SORT_ORDER_ASCENDING\";\n SortDirection[SortDirection[\"SORT_ORDER_DESCENDING\"] = 2] = \"SORT_ORDER_DESCENDING\";\n return SortDirection;\n}(SortDirection || {});\nvar SortField = /*#__PURE__*/function (SortField) {\n SortField[SortField[\"SORT_FIELDS_INVALID\"] = 0] = \"SORT_FIELDS_INVALID\";\n SortField[SortField[\"SORT_FIELDS_NAME\"] = 1] = \"SORT_FIELDS_NAME\";\n SortField[SortField[\"SORT_FIELDS_CREATED_AT\"] = 2] = \"SORT_FIELDS_CREATED_AT\";\n SortField[SortField[\"SORT_FIELDS_UPDATED_AT\"] = 3] = \"SORT_FIELDS_UPDATED_AT\";\n return SortField;\n}(SortField || {});\nvar Statuses = /*#__PURE__*/function (Statuses) {\n Statuses[Statuses[\"STATUSES_UNSPECIFIED\"] = 0] = \"STATUSES_UNSPECIFIED\";\n Statuses[Statuses[\"STATUSES_DRAFT\"] = 1] = \"STATUSES_DRAFT\";\n Statuses[Statuses[\"STATUSES_PUBLISHED\"] = 2] = \"STATUSES_PUBLISHED\";\n Statuses[Statuses[\"STATUSES_ACTIVE\"] = 3] = \"STATUSES_ACTIVE\";\n Statuses[Statuses[\"STATUSES_ARCHIVED\"] = 4] = \"STATUSES_ARCHIVED\";\n return Statuses;\n}(Statuses || {});\nvar TemplateStatus = /*#__PURE__*/function (TemplateStatus) {\n TemplateStatus[TemplateStatus[\"TEMPLATE_STATUS_INVALID\"] = 0] = \"TEMPLATE_STATUS_INVALID\";\n TemplateStatus[TemplateStatus[\"TEMPLATE_STATUS_DRAFT\"] = 1] = \"TEMPLATE_STATUS_DRAFT\";\n TemplateStatus[TemplateStatus[\"TEMPLATE_STATUS_PUBLISHED\"] = 2] = \"TEMPLATE_STATUS_PUBLISHED\";\n return TemplateStatus;\n}(TemplateStatus || {});\n// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums Index.\n// *********************************\n\nfunction enumStringToValue$4(enumRef, value) {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\nclass Colors {\n static fromProto(proto) {\n let m = new Colors();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.textColor !== 'undefined') {\n toReturn['textColor'] = this.textColor;\n }\n if (typeof this.titleColor !== 'undefined') {\n toReturn['titleColor'] = this.titleColor;\n }\n if (typeof this.subtitleColor !== 'undefined') {\n toReturn['subtitleColor'] = this.subtitleColor;\n }\n if (typeof this.linkColor !== 'undefined') {\n toReturn['linkColor'] = this.linkColor;\n }\n if (typeof this.footerTextColor !== 'undefined') {\n toReturn['footerTextColor'] = this.footerTextColor;\n }\n if (typeof this.textBackground !== 'undefined') {\n toReturn['textBackground'] = this.textBackground;\n }\n if (typeof this.pageBackground !== 'undefined') {\n toReturn['pageBackground'] = this.pageBackground;\n }\n return toReturn;\n }\n}\nclass EmailBuilderConfiguration {\n static fromProto(proto) {\n let m = new EmailBuilderConfiguration();\n m = Object.assign(m, proto);\n if (proto.googleAnalyticsOptions) {\n m.googleAnalyticsOptions = GoogleAnalyticsOptions.fromProto(proto.googleAnalyticsOptions);\n }\n if (proto.pageSetup) {\n m.pageSetup = PageSetup.fromProto(proto.pageSetup);\n }\n if (proto.topLogo) {\n m.topLogo = TopLogo.fromProto(proto.topLogo);\n }\n if (proto.footer) {\n m.footer = Footer.fromProto(proto.footer);\n }\n if (proto.colors) {\n m.colors = Colors.fromProto(proto.colors);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.googleAnalyticsOptions !== 'undefined' && this.googleAnalyticsOptions !== null) {\n toReturn['googleAnalyticsOptions'] = 'toApiJson' in this.googleAnalyticsOptions ? this.googleAnalyticsOptions.toApiJson() : this.googleAnalyticsOptions;\n }\n if (typeof this.pageSetup !== 'undefined' && this.pageSetup !== null) {\n toReturn['pageSetup'] = 'toApiJson' in this.pageSetup ? this.pageSetup.toApiJson() : this.pageSetup;\n }\n if (typeof this.topLogo !== 'undefined' && this.topLogo !== null) {\n toReturn['topLogo'] = 'toApiJson' in this.topLogo ? this.topLogo.toApiJson() : this.topLogo;\n }\n if (typeof this.footer !== 'undefined' && this.footer !== null) {\n toReturn['footer'] = 'toApiJson' in this.footer ? this.footer.toApiJson() : this.footer;\n }\n if (typeof this.contentBlocks !== 'undefined') {\n toReturn['contentBlocks'] = this.contentBlocks;\n }\n if (typeof this.colors !== 'undefined' && this.colors !== null) {\n toReturn['colors'] = 'toApiJson' in this.colors ? this.colors.toApiJson() : this.colors;\n }\n return toReturn;\n }\n}\nclass EmailBuilderTemplate {\n static fromProto(proto) {\n let m = new EmailBuilderTemplate();\n m = Object.assign(m, proto);\n if (proto.emailBuilderConfiguration) {\n m.emailBuilderConfiguration = EmailBuilderConfiguration.fromProto(proto.emailBuilderConfiguration);\n }\n if (proto.campaignFocus) {\n m.campaignFocus = enumStringToValue$4(EmailBuilderTemplateFocuses, proto.campaignFocus);\n }\n if (proto.status) {\n m.status = enumStringToValue$4(EmailBuilderTemplateStatuses, proto.status);\n }\n if (proto.parent) {\n m.parent = TemplateReference.fromProto(proto.parent);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.id !== 'undefined') {\n toReturn['id'] = this.id;\n }\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.marketId !== 'undefined') {\n toReturn['marketId'] = this.marketId;\n }\n if (typeof this.name !== 'undefined') {\n toReturn['name'] = this.name;\n }\n if (typeof this.subjectLine !== 'undefined') {\n toReturn['subjectLine'] = this.subjectLine;\n }\n if (typeof this.previewText !== 'undefined') {\n toReturn['previewText'] = this.previewText;\n }\n if (typeof this.lastModifiedBy !== 'undefined') {\n toReturn['lastModifiedBy'] = this.lastModifiedBy;\n }\n if (typeof this.emailBuilderConfiguration !== 'undefined' && this.emailBuilderConfiguration !== null) {\n toReturn['emailBuilderConfiguration'] = 'toApiJson' in this.emailBuilderConfiguration ? this.emailBuilderConfiguration.toApiJson() : this.emailBuilderConfiguration;\n }\n if (typeof this.createdBy !== 'undefined') {\n toReturn['createdBy'] = this.createdBy;\n }\n if (typeof this.campaignFocus !== 'undefined') {\n toReturn['campaignFocus'] = this.campaignFocus;\n }\n if (typeof this.status !== 'undefined') {\n toReturn['status'] = this.status;\n }\n if (typeof this.isEditable !== 'undefined') {\n toReturn['isEditable'] = this.isEditable;\n }\n if (typeof this.parent !== 'undefined' && this.parent !== null) {\n toReturn['parent'] = 'toApiJson' in this.parent ? this.parent.toApiJson() : this.parent;\n }\n return toReturn;\n }\n}\nclass Footer {\n static fromProto(proto) {\n let m = new Footer();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.disclaimer !== 'undefined') {\n toReturn['disclaimer'] = this.disclaimer;\n }\n if (typeof this.showContactInfo !== 'undefined') {\n toReturn['showContactInfo'] = this.showContactInfo;\n }\n if (typeof this.showUnsubscribeLinks !== 'undefined') {\n toReturn['showUnsubscribeLinks'] = this.showUnsubscribeLinks;\n }\n return toReturn;\n }\n}\nclass GoogleAnalyticsOptions {\n static fromProto(proto) {\n let m = new GoogleAnalyticsOptions();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.campaignName !== 'undefined') {\n toReturn['campaignName'] = this.campaignName;\n }\n if (typeof this.campaignSource !== 'undefined') {\n toReturn['campaignSource'] = this.campaignSource;\n }\n return toReturn;\n }\n}\nclass PageSetup {\n static fromProto(proto) {\n let m = new PageSetup();\n m = Object.assign(m, proto);\n if (proto.outerWidth) {\n m.outerWidth = parseInt(proto.outerWidth, 10);\n }\n if (proto.innerWidth) {\n m.innerWidth = parseInt(proto.innerWidth, 10);\n }\n if (proto.topPadding) {\n m.topPadding = parseInt(proto.topPadding, 10);\n }\n if (proto.bottomContentPadding) {\n m.bottomContentPadding = parseInt(proto.bottomContentPadding, 10);\n }\n if (proto.innerHorizontalPadding) {\n m.innerHorizontalPadding = parseInt(proto.innerHorizontalPadding, 10);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.outerWidth !== 'undefined') {\n toReturn['outerWidth'] = this.outerWidth;\n }\n if (typeof this.innerWidth !== 'undefined') {\n toReturn['innerWidth'] = this.innerWidth;\n }\n if (typeof this.topPadding !== 'undefined') {\n toReturn['topPadding'] = this.topPadding;\n }\n if (typeof this.bottomContentPadding !== 'undefined') {\n toReturn['bottomContentPadding'] = this.bottomContentPadding;\n }\n if (typeof this.innerHorizontalPadding !== 'undefined') {\n toReturn['innerHorizontalPadding'] = this.innerHorizontalPadding;\n }\n return toReturn;\n }\n}\nclass TemplateReference {\n static fromProto(proto) {\n let m = new TemplateReference();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.appNamespace !== 'undefined') {\n toReturn['appNamespace'] = this.appNamespace;\n }\n if (typeof this.templateId !== 'undefined') {\n toReturn['templateId'] = this.templateId;\n }\n return toReturn;\n }\n}\nclass TopLogo {\n static fromProto(proto) {\n let m = new TopLogo();\n m = Object.assign(m, proto);\n if (proto.width) {\n m.width = parseInt(proto.width, 10);\n }\n if (proto.align) {\n m.align = enumStringToValue$4(ImageAlign, proto.align);\n }\n if (proto.topPadding) {\n m.topPadding = parseInt(proto.topPadding, 10);\n }\n if (proto.bottomPadding) {\n m.bottomPadding = parseInt(proto.bottomPadding, 10);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.showLogo !== 'undefined') {\n toReturn['showLogo'] = this.showLogo;\n }\n if (typeof this.customImageUrl !== 'undefined') {\n toReturn['customImageUrl'] = this.customImageUrl;\n }\n if (typeof this.width !== 'undefined') {\n toReturn['width'] = this.width;\n }\n if (typeof this.align !== 'undefined') {\n toReturn['align'] = this.align;\n }\n if (typeof this.topPadding !== 'undefined') {\n toReturn['topPadding'] = this.topPadding;\n }\n if (typeof this.bottomPadding !== 'undefined') {\n toReturn['bottomPadding'] = this.bottomPadding;\n }\n if (typeof this.link !== 'undefined') {\n toReturn['link'] = this.link;\n }\n return toReturn;\n }\n}\nfunction enumStringToValue$3(enumRef, value) {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\nclass FieldMask {\n static fromProto(proto) {\n let m = new FieldMask();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.paths !== 'undefined') {\n toReturn['paths'] = this.paths;\n }\n return toReturn;\n }\n}\nfunction enumStringToValue$2(enumRef, value) {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\nclass Access {\n static fromProto(proto) {\n let m = new Access();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.scope !== 'undefined') {\n toReturn['scope'] = this.scope;\n }\n if (typeof this.public !== 'undefined') {\n toReturn['public'] = this.public;\n }\n return toReturn;\n }\n}\nfunction enumStringToValue$1(enumRef, value) {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\nclass Filter {\n static fromProto(proto) {\n let m = new Filter();\n m = Object.assign(m, proto);\n if (proto.operator) {\n m.operator = enumStringToValue$1(FilterOperator, proto.operator);\n }\n if (proto.values) {\n m.values = proto.values.map(FilterValue.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.fieldId !== 'undefined') {\n toReturn['fieldId'] = this.fieldId;\n }\n if (typeof this.operator !== 'undefined') {\n toReturn['operator'] = this.operator;\n }\n if (typeof this.values !== 'undefined' && this.values !== null) {\n toReturn['values'] = 'toApiJson' in this.values ? this.values.toApiJson() : this.values;\n }\n if (typeof this.floatTolerance !== 'undefined') {\n toReturn['floatTolerance'] = this.floatTolerance;\n }\n return toReturn;\n }\n}\nclass FilterGroup {\n static fromProto(proto) {\n let m = new FilterGroup();\n m = Object.assign(m, proto);\n if (proto.operator) {\n m.operator = enumStringToValue$1(FilterGroupOperator, proto.operator);\n }\n if (proto.filters) {\n m.filters = proto.filters.map(Filter.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.operator !== 'undefined') {\n toReturn['operator'] = this.operator;\n }\n if (typeof this.filters !== 'undefined' && this.filters !== null) {\n toReturn['filters'] = 'toApiJson' in this.filters ? this.filters.toApiJson() : this.filters;\n }\n return toReturn;\n }\n}\nclass FilterValue {\n static fromProto(proto) {\n let m = new FilterValue();\n m = Object.assign(m, proto);\n if (proto.integer) {\n m.integer = parseInt(proto.integer, 10);\n }\n if (proto.date) {\n m.date = new Date(proto.date);\n }\n if (proto.dateDefault) {\n m.dateDefault = enumStringToValue$1(DateDefault, proto.dateDefault);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.boolean !== 'undefined') {\n toReturn['boolean'] = this.boolean;\n }\n if (typeof this.integer !== 'undefined') {\n toReturn['integer'] = this.integer;\n }\n if (typeof this.float !== 'undefined') {\n toReturn['float'] = this.float;\n }\n if (typeof this.string !== 'undefined') {\n toReturn['string'] = this.string;\n }\n if (typeof this.date !== 'undefined' && this.date !== null) {\n toReturn['date'] = 'toApiJson' in this.date ? this.date.toApiJson() : this.date;\n }\n if (typeof this.dateDefault !== 'undefined') {\n toReturn['dateDefault'] = this.dateDefault;\n }\n return toReturn;\n }\n}\nfunction enumStringToValue(enumRef, value) {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\nclass RecipientClickStatsAccount {\n static fromProto(proto) {\n let m = new RecipientClickStatsAccount();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.accountGroupId !== 'undefined') {\n toReturn['accountGroupId'] = this.accountGroupId;\n }\n return toReturn;\n }\n}\nclass ActivateProductForSenderRequest {\n static fromProto(proto) {\n let m = new ActivateProductForSenderRequest();\n m = Object.assign(m, proto);\n if (proto.sender) {\n m.sender = Sender.fromProto(proto.sender);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.sender !== 'undefined' && this.sender !== null) {\n toReturn['sender'] = 'toApiJson' in this.sender ? this.sender.toApiJson() : this.sender;\n }\n if (typeof this.sku !== 'undefined') {\n toReturn['sku'] = this.sku;\n }\n return toReturn;\n }\n}\nclass AddContactToCampaignRequest {\n static fromProto(proto) {\n let m = new AddContactToCampaignRequest();\n m = Object.assign(m, proto);\n if (proto.sender) {\n m.sender = Sender.fromProto(proto.sender);\n }\n if (proto.recipient) {\n m.recipient = RecipientV2.fromProto(proto.recipient);\n }\n if (proto.date) {\n m.date = new Date(proto.date);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.campaignId !== 'undefined') {\n toReturn['campaignId'] = this.campaignId;\n }\n if (typeof this.sender !== 'undefined' && this.sender !== null) {\n toReturn['sender'] = 'toApiJson' in this.sender ? this.sender.toApiJson() : this.sender;\n }\n if (typeof this.recipient !== 'undefined' && this.recipient !== null) {\n toReturn['recipient'] = 'toApiJson' in this.recipient ? this.recipient.toApiJson() : this.recipient;\n }\n if (typeof this.date !== 'undefined' && this.date !== null) {\n toReturn['date'] = 'toApiJson' in this.date ? this.date.toApiJson() : this.date;\n }\n return toReturn;\n }\n}\nclass AddContactToCampaignResponse {\n static fromProto(proto) {\n let m = new AddContactToCampaignResponse();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.recipientCampaignId !== 'undefined') {\n toReturn['recipientCampaignId'] = this.recipientCampaignId;\n }\n return toReturn;\n }\n}\nclass AddStepToCampaignRequest {\n static fromProto(proto) {\n let m = new AddStepToCampaignRequest();\n m = Object.assign(m, proto);\n if (proto.stepType) {\n m.stepType = enumStringToValue(CampaignStepType, proto.stepType);\n }\n if (proto.sender) {\n m.sender = Sender.fromProto(proto.sender);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.campaignId !== 'undefined') {\n toReturn['campaignId'] = this.campaignId;\n }\n if (typeof this.stepType !== 'undefined') {\n toReturn['stepType'] = this.stepType;\n }\n if (typeof this.contentId !== 'undefined') {\n toReturn['contentId'] = this.contentId;\n }\n if (typeof this.sender !== 'undefined' && this.sender !== null) {\n toReturn['sender'] = 'toApiJson' in this.sender ? this.sender.toApiJson() : this.sender;\n }\n if (typeof this.name !== 'undefined') {\n toReturn['name'] = this.name;\n }\n return toReturn;\n }\n}\nclass AddTagToCampaignRequest {\n static fromProto(proto) {\n let m = new AddTagToCampaignRequest();\n m = Object.assign(m, proto);\n if (proto.senderType) {\n m.senderType = enumStringToValue(SenderType, proto.senderType);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.senderType !== 'undefined') {\n toReturn['senderType'] = this.senderType;\n }\n if (typeof this.senderId !== 'undefined') {\n toReturn['senderId'] = this.senderId;\n }\n if (typeof this.campaignId !== 'undefined') {\n toReturn['campaignId'] = this.campaignId;\n }\n if (typeof this.tagId !== 'undefined') {\n toReturn['tagId'] = this.tagId;\n }\n return toReturn;\n }\n}\nclass BulkAddContactsToCampaignRequest {\n static fromProto(proto) {\n let m = new BulkAddContactsToCampaignRequest();\n m = Object.assign(m, proto);\n if (proto.sender) {\n m.sender = Sender.fromProto(proto.sender);\n }\n if (proto.date) {\n m.date = new Date(proto.date);\n }\n if (proto.criteria) {\n m.criteria = RecipientCriteria.fromProto(proto.criteria);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.campaignId !== 'undefined') {\n toReturn['campaignId'] = this.campaignId;\n }\n if (typeof this.sender !== 'undefined' && this.sender !== null) {\n toReturn['sender'] = 'toApiJson' in this.sender ? this.sender.toApiJson() : this.sender;\n }\n if (typeof this.date !== 'undefined' && this.date !== null) {\n toReturn['date'] = 'toApiJson' in this.date ? this.date.toApiJson() : this.date;\n }\n if (typeof this.criteria !== 'undefined' && this.criteria !== null) {\n toReturn['criteria'] = 'toApiJson' in this.criteria ? this.criteria.toApiJson() : this.criteria;\n }\n return toReturn;\n }\n}\nclass CampaignDetailStats {\n static fromProto(proto) {\n let m = new CampaignDetailStats();\n m = Object.assign(m, proto);\n if (proto.active) {\n m.active = parseInt(proto.active, 10);\n }\n if (proto.clicksPerOpenedEmail) {\n m.clicksPerOpenedEmail = parseInt(proto.clicksPerOpenedEmail, 10);\n }\n if (proto.completed) {\n m.completed = parseInt(proto.completed, 10);\n }\n if (proto.delivered) {\n m.delivered = parseInt(proto.delivered, 10);\n }\n if (proto.opened) {\n m.opened = parseInt(proto.opened, 10);\n }\n if (proto.sent) {\n m.sent = parseInt(proto.sent, 10);\n }\n if (proto.stopped) {\n m.stopped = parseInt(proto.stopped, 10);\n }\n if (proto.totalAccounts) {\n m.totalAccounts = parseInt(proto.totalAccounts, 10);\n }\n if (proto.totalLeads) {\n m.totalLeads = parseInt(proto.totalLeads, 10);\n }\n if (proto.totalRecipients) {\n m.totalRecipients = parseInt(proto.totalRecipients, 10);\n }\n if (proto.undeliverable) {\n m.undeliverable = parseInt(proto.undeliverable, 10);\n }\n if (proto.waitingOnRateLimit) {\n m.waitingOnRateLimit = parseInt(proto.waitingOnRateLimit, 10);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.active !== 'undefined') {\n toReturn['active'] = this.active;\n }\n if (typeof this.clicksPerOpenedEmail !== 'undefined') {\n toReturn['clicksPerOpenedEmail'] = this.clicksPerOpenedEmail;\n }\n if (typeof this.completed !== 'undefined') {\n toReturn['completed'] = this.completed;\n }\n if (typeof this.delivered !== 'undefined') {\n toReturn['delivered'] = this.delivered;\n }\n if (typeof this.opened !== 'undefined') {\n toReturn['opened'] = this.opened;\n }\n if (typeof this.sent !== 'undefined') {\n toReturn['sent'] = this.sent;\n }\n if (typeof this.stopped !== 'undefined') {\n toReturn['stopped'] = this.stopped;\n }\n if (typeof this.totalAccounts !== 'undefined') {\n toReturn['totalAccounts'] = this.totalAccounts;\n }\n if (typeof this.totalLeads !== 'undefined') {\n toReturn['totalLeads'] = this.totalLeads;\n }\n if (typeof this.totalRecipients !== 'undefined') {\n toReturn['totalRecipients'] = this.totalRecipients;\n }\n if (typeof this.undeliverable !== 'undefined') {\n toReturn['undeliverable'] = this.undeliverable;\n }\n if (typeof this.waitingOnRateLimit !== 'undefined') {\n toReturn['waitingOnRateLimit'] = this.waitingOnRateLimit;\n }\n return toReturn;\n }\n}\nclass CampaignRecipient {\n static fromProto(proto) {\n let m = new CampaignRecipient();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.recipientId !== 'undefined') {\n toReturn['recipientId'] = this.recipientId;\n }\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.accountGroupId !== 'undefined') {\n toReturn['accountGroupId'] = this.accountGroupId;\n }\n if (typeof this.email !== 'undefined') {\n toReturn['email'] = this.email;\n }\n return toReturn;\n }\n}\nclass CampaignStepEvent {\n static fromProto(proto) {\n let m = new CampaignStepEvent();\n m = Object.assign(m, proto);\n if (proto.eventType) {\n m.eventType = enumStringToValue(CampaignStepEventType, proto.eventType);\n }\n if (proto.eventDate) {\n m.eventDate = new Date(proto.eventDate);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.eventType !== 'undefined') {\n toReturn['eventType'] = this.eventType;\n }\n if (typeof this.eventDate !== 'undefined' && this.eventDate !== null) {\n toReturn['eventDate'] = 'toApiJson' in this.eventDate ? this.eventDate.toApiJson() : this.eventDate;\n }\n return toReturn;\n }\n}\nclass CampaignStepInterface {\n static fromProto(proto) {\n let m = new CampaignStepInterface();\n m = Object.assign(m, proto);\n if (proto.stepType) {\n m.stepType = enumStringToValue(CampaignStepType, proto.stepType);\n }\n if (proto.secondsAfterLastEmail) {\n m.secondsAfterLastEmail = parseInt(proto.secondsAfterLastEmail, 10);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.campaignStepId !== 'undefined') {\n toReturn['campaignStepId'] = this.campaignStepId;\n }\n if (typeof this.stepType !== 'undefined') {\n toReturn['stepType'] = this.stepType;\n }\n if (typeof this.templateId !== 'undefined') {\n toReturn['templateId'] = this.templateId;\n }\n if (typeof this.secondsAfterLastEmail !== 'undefined') {\n toReturn['secondsAfterLastEmail'] = this.secondsAfterLastEmail;\n }\n if (typeof this.name !== 'undefined') {\n toReturn['name'] = this.name;\n }\n return toReturn;\n }\n}\nclass CampaignStepStats {\n static fromProto(proto) {\n let m = new CampaignStepStats();\n m = Object.assign(m, proto);\n if (proto.delivered) {\n m.delivered = parseInt(proto.delivered, 10);\n }\n if (proto.opens) {\n m.opens = parseInt(proto.opens, 10);\n }\n if (proto.bounced) {\n m.bounced = parseInt(proto.bounced, 10);\n }\n if (proto.spam) {\n m.spam = parseInt(proto.spam, 10);\n }\n if (proto.unsubscribed) {\n m.unsubscribed = parseInt(proto.unsubscribed, 10);\n }\n if (proto.dropped) {\n m.dropped = parseInt(proto.dropped, 10);\n }\n if (proto.clicks) {\n m.clicks = parseInt(proto.clicks, 10);\n }\n if (proto.pending) {\n m.pending = parseInt(proto.pending, 10);\n }\n if (proto.created) {\n m.created = parseInt(proto.created, 10);\n }\n if (proto.refreshed) {\n m.refreshed = parseInt(proto.refreshed, 10);\n }\n if (proto.notRequired) {\n m.notRequired = parseInt(proto.notRequired, 10);\n }\n if (proto.sent) {\n m.sent = parseInt(proto.sent, 10);\n }\n if (proto.stopped) {\n m.stopped = parseInt(proto.stopped, 10);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.campaignStepId !== 'undefined') {\n toReturn['campaignStepId'] = this.campaignStepId;\n }\n if (typeof this.delivered !== 'undefined') {\n toReturn['delivered'] = this.delivered;\n }\n if (typeof this.opens !== 'undefined') {\n toReturn['opens'] = this.opens;\n }\n if (typeof this.openRate !== 'undefined') {\n toReturn['openRate'] = this.openRate;\n }\n if (typeof this.clickToOpenRate !== 'undefined') {\n toReturn['clickToOpenRate'] = this.clickToOpenRate;\n }\n if (typeof this.bounced !== 'undefined') {\n toReturn['bounced'] = this.bounced;\n }\n if (typeof this.spam !== 'undefined') {\n toReturn['spam'] = this.spam;\n }\n if (typeof this.unsubscribed !== 'undefined') {\n toReturn['unsubscribed'] = this.unsubscribed;\n }\n if (typeof this.dropped !== 'undefined') {\n toReturn['dropped'] = this.dropped;\n }\n if (typeof this.clicks !== 'undefined') {\n toReturn['clicks'] = this.clicks;\n }\n if (typeof this.pending !== 'undefined') {\n toReturn['pending'] = this.pending;\n }\n if (typeof this.created !== 'undefined') {\n toReturn['created'] = this.created;\n }\n if (typeof this.refreshed !== 'undefined') {\n toReturn['refreshed'] = this.refreshed;\n }\n if (typeof this.notRequired !== 'undefined') {\n toReturn['notRequired'] = this.notRequired;\n }\n if (typeof this.sent !== 'undefined') {\n toReturn['sent'] = this.sent;\n }\n if (typeof this.stopped !== 'undefined') {\n toReturn['stopped'] = this.stopped;\n }\n return toReturn;\n }\n}\nclass CampaignTag {\n static fromProto(proto) {\n let m = new CampaignTag();\n m = Object.assign(m, proto);\n if (proto.senderType) {\n m.senderType = enumStringToValue(SenderType, proto.senderType);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.senderType !== 'undefined') {\n toReturn['senderType'] = this.senderType;\n }\n if (typeof this.senderId !== 'undefined') {\n toReturn['senderId'] = this.senderId;\n }\n if (typeof this.tagId !== 'undefined') {\n toReturn['tagId'] = this.tagId;\n }\n if (typeof this.text !== 'undefined') {\n toReturn['text'] = this.text;\n }\n if (typeof this.colour !== 'undefined') {\n toReturn['colour'] = this.colour;\n }\n return toReturn;\n }\n}\nclass CheckDuplicateCampaignStatusRequest {\n static fromProto(proto) {\n let m = new CheckDuplicateCampaignStatusRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.statusId !== 'undefined') {\n toReturn['statusId'] = this.statusId;\n }\n return toReturn;\n }\n}\nclass CheckDuplicateCampaignStatusResponse {\n static fromProto(proto) {\n let m = new CheckDuplicateCampaignStatusResponse();\n m = Object.assign(m, proto);\n if (proto.status) {\n m.status = enumStringToValue(AsyncWorkStatus, proto.status);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.status !== 'undefined') {\n toReturn['status'] = this.status;\n }\n if (typeof this.campaignId !== 'undefined') {\n toReturn['campaignId'] = this.campaignId;\n }\n return toReturn;\n }\n}\nclass CheckDuplicateCampaignStepStatusRequest {\n static fromProto(proto) {\n let m = new CheckDuplicateCampaignStepStatusRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.statusId !== 'undefined') {\n toReturn['statusId'] = this.statusId;\n }\n return toReturn;\n }\n}\nclass CheckDuplicateCampaignStepStatusResponse {\n static fromProto(proto) {\n let m = new CheckDuplicateCampaignStepStatusResponse();\n m = Object.assign(m, proto);\n if (proto.status) {\n m.status = enumStringToValue(DuplicateCampaignStepStatus, proto.status);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.status !== 'undefined') {\n toReturn['status'] = this.status;\n }\n return toReturn;\n }\n}\nclass Contact {\n static fromProto(proto) {\n let m = new Contact();\n m = Object.assign(m, proto);\n if (proto.type) {\n m.type = enumStringToValue(ContactType, proto.type);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.type !== 'undefined') {\n toReturn['type'] = this.type;\n }\n if (typeof this.value !== 'undefined') {\n toReturn['value'] = this.value;\n }\n return toReturn;\n }\n}\nclass ConvertLegacyTemplateRequest {\n static fromProto(proto) {\n let m = new ConvertLegacyTemplateRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.templateId !== 'undefined') {\n toReturn['templateId'] = this.templateId;\n }\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n return toReturn;\n }\n}\nclass ConvertLegacyTemplateResponse {\n static fromProto(proto) {\n let m = new ConvertLegacyTemplateResponse();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.templateId !== 'undefined') {\n toReturn['templateId'] = this.templateId;\n }\n return toReturn;\n }\n}\nclass CreateCampaignRequest {\n static fromProto(proto) {\n let m = new CreateCampaignRequest();\n m = Object.assign(m, proto);\n if (proto.sender) {\n m.sender = Sender.fromProto(proto.sender);\n }\n if (proto.focus) {\n m.focus = enumStringToValue(Focuses, proto.focus);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.sender !== 'undefined' && this.sender !== null) {\n toReturn['sender'] = 'toApiJson' in this.sender ? this.sender.toApiJson() : this.sender;\n }\n if (typeof this.focus !== 'undefined') {\n toReturn['focus'] = this.focus;\n }\n if (typeof this.name !== 'undefined') {\n toReturn['name'] = this.name;\n }\n return toReturn;\n }\n}\nclass CreateCampaignResponse {\n static fromProto(proto) {\n let m = new CreateCampaignResponse();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.campaignId !== 'undefined') {\n toReturn['campaignId'] = this.campaignId;\n }\n return toReturn;\n }\n}\nclass CreateEmailTemplateRequest {\n static fromProto(proto) {\n let m = new CreateEmailTemplateRequest();\n m = Object.assign(m, proto);\n if (proto.template) {\n m.template = EmailTemplateStruct.fromProto(proto.template);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.template !== 'undefined' && this.template !== null) {\n toReturn['template'] = 'toApiJson' in this.template ? this.template.toApiJson() : this.template;\n }\n return toReturn;\n }\n}\nclass CreateQuotaRequest {\n static fromProto(proto) {\n let m = new CreateQuotaRequest();\n m = Object.assign(m, proto);\n if (proto.sender) {\n m.sender = Sender.fromProto(proto.sender);\n }\n if (proto.type) {\n m.type = enumStringToValue(CampaignQuotaCategory, proto.type);\n }\n if (proto.limit) {\n m.limit = parseInt(proto.limit, 10);\n }\n if (proto.quotaStartDate) {\n m.quotaStartDate = new Date(proto.quotaStartDate);\n }\n if (proto.quotaEndDate) {\n m.quotaEndDate = new Date(proto.quotaEndDate);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.sender !== 'undefined' && this.sender !== null) {\n toReturn['sender'] = 'toApiJson' in this.sender ? this.sender.toApiJson() : this.sender;\n }\n if (typeof this.type !== 'undefined') {\n toReturn['type'] = this.type;\n }\n if (typeof this.limit !== 'undefined') {\n toReturn['limit'] = this.limit;\n }\n if (typeof this.quotaStartDate !== 'undefined' && this.quotaStartDate !== null) {\n toReturn['quotaStartDate'] = 'toApiJson' in this.quotaStartDate ? this.quotaStartDate.toApiJson() : this.quotaStartDate;\n }\n if (typeof this.quotaEndDate !== 'undefined' && this.quotaEndDate !== null) {\n toReturn['quotaEndDate'] = 'toApiJson' in this.quotaEndDate ? this.quotaEndDate.toApiJson() : this.quotaEndDate;\n }\n return toReturn;\n }\n}\nclass CreateRecipientCampaignStepEventRequest {\n static fromProto(proto) {\n let m = new CreateRecipientCampaignStepEventRequest();\n m = Object.assign(m, proto);\n if (proto.version) {\n m.version = parseInt(proto.version, 10);\n }\n if (proto.eventType) {\n m.eventType = enumStringToValue(CampaignStepEventType, proto.eventType);\n }\n if (proto.eventDate) {\n m.eventDate = new Date(proto.eventDate);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.version !== 'undefined') {\n toReturn['version'] = this.version;\n }\n if (typeof this.eventId !== 'undefined') {\n toReturn['eventId'] = this.eventId;\n }\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.marketId !== 'undefined') {\n toReturn['marketId'] = this.marketId;\n }\n if (typeof this.accountGroupId !== 'undefined') {\n toReturn['accountGroupId'] = this.accountGroupId;\n }\n if (typeof this.campaignId !== 'undefined') {\n toReturn['campaignId'] = this.campaignId;\n }\n if (typeof this.campaignStepId !== 'undefined') {\n toReturn['campaignStepId'] = this.campaignStepId;\n }\n if (typeof this.recipientId !== 'undefined') {\n toReturn['recipientId'] = this.recipientId;\n }\n if (typeof this.recipientCampaignId !== 'undefined') {\n toReturn['recipientCampaignId'] = this.recipientCampaignId;\n }\n if (typeof this.recipientCampaignStepId !== 'undefined') {\n toReturn['recipientCampaignStepId'] = this.recipientCampaignStepId;\n }\n if (typeof this.eventType !== 'undefined') {\n toReturn['eventType'] = this.eventType;\n }\n if (typeof this.eventDate !== 'undefined' && this.eventDate !== null) {\n toReturn['eventDate'] = 'toApiJson' in this.eventDate ? this.eventDate.toApiJson() : this.eventDate;\n }\n if (typeof this.templateId !== 'undefined') {\n toReturn['templateId'] = this.templateId;\n }\n if (typeof this.probablyBot !== 'undefined') {\n toReturn['probablyBot'] = this.probablyBot;\n }\n if (typeof this.url !== 'undefined') {\n toReturn['url'] = this.url;\n }\n if (typeof this.normalizedUrl !== 'undefined') {\n toReturn['normalizedUrl'] = this.normalizedUrl;\n }\n return toReturn;\n }\n}\nclass CreateRecipientRequest {\n static fromProto(proto) {\n let m = new CreateRecipientRequest();\n m = Object.assign(m, proto);\n if (proto.sender) {\n m.sender = Sender.fromProto(proto.sender);\n }\n if (proto.recipient) {\n m.recipient = RecipientV2.fromProto(proto.recipient);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.recipientId !== 'undefined') {\n toReturn['recipientId'] = this.recipientId;\n }\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.accountGroupId !== 'undefined') {\n toReturn['accountGroupId'] = this.accountGroupId;\n }\n if (typeof this.email !== 'undefined') {\n toReturn['email'] = this.email;\n }\n if (typeof this.sender !== 'undefined' && this.sender !== null) {\n toReturn['sender'] = 'toApiJson' in this.sender ? this.sender.toApiJson() : this.sender;\n }\n if (typeof this.recipient !== 'undefined' && this.recipient !== null) {\n toReturn['recipient'] = 'toApiJson' in this.recipient ? this.recipient.toApiJson() : this.recipient;\n }\n if (typeof this.phoneNumber !== 'undefined') {\n toReturn['phoneNumber'] = this.phoneNumber;\n }\n return toReturn;\n }\n}\nclass CreateRequest {\n static fromProto(proto) {\n let m = new CreateRequest();\n m = Object.assign(m, proto);\n if (proto.emailBuilderTemplate) {\n m.emailBuilderTemplate = EmailBuilderTemplate.fromProto(proto.emailBuilderTemplate);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.emailBuilderTemplate !== 'undefined' && this.emailBuilderTemplate !== null) {\n toReturn['emailBuilderTemplate'] = 'toApiJson' in this.emailBuilderTemplate ? this.emailBuilderTemplate.toApiJson() : this.emailBuilderTemplate;\n }\n return toReturn;\n }\n}\nclass CreateResponse {\n static fromProto(proto) {\n let m = new CreateResponse();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.id !== 'undefined') {\n toReturn['id'] = this.id;\n }\n return toReturn;\n }\n}\nclass CreateTagRequest {\n static fromProto(proto) {\n let m = new CreateTagRequest();\n m = Object.assign(m, proto);\n if (proto.senderType) {\n m.senderType = enumStringToValue(SenderType, proto.senderType);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.senderType !== 'undefined') {\n toReturn['senderType'] = this.senderType;\n }\n if (typeof this.senderId !== 'undefined') {\n toReturn['senderId'] = this.senderId;\n }\n if (typeof this.text !== 'undefined') {\n toReturn['text'] = this.text;\n }\n if (typeof this.colour !== 'undefined') {\n toReturn['colour'] = this.colour;\n }\n return toReturn;\n }\n}\nclass CreateTagResponse {\n static fromProto(proto) {\n let m = new CreateTagResponse();\n m = Object.assign(m, proto);\n if (proto.campaignTag) {\n m.campaignTag = CampaignTag.fromProto(proto.campaignTag);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.campaignTag !== 'undefined' && this.campaignTag !== null) {\n toReturn['campaignTag'] = 'toApiJson' in this.campaignTag ? this.campaignTag.toApiJson() : this.campaignTag;\n }\n return toReturn;\n }\n}\nclass DateFilter {\n static fromProto(proto) {\n let m = new DateFilter();\n m = Object.assign(m, proto);\n if (proto.dateLte) {\n m.dateLte = new Date(proto.dateLte);\n }\n if (proto.dateGte) {\n m.dateGte = new Date(proto.dateGte);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.dateLte !== 'undefined' && this.dateLte !== null) {\n toReturn['dateLte'] = 'toApiJson' in this.dateLte ? this.dateLte.toApiJson() : this.dateLte;\n }\n if (typeof this.dateGte !== 'undefined' && this.dateGte !== null) {\n toReturn['dateGte'] = 'toApiJson' in this.dateGte ? this.dateGte.toApiJson() : this.dateGte;\n }\n return toReturn;\n }\n}\nclass DeactivateProductForSenderRequest {\n static fromProto(proto) {\n let m = new DeactivateProductForSenderRequest();\n m = Object.assign(m, proto);\n if (proto.sender) {\n m.sender = Sender.fromProto(proto.sender);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.sender !== 'undefined' && this.sender !== null) {\n toReturn['sender'] = 'toApiJson' in this.sender ? this.sender.toApiJson() : this.sender;\n }\n if (typeof this.sku !== 'undefined') {\n toReturn['sku'] = this.sku;\n }\n return toReturn;\n }\n}\nclass DeleteCampaignRequest {\n static fromProto(proto) {\n let m = new DeleteCampaignRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.campaignId !== 'undefined') {\n toReturn['campaignId'] = this.campaignId;\n }\n return toReturn;\n }\n}\nclass DeleteRequest {\n static fromProto(proto) {\n let m = new DeleteRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.id !== 'undefined') {\n toReturn['id'] = this.id;\n }\n return toReturn;\n }\n}\nclass DeleteTagRequest {\n static fromProto(proto) {\n let m = new DeleteTagRequest();\n m = Object.assign(m, proto);\n if (proto.senderType) {\n m.senderType = enumStringToValue(SenderType, proto.senderType);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.senderType !== 'undefined') {\n toReturn['senderType'] = this.senderType;\n }\n if (typeof this.senderId !== 'undefined') {\n toReturn['senderId'] = this.senderId;\n }\n if (typeof this.tagId !== 'undefined') {\n toReturn['tagId'] = this.tagId;\n }\n return toReturn;\n }\n}\nclass DuplicateAndRecommendCampaignRequest {\n static fromProto(proto) {\n let m = new DuplicateAndRecommendCampaignRequest();\n m = Object.assign(m, proto);\n if (proto.campaignDetails) {\n m.campaignDetails = DuplicateCampaignDetails.fromProto(proto.campaignDetails);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.campaignId !== 'undefined') {\n toReturn['campaignId'] = this.campaignId;\n }\n if (typeof this.campaignDetails !== 'undefined' && this.campaignDetails !== null) {\n toReturn['campaignDetails'] = 'toApiJson' in this.campaignDetails ? this.campaignDetails.toApiJson() : this.campaignDetails;\n }\n return toReturn;\n }\n}\nclass DuplicateCampaignDetails {\n static fromProto(proto) {\n let m = new DuplicateCampaignDetails();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.name !== 'undefined') {\n toReturn['name'] = this.name;\n }\n return toReturn;\n }\n}\nclass DuplicateCampaignRequest {\n static fromProto(proto) {\n let m = new DuplicateCampaignRequest();\n m = Object.assign(m, proto);\n if (proto.campaignDetails) {\n m.campaignDetails = DuplicateCampaignDetails.fromProto(proto.campaignDetails);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.campaignId !== 'undefined') {\n toReturn['campaignId'] = this.campaignId;\n }\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.campaignDetails !== 'undefined' && this.campaignDetails !== null) {\n toReturn['campaignDetails'] = 'toApiJson' in this.campaignDetails ? this.campaignDetails.toApiJson() : this.campaignDetails;\n }\n return toReturn;\n }\n}\nclass DuplicateCampaignRequestV2 {\n static fromProto(proto) {\n let m = new DuplicateCampaignRequestV2();\n m = Object.assign(m, proto);\n if (proto.sender) {\n m.sender = Sender.fromProto(proto.sender);\n }\n if (proto.campaignDetails) {\n m.campaignDetails = DuplicateCampaignDetails.fromProto(proto.campaignDetails);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.campaignId !== 'undefined') {\n toReturn['campaignId'] = this.campaignId;\n }\n if (typeof this.sender !== 'undefined' && this.sender !== null) {\n toReturn['sender'] = 'toApiJson' in this.sender ? this.sender.toApiJson() : this.sender;\n }\n if (typeof this.campaignDetails !== 'undefined' && this.campaignDetails !== null) {\n toReturn['campaignDetails'] = 'toApiJson' in this.campaignDetails ? this.campaignDetails.toApiJson() : this.campaignDetails;\n }\n return toReturn;\n }\n}\nclass DuplicateCampaignResponse {\n static fromProto(proto) {\n let m = new DuplicateCampaignResponse();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.statusId !== 'undefined') {\n toReturn['statusId'] = this.statusId;\n }\n return toReturn;\n }\n}\nclass DuplicateCampaignStepRequest {\n static fromProto(proto) {\n let m = new DuplicateCampaignStepRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.campaignId !== 'undefined') {\n toReturn['campaignId'] = this.campaignId;\n }\n if (typeof this.campaignStepId !== 'undefined') {\n toReturn['campaignStepId'] = this.campaignStepId;\n }\n return toReturn;\n }\n}\nclass DuplicateCampaignStepResponse {\n static fromProto(proto) {\n let m = new DuplicateCampaignStepResponse();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.statusId !== 'undefined') {\n toReturn['statusId'] = this.statusId;\n }\n return toReturn;\n }\n}\nclass EmailTemplateStruct {\n static fromProto(proto) {\n let m = new EmailTemplateStruct();\n m = Object.assign(m, proto);\n if (proto.campaignFocus) {\n m.campaignFocus = enumStringToValue(Focuses, proto.campaignFocus);\n }\n if (proto.status) {\n m.status = enumStringToValue(TemplateStatus, proto.status);\n }\n if (proto.version) {\n m.version = parseInt(proto.version, 10);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.templateId !== 'undefined') {\n toReturn['templateId'] = this.templateId;\n }\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.marketId !== 'undefined') {\n toReturn['marketId'] = this.marketId;\n }\n if (typeof this.name !== 'undefined') {\n toReturn['name'] = this.name;\n }\n if (typeof this.campaignFocus !== 'undefined') {\n toReturn['campaignFocus'] = this.campaignFocus;\n }\n if (typeof this.status !== 'undefined') {\n toReturn['status'] = this.status;\n }\n if (typeof this.isEditable !== 'undefined') {\n toReturn['isEditable'] = this.isEditable;\n }\n if (typeof this.updatedByUserEmail !== 'undefined') {\n toReturn['updatedByUserEmail'] = this.updatedByUserEmail;\n }\n if (typeof this.createdByUserEmail !== 'undefined') {\n toReturn['createdByUserEmail'] = this.createdByUserEmail;\n }\n if (typeof this.publishedByUserEmail !== 'undefined') {\n toReturn['publishedByUserEmail'] = this.publishedByUserEmail;\n }\n if (typeof this.subject !== 'undefined') {\n toReturn['subject'] = this.subject;\n }\n if (typeof this.htmlBody !== 'undefined') {\n toReturn['htmlBody'] = this.htmlBody;\n }\n if (typeof this.useFullHtml !== 'undefined') {\n toReturn['useFullHtml'] = this.useFullHtml;\n }\n if (typeof this.fullHtml !== 'undefined') {\n toReturn['fullHtml'] = this.fullHtml;\n }\n if (typeof this.version !== 'undefined') {\n toReturn['version'] = this.version;\n }\n return toReturn;\n }\n}\nclass ExecuteStepRequest {\n static fromProto(proto) {\n let m = new ExecuteStepRequest();\n m = Object.assign(m, proto);\n if (proto.sender) {\n m.sender = Sender.fromProto(proto.sender);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.recipientCampaignId !== 'undefined') {\n toReturn['recipientCampaignId'] = this.recipientCampaignId;\n }\n if (typeof this.recipientCampaignStepId !== 'undefined') {\n toReturn['recipientCampaignStepId'] = this.recipientCampaignStepId;\n }\n if (typeof this.sender !== 'undefined' && this.sender !== null) {\n toReturn['sender'] = 'toApiJson' in this.sender ? this.sender.toApiJson() : this.sender;\n }\n return toReturn;\n }\n}\nclass ExportRecipientLinkClickStatsRequest {\n static fromProto(proto) {\n let m = new ExportRecipientLinkClickStatsRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.campaignStepId !== 'undefined') {\n toReturn['campaignStepId'] = this.campaignStepId;\n }\n if (typeof this.normalizedUrl !== 'undefined') {\n toReturn['normalizedUrl'] = this.normalizedUrl;\n }\n if (typeof this.userId !== 'undefined') {\n toReturn['userId'] = this.userId;\n }\n return toReturn;\n }\n}\nclass ExtractLinkTrackingDataForTemplateRequest {\n static fromProto(proto) {\n let m = new ExtractLinkTrackingDataForTemplateRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.templateId !== 'undefined') {\n toReturn['templateId'] = this.templateId;\n }\n if (typeof this.hydratedTemplateContent !== 'undefined') {\n toReturn['hydratedTemplateContent'] = this.hydratedTemplateContent;\n }\n if (typeof this.accountGroupId !== 'undefined') {\n toReturn['accountGroupId'] = this.accountGroupId;\n }\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.marketId !== 'undefined') {\n toReturn['marketId'] = this.marketId;\n }\n if (typeof this.userId !== 'undefined') {\n toReturn['userId'] = this.userId;\n }\n return toReturn;\n }\n}\nclass ExtractLinkTrackingDataForTemplateResponse {\n static fromProto(proto) {\n let m = new ExtractLinkTrackingDataForTemplateResponse();\n m = Object.assign(m, proto);\n if (proto.links) {\n m.links = proto.links.map(LinkTrackingData.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.links !== 'undefined' && this.links !== null) {\n toReturn['links'] = 'toApiJson' in this.links ? this.links.toApiJson() : this.links;\n }\n return toReturn;\n }\n}\nclass GetAggregatedCampaignStatsRequest {\n static fromProto(proto) {\n let m = new GetAggregatedCampaignStatsRequest();\n m = Object.assign(m, proto);\n if (proto.focus) {\n m.focus = enumStringToValue(Focuses, proto.focus);\n }\n if (proto.statuses) {\n m.statuses = proto.statuses.map(v => enumStringToValue(Statuses, v));\n }\n if (proto.states) {\n m.states = proto.states.map(v => enumStringToValue(CampaignState, v));\n }\n if (proto.dateFilter) {\n m.dateFilter = DateFilter.fromProto(proto.dateFilter);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.focus !== 'undefined') {\n toReturn['focus'] = this.focus;\n }\n if (typeof this.marketId !== 'undefined') {\n toReturn['marketId'] = this.marketId;\n }\n if (typeof this.statuses !== 'undefined') {\n toReturn['statuses'] = this.statuses;\n }\n if (typeof this.states !== 'undefined') {\n toReturn['states'] = this.states;\n }\n if (typeof this.searchTerm !== 'undefined') {\n toReturn['searchTerm'] = this.searchTerm;\n }\n if (typeof this.dateFilter !== 'undefined' && this.dateFilter !== null) {\n toReturn['dateFilter'] = 'toApiJson' in this.dateFilter ? this.dateFilter.toApiJson() : this.dateFilter;\n }\n return toReturn;\n }\n}\nclass GetAggregatedCampaignStatsResponse {\n static fromProto(proto) {\n let m = new GetAggregatedCampaignStatsResponse();\n m = Object.assign(m, proto);\n if (proto.totalAccounts) {\n m.totalAccounts = parseInt(proto.totalAccounts, 10);\n }\n if (proto.totalActiveCampaigns) {\n m.totalActiveCampaigns = parseInt(proto.totalActiveCampaigns, 10);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.totalAccounts !== 'undefined') {\n toReturn['totalAccounts'] = this.totalAccounts;\n }\n if (typeof this.averageClickThroughRate !== 'undefined') {\n toReturn['averageClickThroughRate'] = this.averageClickThroughRate;\n }\n if (typeof this.averageOpenRate !== 'undefined') {\n toReturn['averageOpenRate'] = this.averageOpenRate;\n }\n if (typeof this.totalActiveCampaigns !== 'undefined') {\n toReturn['totalActiveCampaigns'] = this.totalActiveCampaigns;\n }\n return toReturn;\n }\n}\nclass GetAvailableStepTypesForSenderRequest {\n static fromProto(proto) {\n let m = new GetAvailableStepTypesForSenderRequest();\n m = Object.assign(m, proto);\n if (proto.sender) {\n m.sender = Sender.fromProto(proto.sender);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.sender !== 'undefined' && this.sender !== null) {\n toReturn['sender'] = 'toApiJson' in this.sender ? this.sender.toApiJson() : this.sender;\n }\n return toReturn;\n }\n}\nclass GetAvailableStepTypesForSenderResponse {\n static fromProto(proto) {\n let m = new GetAvailableStepTypesForSenderResponse();\n m = Object.assign(m, proto);\n if (proto.availableStepTypes) {\n m.availableStepTypes = proto.availableStepTypes.map(v => enumStringToValue(Feature, v));\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.availableStepTypes !== 'undefined') {\n toReturn['availableStepTypes'] = this.availableStepTypes;\n }\n return toReturn;\n }\n}\nclass GetCampaignDetailsStatsRequest {\n static fromProto(proto) {\n let m = new GetCampaignDetailsStatsRequest();\n m = Object.assign(m, proto);\n if (proto.dateFilter) {\n m.dateFilter = DateFilter.fromProto(proto.dateFilter);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.campaignId !== 'undefined') {\n toReturn['campaignId'] = this.campaignId;\n }\n if (typeof this.marketId !== 'undefined') {\n toReturn['marketId'] = this.marketId;\n }\n if (typeof this.dateFilter !== 'undefined' && this.dateFilter !== null) {\n toReturn['dateFilter'] = 'toApiJson' in this.dateFilter ? this.dateFilter.toApiJson() : this.dateFilter;\n }\n return toReturn;\n }\n}\nclass GetCampaignDetailsStatsResponse {\n static fromProto(proto) {\n let m = new GetCampaignDetailsStatsResponse();\n m = Object.assign(m, proto);\n if (proto.stats) {\n m.stats = CampaignDetailStats.fromProto(proto.stats);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.stats !== 'undefined' && this.stats !== null) {\n toReturn['stats'] = 'toApiJson' in this.stats ? this.stats.toApiJson() : this.stats;\n }\n return toReturn;\n }\n}\nclass GetCampaignQuotaRequest {\n static fromProto(proto) {\n let m = new GetCampaignQuotaRequest();\n m = Object.assign(m, proto);\n if (proto.sender) {\n m.sender = Sender.fromProto(proto.sender);\n }\n if (proto.type) {\n m.type = enumStringToValue(CampaignQuotaCategory, proto.type);\n }\n if (proto.datePeriod) {\n m.datePeriod = enumStringToValue(Period, proto.datePeriod);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.sender !== 'undefined' && this.sender !== null) {\n toReturn['sender'] = 'toApiJson' in this.sender ? this.sender.toApiJson() : this.sender;\n }\n if (typeof this.type !== 'undefined') {\n toReturn['type'] = this.type;\n }\n if (typeof this.datePeriod !== 'undefined') {\n toReturn['datePeriod'] = this.datePeriod;\n }\n return toReturn;\n }\n}\nclass GetCampaignQuotaResponse {\n static fromProto(proto) {\n let m = new GetCampaignQuotaResponse();\n m = Object.assign(m, proto);\n if (proto.count) {\n m.count = parseInt(proto.count, 10);\n }\n if (proto.limit) {\n m.limit = parseInt(proto.limit, 10);\n }\n if (proto.quotaStartDate) {\n m.quotaStartDate = new Date(proto.quotaStartDate);\n }\n if (proto.quotaEndDate) {\n m.quotaEndDate = new Date(proto.quotaEndDate);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.count !== 'undefined') {\n toReturn['count'] = this.count;\n }\n if (typeof this.limit !== 'undefined') {\n toReturn['limit'] = this.limit;\n }\n if (typeof this.quotaStartDate !== 'undefined' && this.quotaStartDate !== null) {\n toReturn['quotaStartDate'] = 'toApiJson' in this.quotaStartDate ? this.quotaStartDate.toApiJson() : this.quotaStartDate;\n }\n if (typeof this.quotaEndDate !== 'undefined' && this.quotaEndDate !== null) {\n toReturn['quotaEndDate'] = 'toApiJson' in this.quotaEndDate ? this.quotaEndDate.toApiJson() : this.quotaEndDate;\n }\n return toReturn;\n }\n}\nclass GetCampaignRequest {\n static fromProto(proto) {\n let m = new GetCampaignRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.campaignId !== 'undefined') {\n toReturn['campaignId'] = this.campaignId;\n }\n return toReturn;\n }\n}\nclass GetCampaignResponse {\n static fromProto(proto) {\n let m = new GetCampaignResponse();\n m = Object.assign(m, proto);\n if (proto.campaign) {\n m.campaign = GetterCampaignData.fromProto(proto.campaign);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.campaign !== 'undefined' && this.campaign !== null) {\n toReturn['campaign'] = 'toApiJson' in this.campaign ? this.campaign.toApiJson() : this.campaign;\n }\n return toReturn;\n }\n}\nclass GetCampaignStepContentRequest {\n static fromProto(proto) {\n let m = new GetCampaignStepContentRequest();\n m = Object.assign(m, proto);\n if (proto.stepData) {\n m.stepData = Object.keys(proto.stepData).reduce((obj, k) => {\n obj[k] = proto.stepData[k];\n return obj;\n }, {});\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.campaignId !== 'undefined') {\n toReturn['campaignId'] = this.campaignId;\n }\n if (typeof this.campaignStepId !== 'undefined') {\n toReturn['campaignStepId'] = this.campaignStepId;\n }\n if (typeof this.stepData !== 'undefined' && this.stepData !== null) {\n toReturn['stepData'] = 'toApiJson' in this.stepData ? this.stepData.toApiJson() : this.stepData;\n }\n return toReturn;\n }\n}\nclass GetCampaignStepContentResponse {\n static fromProto(proto) {\n let m = new GetCampaignStepContentResponse();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.html !== 'undefined') {\n toReturn['html'] = this.html;\n }\n if (typeof this.subject !== 'undefined') {\n toReturn['subject'] = this.subject;\n }\n return toReturn;\n }\n}\nclass GetCampaignStepStatsRequest {\n static fromProto(proto) {\n let m = new GetCampaignStepStatsRequest();\n m = Object.assign(m, proto);\n if (proto.dateFilter) {\n m.dateFilter = DateFilter.fromProto(proto.dateFilter);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.campaignId !== 'undefined') {\n toReturn['campaignId'] = this.campaignId;\n }\n if (typeof this.marketId !== 'undefined') {\n toReturn['marketId'] = this.marketId;\n }\n if (typeof this.dateFilter !== 'undefined' && this.dateFilter !== null) {\n toReturn['dateFilter'] = 'toApiJson' in this.dateFilter ? this.dateFilter.toApiJson() : this.dateFilter;\n }\n return toReturn;\n }\n}\nclass GetCampaignStepStatsResponse {\n static fromProto(proto) {\n let m = new GetCampaignStepStatsResponse();\n m = Object.assign(m, proto);\n if (proto.stepStats) {\n m.stepStats = proto.stepStats.map(CampaignStepStats.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.stepStats !== 'undefined' && this.stepStats !== null) {\n toReturn['stepStats'] = 'toApiJson' in this.stepStats ? this.stepStats.toApiJson() : this.stepStats;\n }\n return toReturn;\n }\n}\nclass GetConfigRequest {\n static fromProto(proto) {\n let m = new GetConfigRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.campaignId !== 'undefined') {\n toReturn['campaignId'] = this.campaignId;\n }\n return toReturn;\n }\n}\nclass GetConfigResponse {\n static fromProto(proto) {\n let m = new GetConfigResponse();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.timezone !== 'undefined') {\n toReturn['timezone'] = this.timezone;\n }\n if (typeof this.days !== 'undefined') {\n toReturn['days'] = this.days;\n }\n return toReturn;\n }\n}\nclass GetEmailTemplateRequest {\n static fromProto(proto) {\n let m = new GetEmailTemplateRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.templateId !== 'undefined') {\n toReturn['templateId'] = this.templateId;\n }\n return toReturn;\n }\n}\nclass GetEmailTemplateResponse {\n static fromProto(proto) {\n let m = new GetEmailTemplateResponse();\n m = Object.assign(m, proto);\n if (proto.template) {\n m.template = EmailTemplateStruct.fromProto(proto.template);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.template !== 'undefined' && this.template !== null) {\n toReturn['template'] = 'toApiJson' in this.template ? this.template.toApiJson() : this.template;\n }\n return toReturn;\n }\n}\nclass GetEmailTemplatesRequest {\n static fromProto(proto) {\n let m = new GetEmailTemplatesRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.templateIds !== 'undefined') {\n toReturn['templateIds'] = this.templateIds;\n }\n return toReturn;\n }\n}\nclass GetEmailTemplatesResponse {\n static fromProto(proto) {\n let m = new GetEmailTemplatesResponse();\n m = Object.assign(m, proto);\n if (proto.templates) {\n m.templates = proto.templates.map(EmailTemplateStruct.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.templates !== 'undefined' && this.templates !== null) {\n toReturn['templates'] = 'toApiJson' in this.templates ? this.templates.toApiJson() : this.templates;\n }\n return toReturn;\n }\n}\nclass GetLinkStatsRequest {\n static fromProto(proto) {\n let m = new GetLinkStatsRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.templateId !== 'undefined') {\n toReturn['templateId'] = this.templateId;\n }\n if (typeof this.campaignStepId !== 'undefined') {\n toReturn['campaignStepId'] = this.campaignStepId;\n }\n return toReturn;\n }\n}\nclass GetLinkStatsResponse {\n static fromProto(proto) {\n let m = new GetLinkStatsResponse();\n m = Object.assign(m, proto);\n if (proto.stats) {\n m.stats = proto.stats.map(LinkStats.fromProto);\n }\n if (proto.totalClicksOnCampaignStep) {\n m.totalClicksOnCampaignStep = parseInt(proto.totalClicksOnCampaignStep, 10);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.stats !== 'undefined' && this.stats !== null) {\n toReturn['stats'] = 'toApiJson' in this.stats ? this.stats.toApiJson() : this.stats;\n }\n if (typeof this.totalClicksOnCampaignStep !== 'undefined') {\n toReturn['totalClicksOnCampaignStep'] = this.totalClicksOnCampaignStep;\n }\n return toReturn;\n }\n}\nclass GetMultiCampaignsRequest {\n static fromProto(proto) {\n let m = new GetMultiCampaignsRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.campaignIds !== 'undefined') {\n toReturn['campaignIds'] = this.campaignIds;\n }\n return toReturn;\n }\n}\nclass GetMultiCampaignsResponse {\n static fromProto(proto) {\n let m = new GetMultiCampaignsResponse();\n m = Object.assign(m, proto);\n if (proto.campaigns) {\n m.campaigns = proto.campaigns.map(GetterCampaignData.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.campaigns !== 'undefined' && this.campaigns !== null) {\n toReturn['campaigns'] = 'toApiJson' in this.campaigns ? this.campaigns.toApiJson() : this.campaigns;\n }\n return toReturn;\n }\n}\nclass GetRecipientCampaignRequest {\n static fromProto(proto) {\n let m = new GetRecipientCampaignRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.recipientCampaignId !== 'undefined') {\n toReturn['recipientCampaignId'] = this.recipientCampaignId;\n }\n return toReturn;\n }\n}\nclass GetRecipientCampaignResponse {\n static fromProto(proto) {\n let m = new GetRecipientCampaignResponse();\n m = Object.assign(m, proto);\n if (proto.recipientCampaign) {\n m.recipientCampaign = RecipientCampaignStruct.fromProto(proto.recipientCampaign);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.recipientCampaign !== 'undefined' && this.recipientCampaign !== null) {\n toReturn['recipientCampaign'] = 'toApiJson' in this.recipientCampaign ? this.recipientCampaign.toApiJson() : this.recipientCampaign;\n }\n return toReturn;\n }\n}\nclass GetRecipientLinkClickStatsRequest {\n static fromProto(proto) {\n let m = new GetRecipientLinkClickStatsRequest();\n m = Object.assign(m, proto);\n if (proto.pagingOptions) {\n m.pagingOptions = GetRecipientLinkClickStatsRequestPagedRequestOptions.fromProto(proto.pagingOptions);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.pagingOptions !== 'undefined' && this.pagingOptions !== null) {\n toReturn['pagingOptions'] = 'toApiJson' in this.pagingOptions ? this.pagingOptions.toApiJson() : this.pagingOptions;\n }\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.campaignStepId !== 'undefined') {\n toReturn['campaignStepId'] = this.campaignStepId;\n }\n if (typeof this.normalizedUrl !== 'undefined') {\n toReturn['normalizedUrl'] = this.normalizedUrl;\n }\n return toReturn;\n }\n}\nclass GetRecipientLinkClickStatsResponse {\n static fromProto(proto) {\n let m = new GetRecipientLinkClickStatsResponse();\n m = Object.assign(m, proto);\n if (proto.pagingMetadata) {\n m.pagingMetadata = PagedResponseMetadata.fromProto(proto.pagingMetadata);\n }\n if (proto.data) {\n m.data = proto.data.map(RecipientClickStats.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.pagingMetadata !== 'undefined' && this.pagingMetadata !== null) {\n toReturn['pagingMetadata'] = 'toApiJson' in this.pagingMetadata ? this.pagingMetadata.toApiJson() : this.pagingMetadata;\n }\n if (typeof this.data !== 'undefined' && this.data !== null) {\n toReturn['data'] = 'toApiJson' in this.data ? this.data.toApiJson() : this.data;\n }\n return toReturn;\n }\n}\nclass GetRecipientRequest {\n static fromProto(proto) {\n let m = new GetRecipientRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.recipientId !== 'undefined') {\n toReturn['recipientId'] = this.recipientId;\n }\n return toReturn;\n }\n}\nclass GetRecipientResponse {\n static fromProto(proto) {\n let m = new GetRecipientResponse();\n m = Object.assign(m, proto);\n if (proto.sender) {\n m.sender = Sender.fromProto(proto.sender);\n }\n if (proto.recipient) {\n m.recipient = RecipientV2.fromProto(proto.recipient);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.recipientId !== 'undefined') {\n toReturn['recipientId'] = this.recipientId;\n }\n if (typeof this.email !== 'undefined') {\n toReturn['email'] = this.email;\n }\n if (typeof this.sender !== 'undefined' && this.sender !== null) {\n toReturn['sender'] = 'toApiJson' in this.sender ? this.sender.toApiJson() : this.sender;\n }\n if (typeof this.recipient !== 'undefined' && this.recipient !== null) {\n toReturn['recipient'] = 'toApiJson' in this.recipient ? this.recipient.toApiJson() : this.recipient;\n }\n return toReturn;\n }\n}\nclass GetRequest {\n static fromProto(proto) {\n let m = new GetRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.id !== 'undefined') {\n toReturn['id'] = this.id;\n }\n return toReturn;\n }\n}\nclass GetResponse {\n static fromProto(proto) {\n let m = new GetResponse();\n m = Object.assign(m, proto);\n if (proto.emailBuilderTemplate) {\n m.emailBuilderTemplate = EmailBuilderTemplate.fromProto(proto.emailBuilderTemplate);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.emailBuilderTemplate !== 'undefined' && this.emailBuilderTemplate !== null) {\n toReturn['emailBuilderTemplate'] = 'toApiJson' in this.emailBuilderTemplate ? this.emailBuilderTemplate.toApiJson() : this.emailBuilderTemplate;\n }\n return toReturn;\n }\n}\nclass GetterCampaignData {\n static fromProto(proto) {\n let m = new GetterCampaignData();\n m = Object.assign(m, proto);\n if (proto.version) {\n m.version = parseInt(proto.version, 10);\n }\n if (proto.focus) {\n m.focus = enumStringToValue(Focuses, proto.focus);\n }\n if (proto.campaignSchedule) {\n m.campaignSchedule = proto.campaignSchedule.map(CampaignStepInterface.fromProto);\n }\n if (proto.campaignScheduleVersion) {\n m.campaignScheduleVersion = parseInt(proto.campaignScheduleVersion, 10);\n }\n if (proto.eventsCount) {\n m.eventsCount = parseInt(proto.eventsCount, 10);\n }\n if (proto.status) {\n m.status = enumStringToValue(Statuses, proto.status);\n }\n if (proto.published) {\n m.published = new Date(proto.published);\n }\n if (proto.created) {\n m.created = new Date(proto.created);\n }\n if (proto.updated) {\n m.updated = new Date(proto.updated);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.version !== 'undefined') {\n toReturn['version'] = this.version;\n }\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.marketId !== 'undefined') {\n toReturn['marketId'] = this.marketId;\n }\n if (typeof this.campaignId !== 'undefined') {\n toReturn['campaignId'] = this.campaignId;\n }\n if (typeof this.focus !== 'undefined') {\n toReturn['focus'] = this.focus;\n }\n if (typeof this.campaignSchedule !== 'undefined' && this.campaignSchedule !== null) {\n toReturn['campaignSchedule'] = 'toApiJson' in this.campaignSchedule ? this.campaignSchedule.toApiJson() : this.campaignSchedule;\n }\n if (typeof this.campaignScheduleVersion !== 'undefined') {\n toReturn['campaignScheduleVersion'] = this.campaignScheduleVersion;\n }\n if (typeof this.eventsCount !== 'undefined') {\n toReturn['eventsCount'] = this.eventsCount;\n }\n if (typeof this.name !== 'undefined') {\n toReturn['name'] = this.name;\n }\n if (typeof this.status !== 'undefined') {\n toReturn['status'] = this.status;\n }\n if (typeof this.locale !== 'undefined') {\n toReturn['locale'] = this.locale;\n }\n if (typeof this.isEnabled !== 'undefined') {\n toReturn['isEnabled'] = this.isEnabled;\n }\n if (typeof this.isEditable !== 'undefined') {\n toReturn['isEditable'] = this.isEditable;\n }\n if (typeof this.hiddenForPartners !== 'undefined') {\n toReturn['hiddenForPartners'] = this.hiddenForPartners;\n }\n if (typeof this.isPremade !== 'undefined') {\n toReturn['isPremade'] = this.isPremade;\n }\n if (typeof this.parentCampaignId !== 'undefined') {\n toReturn['parentCampaignId'] = this.parentCampaignId;\n }\n if (typeof this.rootCampaignId !== 'undefined') {\n toReturn['rootCampaignId'] = this.rootCampaignId;\n }\n if (typeof this.createdUser !== 'undefined') {\n toReturn['createdUser'] = this.createdUser;\n }\n if (typeof this.updatedUser !== 'undefined') {\n toReturn['updatedUser'] = this.updatedUser;\n }\n if (typeof this.publishedUser !== 'undefined') {\n toReturn['publishedUser'] = this.publishedUser;\n }\n if (typeof this.emailCategoryId !== 'undefined') {\n toReturn['emailCategoryId'] = this.emailCategoryId;\n }\n if (typeof this.published !== 'undefined' && this.published !== null) {\n toReturn['published'] = 'toApiJson' in this.published ? this.published.toApiJson() : this.published;\n }\n if (typeof this.created !== 'undefined' && this.created !== null) {\n toReturn['created'] = 'toApiJson' in this.created ? this.created.toApiJson() : this.created;\n }\n if (typeof this.updated !== 'undefined' && this.updated !== null) {\n toReturn['updated'] = 'toApiJson' in this.updated ? this.updated.toApiJson() : this.updated;\n }\n return toReturn;\n }\n}\nclass IsFeatureActiveForSenderRequest {\n static fromProto(proto) {\n let m = new IsFeatureActiveForSenderRequest();\n m = Object.assign(m, proto);\n if (proto.sender) {\n m.sender = Sender.fromProto(proto.sender);\n }\n if (proto.featureId) {\n m.featureId = enumStringToValue(Feature, proto.featureId);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.sender !== 'undefined' && this.sender !== null) {\n toReturn['sender'] = 'toApiJson' in this.sender ? this.sender.toApiJson() : this.sender;\n }\n if (typeof this.featureId !== 'undefined') {\n toReturn['featureId'] = this.featureId;\n }\n return toReturn;\n }\n}\nclass IsFeatureActiveForSenderResponse {\n static fromProto(proto) {\n let m = new IsFeatureActiveForSenderResponse();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.isActive !== 'undefined') {\n toReturn['isActive'] = this.isActive;\n }\n return toReturn;\n }\n}\nclass IsProductActiveForSenderRequest {\n static fromProto(proto) {\n let m = new IsProductActiveForSenderRequest();\n m = Object.assign(m, proto);\n if (proto.sender) {\n m.sender = Sender.fromProto(proto.sender);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.sender !== 'undefined' && this.sender !== null) {\n toReturn['sender'] = 'toApiJson' in this.sender ? this.sender.toApiJson() : this.sender;\n }\n if (typeof this.sku !== 'undefined') {\n toReturn['sku'] = this.sku;\n }\n return toReturn;\n }\n}\nclass IsProductActiveForSenderResponse {\n static fromProto(proto) {\n let m = new IsProductActiveForSenderResponse();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.isActive !== 'undefined') {\n toReturn['isActive'] = this.isActive;\n }\n return toReturn;\n }\n}\nclass LegacyAddAccountGroupToCampaignRequest {\n static fromProto(proto) {\n let m = new LegacyAddAccountGroupToCampaignRequest();\n m = Object.assign(m, proto);\n if (proto.scheduledDate) {\n m.scheduledDate = new Date(proto.scheduledDate);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.campaignId !== 'undefined') {\n toReturn['campaignId'] = this.campaignId;\n }\n if (typeof this.accountGroupId !== 'undefined') {\n toReturn['accountGroupId'] = this.accountGroupId;\n }\n if (typeof this.scheduledDate !== 'undefined' && this.scheduledDate !== null) {\n toReturn['scheduledDate'] = 'toApiJson' in this.scheduledDate ? this.scheduledDate.toApiJson() : this.scheduledDate;\n }\n return toReturn;\n }\n}\nclass LegacyGetRecipientCampaignsByAgidRequest {\n static fromProto(proto) {\n let m = new LegacyGetRecipientCampaignsByAgidRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.accountGroupId !== 'undefined') {\n toReturn['accountGroupId'] = this.accountGroupId;\n }\n return toReturn;\n }\n}\nclass LegacyGetRecipientCampaignsByAgidResponse {\n static fromProto(proto) {\n let m = new LegacyGetRecipientCampaignsByAgidResponse();\n m = Object.assign(m, proto);\n if (proto.recipientCampaignPairs) {\n m.recipientCampaignPairs = proto.recipientCampaignPairs.map(RecipientCampaignPair.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.recipientCampaignPairs !== 'undefined' && this.recipientCampaignPairs !== null) {\n toReturn['recipientCampaignPairs'] = 'toApiJson' in this.recipientCampaignPairs ? this.recipientCampaignPairs.toApiJson() : this.recipientCampaignPairs;\n }\n return toReturn;\n }\n}\nclass LegacyPauseAccountGroupOnCampaignRequest {\n static fromProto(proto) {\n let m = new LegacyPauseAccountGroupOnCampaignRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.campaignId !== 'undefined') {\n toReturn['campaignId'] = this.campaignId;\n }\n if (typeof this.accountGroupId !== 'undefined') {\n toReturn['accountGroupId'] = this.accountGroupId;\n }\n return toReturn;\n }\n}\nclass LegacyRateLimitedAddToCampaignRequest {\n static fromProto(proto) {\n let m = new LegacyRateLimitedAddToCampaignRequest();\n m = Object.assign(m, proto);\n if (proto.scheduledDate) {\n m.scheduledDate = new Date(proto.scheduledDate);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.campaignId !== 'undefined') {\n toReturn['campaignId'] = this.campaignId;\n }\n if (typeof this.email !== 'undefined') {\n toReturn['email'] = this.email;\n }\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.accountGroupId !== 'undefined') {\n toReturn['accountGroupId'] = this.accountGroupId;\n }\n if (typeof this.marketId !== 'undefined') {\n toReturn['marketId'] = this.marketId;\n }\n if (typeof this.scheduledDate !== 'undefined' && this.scheduledDate !== null) {\n toReturn['scheduledDate'] = 'toApiJson' in this.scheduledDate ? this.scheduledDate.toApiJson() : this.scheduledDate;\n }\n if (typeof this.fromEmail !== 'undefined') {\n toReturn['fromEmail'] = this.fromEmail;\n }\n if (typeof this.fromName !== 'undefined') {\n toReturn['fromName'] = this.fromName;\n }\n if (typeof this.fromId !== 'undefined') {\n toReturn['fromId'] = this.fromId;\n }\n return toReturn;\n }\n}\nclass LegacyRateLimitedAddToCampaignResponse {\n static fromProto(proto) {\n let m = new LegacyRateLimitedAddToCampaignResponse();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.recipientCampaignId !== 'undefined') {\n toReturn['recipientCampaignId'] = this.recipientCampaignId;\n }\n return toReturn;\n }\n}\nclass LegacyUpdateRecipientCampaignStatusRequest {\n static fromProto(proto) {\n let m = new LegacyUpdateRecipientCampaignStatusRequest();\n m = Object.assign(m, proto);\n if (proto.status) {\n m.status = enumStringToValue(RecipientCampaignStatus, proto.status);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.recipientCampaignId !== 'undefined') {\n toReturn['recipientCampaignId'] = this.recipientCampaignId;\n }\n if (typeof this.status !== 'undefined') {\n toReturn['status'] = this.status;\n }\n return toReturn;\n }\n}\nclass LinkStats {\n static fromProto(proto) {\n let m = new LinkStats();\n m = Object.assign(m, proto);\n if (proto.totalClicks) {\n m.totalClicks = parseInt(proto.totalClicks, 10);\n }\n if (proto.uniqueClicks) {\n m.uniqueClicks = parseInt(proto.uniqueClicks, 10);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.url !== 'undefined') {\n toReturn['url'] = this.url;\n }\n if (typeof this.totalClicks !== 'undefined') {\n toReturn['totalClicks'] = this.totalClicks;\n }\n if (typeof this.uniqueClicks !== 'undefined') {\n toReturn['uniqueClicks'] = this.uniqueClicks;\n }\n if (typeof this.clickRate !== 'undefined') {\n toReturn['clickRate'] = this.clickRate;\n }\n return toReturn;\n }\n}\nclass LinkTrackingData {\n static fromProto(proto) {\n let m = new LinkTrackingData();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.normalizedUrl !== 'undefined') {\n toReturn['normalizedUrl'] = this.normalizedUrl;\n }\n if (typeof this.hydratedUrl !== 'undefined') {\n toReturn['hydratedUrl'] = this.hydratedUrl;\n }\n return toReturn;\n }\n}\nclass ListCampaignStatsForSenderRequest {\n static fromProto(proto) {\n let m = new ListCampaignStatsForSenderRequest();\n m = Object.assign(m, proto);\n if (proto.sender) {\n m.sender = Sender.fromProto(proto.sender);\n }\n if (proto.focus) {\n m.focus = enumStringToValue(Focuses, proto.focus);\n }\n if (proto.statuses) {\n m.statuses = proto.statuses.map(v => enumStringToValue(Statuses, v));\n }\n if (proto.states) {\n m.states = proto.states.map(v => enumStringToValue(CampaignState, v));\n }\n if (proto.pagingOptions) {\n m.pagingOptions = PagedRequestOptions.fromProto(proto.pagingOptions);\n }\n if (proto.deletedTagsPolicy) {\n m.deletedTagsPolicy = enumStringToValue(DeletedTagsPolicy, proto.deletedTagsPolicy);\n }\n if (proto.sortOptions) {\n m.sortOptions = SortOptions.fromProto(proto.sortOptions);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.sender !== 'undefined' && this.sender !== null) {\n toReturn['sender'] = 'toApiJson' in this.sender ? this.sender.toApiJson() : this.sender;\n }\n if (typeof this.focus !== 'undefined') {\n toReturn['focus'] = this.focus;\n }\n if (typeof this.marketId !== 'undefined') {\n toReturn['marketId'] = this.marketId;\n }\n if (typeof this.statuses !== 'undefined') {\n toReturn['statuses'] = this.statuses;\n }\n if (typeof this.states !== 'undefined') {\n toReturn['states'] = this.states;\n }\n if (typeof this.searchTerm !== 'undefined') {\n toReturn['searchTerm'] = this.searchTerm;\n }\n if (typeof this.pagingOptions !== 'undefined' && this.pagingOptions !== null) {\n toReturn['pagingOptions'] = 'toApiJson' in this.pagingOptions ? this.pagingOptions.toApiJson() : this.pagingOptions;\n }\n if (typeof this.deletedTagsPolicy !== 'undefined') {\n toReturn['deletedTagsPolicy'] = this.deletedTagsPolicy;\n }\n if (typeof this.tagIds !== 'undefined') {\n toReturn['tagIds'] = this.tagIds;\n }\n if (typeof this.sortOptions !== 'undefined' && this.sortOptions !== null) {\n toReturn['sortOptions'] = 'toApiJson' in this.sortOptions ? this.sortOptions.toApiJson() : this.sortOptions;\n }\n return toReturn;\n }\n}\nclass ListCampaignStatsForSenderResponse {\n static fromProto(proto) {\n let m = new ListCampaignStatsForSenderResponse();\n m = Object.assign(m, proto);\n if (proto.stats) {\n m.stats = proto.stats.map(ListCampaignStatsStruct.fromProto);\n }\n if (proto.pagingMetadata) {\n m.pagingMetadata = PagedResponseMetadata.fromProto(proto.pagingMetadata);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.stats !== 'undefined' && this.stats !== null) {\n toReturn['stats'] = 'toApiJson' in this.stats ? this.stats.toApiJson() : this.stats;\n }\n if (typeof this.pagingMetadata !== 'undefined' && this.pagingMetadata !== null) {\n toReturn['pagingMetadata'] = 'toApiJson' in this.pagingMetadata ? this.pagingMetadata.toApiJson() : this.pagingMetadata;\n }\n return toReturn;\n }\n}\nclass ListCampaignStatsRequest {\n static fromProto(proto) {\n let m = new ListCampaignStatsRequest();\n m = Object.assign(m, proto);\n if (proto.focus) {\n m.focus = enumStringToValue(Focuses, proto.focus);\n }\n if (proto.statuses) {\n m.statuses = proto.statuses.map(v => enumStringToValue(Statuses, v));\n }\n if (proto.states) {\n m.states = proto.states.map(v => enumStringToValue(CampaignState, v));\n }\n if (proto.pagingOptions) {\n m.pagingOptions = PagedRequestOptions.fromProto(proto.pagingOptions);\n }\n if (proto.deletedTagsPolicy) {\n m.deletedTagsPolicy = enumStringToValue(DeletedTagsPolicy, proto.deletedTagsPolicy);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.focus !== 'undefined') {\n toReturn['focus'] = this.focus;\n }\n if (typeof this.marketId !== 'undefined') {\n toReturn['marketId'] = this.marketId;\n }\n if (typeof this.statuses !== 'undefined') {\n toReturn['statuses'] = this.statuses;\n }\n if (typeof this.states !== 'undefined') {\n toReturn['states'] = this.states;\n }\n if (typeof this.searchTerm !== 'undefined') {\n toReturn['searchTerm'] = this.searchTerm;\n }\n if (typeof this.pagingOptions !== 'undefined' && this.pagingOptions !== null) {\n toReturn['pagingOptions'] = 'toApiJson' in this.pagingOptions ? this.pagingOptions.toApiJson() : this.pagingOptions;\n }\n if (typeof this.deletedTagsPolicy !== 'undefined') {\n toReturn['deletedTagsPolicy'] = this.deletedTagsPolicy;\n }\n if (typeof this.tagIds !== 'undefined') {\n toReturn['tagIds'] = this.tagIds;\n }\n return toReturn;\n }\n}\nclass ListCampaignStatsResponse {\n static fromProto(proto) {\n let m = new ListCampaignStatsResponse();\n m = Object.assign(m, proto);\n if (proto.stats) {\n m.stats = proto.stats.map(ListCampaignStatsStruct.fromProto);\n }\n if (proto.pagingMetadata) {\n m.pagingMetadata = PagedResponseMetadata.fromProto(proto.pagingMetadata);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.stats !== 'undefined' && this.stats !== null) {\n toReturn['stats'] = 'toApiJson' in this.stats ? this.stats.toApiJson() : this.stats;\n }\n if (typeof this.pagingMetadata !== 'undefined' && this.pagingMetadata !== null) {\n toReturn['pagingMetadata'] = 'toApiJson' in this.pagingMetadata ? this.pagingMetadata.toApiJson() : this.pagingMetadata;\n }\n return toReturn;\n }\n}\nclass ListCampaignStatsStruct {\n static fromProto(proto) {\n let m = new ListCampaignStatsStruct();\n m = Object.assign(m, proto);\n if (proto.totalAccounts) {\n m.totalAccounts = parseInt(proto.totalAccounts, 10);\n }\n if (proto.activeAccounts) {\n m.activeAccounts = parseInt(proto.activeAccounts, 10);\n }\n if (proto.emailsDelivered) {\n m.emailsDelivered = parseInt(proto.emailsDelivered, 10);\n }\n if (proto.status) {\n m.status = enumStringToValue(Statuses, proto.status);\n }\n if (proto.state) {\n m.state = enumStringToValue(CampaignState, proto.state);\n }\n if (proto.eventsCount) {\n m.eventsCount = parseInt(proto.eventsCount, 10);\n }\n if (proto.tags) {\n m.tags = proto.tags.map(ListCampaignTagDetails.fromProto);\n }\n if (proto.updated) {\n m.updated = new Date(proto.updated);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.name !== 'undefined') {\n toReturn['name'] = this.name;\n }\n if (typeof this.totalAccounts !== 'undefined') {\n toReturn['totalAccounts'] = this.totalAccounts;\n }\n if (typeof this.activeAccounts !== 'undefined') {\n toReturn['activeAccounts'] = this.activeAccounts;\n }\n if (typeof this.emailsDelivered !== 'undefined') {\n toReturn['emailsDelivered'] = this.emailsDelivered;\n }\n if (typeof this.clickThroughRate !== 'undefined') {\n toReturn['clickThroughRate'] = this.clickThroughRate;\n }\n if (typeof this.openRate !== 'undefined') {\n toReturn['openRate'] = this.openRate;\n }\n if (typeof this.status !== 'undefined') {\n toReturn['status'] = this.status;\n }\n if (typeof this.state !== 'undefined') {\n toReturn['state'] = this.state;\n }\n if (typeof this.automations !== 'undefined') {\n toReturn['automations'] = this.automations;\n }\n if (typeof this.campaignId !== 'undefined') {\n toReturn['campaignId'] = this.campaignId;\n }\n if (typeof this.eventsCount !== 'undefined') {\n toReturn['eventsCount'] = this.eventsCount;\n }\n if (typeof this.isEditable !== 'undefined') {\n toReturn['isEditable'] = this.isEditable;\n }\n if (typeof this.tags !== 'undefined' && this.tags !== null) {\n toReturn['tags'] = 'toApiJson' in this.tags ? this.tags.toApiJson() : this.tags;\n }\n if (typeof this.updated !== 'undefined' && this.updated !== null) {\n toReturn['updated'] = 'toApiJson' in this.updated ? this.updated.toApiJson() : this.updated;\n }\n return toReturn;\n }\n}\nclass ListCampaignTagDetails {\n static fromProto(proto) {\n let m = new ListCampaignTagDetails();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.tagId !== 'undefined') {\n toReturn['tagId'] = this.tagId;\n }\n if (typeof this.text !== 'undefined') {\n toReturn['text'] = this.text;\n }\n if (typeof this.color !== 'undefined') {\n toReturn['color'] = this.color;\n }\n return toReturn;\n }\n}\nclass ListCampaignsRequest {\n static fromProto(proto) {\n let m = new ListCampaignsRequest();\n m = Object.assign(m, proto);\n if (proto.focuses) {\n m.focuses = proto.focuses.map(v => enumStringToValue(Focuses, v));\n }\n if (proto.statuses) {\n m.statuses = proto.statuses.map(v => enumStringToValue(Statuses, v));\n }\n if (proto.pagingOptions) {\n m.pagingOptions = PagedRequestOptions.fromProto(proto.pagingOptions);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.focuses !== 'undefined') {\n toReturn['focuses'] = this.focuses;\n }\n if (typeof this.statuses !== 'undefined') {\n toReturn['statuses'] = this.statuses;\n }\n if (typeof this.pagingOptions !== 'undefined' && this.pagingOptions !== null) {\n toReturn['pagingOptions'] = 'toApiJson' in this.pagingOptions ? this.pagingOptions.toApiJson() : this.pagingOptions;\n }\n if (typeof this.name !== 'undefined') {\n toReturn['name'] = this.name;\n }\n return toReturn;\n }\n}\nclass ListCampaignsResponse {\n static fromProto(proto) {\n let m = new ListCampaignsResponse();\n m = Object.assign(m, proto);\n if (proto.campaigns) {\n m.campaigns = proto.campaigns.map(GetterCampaignData.fromProto);\n }\n if (proto.pagingMetadata) {\n m.pagingMetadata = PagedResponseMetadata.fromProto(proto.pagingMetadata);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.campaigns !== 'undefined' && this.campaigns !== null) {\n toReturn['campaigns'] = 'toApiJson' in this.campaigns ? this.campaigns.toApiJson() : this.campaigns;\n }\n if (typeof this.pagingMetadata !== 'undefined' && this.pagingMetadata !== null) {\n toReturn['pagingMetadata'] = 'toApiJson' in this.pagingMetadata ? this.pagingMetadata.toApiJson() : this.pagingMetadata;\n }\n return toReturn;\n }\n}\nclass ListCampaignsV2Request {\n static fromProto(proto) {\n let m = new ListCampaignsV2Request();\n m = Object.assign(m, proto);\n if (proto.sender) {\n m.sender = Sender.fromProto(proto.sender);\n }\n if (proto.statuses) {\n m.statuses = proto.statuses.map(v => enumStringToValue(Statuses, v));\n }\n if (proto.pagingOptions) {\n m.pagingOptions = PagedRequestOptions.fromProto(proto.pagingOptions);\n }\n if (proto.sortOptions) {\n m.sortOptions = SortOptions.fromProto(proto.sortOptions);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.sender !== 'undefined' && this.sender !== null) {\n toReturn['sender'] = 'toApiJson' in this.sender ? this.sender.toApiJson() : this.sender;\n }\n if (typeof this.statuses !== 'undefined') {\n toReturn['statuses'] = this.statuses;\n }\n if (typeof this.pagingOptions !== 'undefined' && this.pagingOptions !== null) {\n toReturn['pagingOptions'] = 'toApiJson' in this.pagingOptions ? this.pagingOptions.toApiJson() : this.pagingOptions;\n }\n if (typeof this.searchTerm !== 'undefined') {\n toReturn['searchTerm'] = this.searchTerm;\n }\n if (typeof this.sortOptions !== 'undefined' && this.sortOptions !== null) {\n toReturn['sortOptions'] = 'toApiJson' in this.sortOptions ? this.sortOptions.toApiJson() : this.sortOptions;\n }\n return toReturn;\n }\n}\nclass ListCampaignsV2Response {\n static fromProto(proto) {\n let m = new ListCampaignsV2Response();\n m = Object.assign(m, proto);\n if (proto.campaigns) {\n m.campaigns = proto.campaigns.map(GetterCampaignData.fromProto);\n }\n if (proto.metadata) {\n m.metadata = PagedResponseMetadata.fromProto(proto.metadata);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.campaigns !== 'undefined' && this.campaigns !== null) {\n toReturn['campaigns'] = 'toApiJson' in this.campaigns ? this.campaigns.toApiJson() : this.campaigns;\n }\n if (typeof this.metadata !== 'undefined' && this.metadata !== null) {\n toReturn['metadata'] = 'toApiJson' in this.metadata ? this.metadata.toApiJson() : this.metadata;\n }\n return toReturn;\n }\n}\nclass ListLinksInTemplateRequest {\n static fromProto(proto) {\n let m = new ListLinksInTemplateRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.templateId !== 'undefined') {\n toReturn['templateId'] = this.templateId;\n }\n return toReturn;\n }\n}\nclass ListLinksInTemplateResponse {\n static fromProto(proto) {\n let m = new ListLinksInTemplateResponse();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.links !== 'undefined') {\n toReturn['links'] = this.links;\n }\n return toReturn;\n }\n}\nclass ListRecipientCampaignsRequest {\n static fromProto(proto) {\n let m = new ListRecipientCampaignsRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.accountGroupId !== 'undefined') {\n toReturn['accountGroupId'] = this.accountGroupId;\n }\n return toReturn;\n }\n}\nclass ListRecipientCampaignsResponse {\n static fromProto(proto) {\n let m = new ListRecipientCampaignsResponse();\n m = Object.assign(m, proto);\n if (proto.recipientCampaign) {\n m.recipientCampaign = proto.recipientCampaign.map(RecipientCampaignStruct.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.recipientCampaign !== 'undefined' && this.recipientCampaign !== null) {\n toReturn['recipientCampaign'] = 'toApiJson' in this.recipientCampaign ? this.recipientCampaign.toApiJson() : this.recipientCampaign;\n }\n return toReturn;\n }\n}\nclass ListRecommendedCampaignsRequest {\n static fromProto(proto) {\n let m = new ListRecommendedCampaignsRequest();\n m = Object.assign(m, proto);\n if (proto.focuses) {\n m.focuses = proto.focuses.map(v => enumStringToValue(Focuses, v));\n }\n if (proto.statuses) {\n m.statuses = proto.statuses.map(v => enumStringToValue(Statuses, v));\n }\n if (proto.pagingOptions) {\n m.pagingOptions = PagedRequestOptions.fromProto(proto.pagingOptions);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.focuses !== 'undefined') {\n toReturn['focuses'] = this.focuses;\n }\n if (typeof this.statuses !== 'undefined') {\n toReturn['statuses'] = this.statuses;\n }\n if (typeof this.pagingOptions !== 'undefined' && this.pagingOptions !== null) {\n toReturn['pagingOptions'] = 'toApiJson' in this.pagingOptions ? this.pagingOptions.toApiJson() : this.pagingOptions;\n }\n return toReturn;\n }\n}\nclass ListTagsForCampaignRequest {\n static fromProto(proto) {\n let m = new ListTagsForCampaignRequest();\n m = Object.assign(m, proto);\n if (proto.pageSize) {\n m.pageSize = parseInt(proto.pageSize, 10);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.campaignId !== 'undefined') {\n toReturn['campaignId'] = this.campaignId;\n }\n if (typeof this.cursor !== 'undefined') {\n toReturn['cursor'] = this.cursor;\n }\n if (typeof this.pageSize !== 'undefined') {\n toReturn['pageSize'] = this.pageSize;\n }\n return toReturn;\n }\n}\nclass ListTagsForCampaignResponse {\n static fromProto(proto) {\n let m = new ListTagsForCampaignResponse();\n m = Object.assign(m, proto);\n if (proto.campaignTags) {\n m.campaignTags = proto.campaignTags.map(CampaignTag.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.campaignTags !== 'undefined' && this.campaignTags !== null) {\n toReturn['campaignTags'] = 'toApiJson' in this.campaignTags ? this.campaignTags.toApiJson() : this.campaignTags;\n }\n if (typeof this.cursor !== 'undefined') {\n toReturn['cursor'] = this.cursor;\n }\n if (typeof this.hasMore !== 'undefined') {\n toReturn['hasMore'] = this.hasMore;\n }\n return toReturn;\n }\n}\nclass ListTagsForSenderRequest {\n static fromProto(proto) {\n let m = new ListTagsForSenderRequest();\n m = Object.assign(m, proto);\n if (proto.senderType) {\n m.senderType = enumStringToValue(SenderType, proto.senderType);\n }\n if (proto.pageSize) {\n m.pageSize = parseInt(proto.pageSize, 10);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.senderType !== 'undefined') {\n toReturn['senderType'] = this.senderType;\n }\n if (typeof this.senderId !== 'undefined') {\n toReturn['senderId'] = this.senderId;\n }\n if (typeof this.cursor !== 'undefined') {\n toReturn['cursor'] = this.cursor;\n }\n if (typeof this.pageSize !== 'undefined') {\n toReturn['pageSize'] = this.pageSize;\n }\n return toReturn;\n }\n}\nclass ListTagsForSenderResponse {\n static fromProto(proto) {\n let m = new ListTagsForSenderResponse();\n m = Object.assign(m, proto);\n if (proto.campaignTags) {\n m.campaignTags = proto.campaignTags.map(CampaignTag.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.campaignTags !== 'undefined' && this.campaignTags !== null) {\n toReturn['campaignTags'] = 'toApiJson' in this.campaignTags ? this.campaignTags.toApiJson() : this.campaignTags;\n }\n if (typeof this.cursor !== 'undefined') {\n toReturn['cursor'] = this.cursor;\n }\n if (typeof this.hasMore !== 'undefined') {\n toReturn['hasMore'] = this.hasMore;\n }\n return toReturn;\n }\n}\nclass LookupRecipientCampaignRequest {\n static fromProto(proto) {\n let m = new LookupRecipientCampaignRequest();\n m = Object.assign(m, proto);\n if (proto.sender) {\n m.sender = Sender.fromProto(proto.sender);\n }\n if (proto.recipient) {\n m.recipient = RecipientV2.fromProto(proto.recipient);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.sender !== 'undefined' && this.sender !== null) {\n toReturn['sender'] = 'toApiJson' in this.sender ? this.sender.toApiJson() : this.sender;\n }\n if (typeof this.recipient !== 'undefined' && this.recipient !== null) {\n toReturn['recipient'] = 'toApiJson' in this.recipient ? this.recipient.toApiJson() : this.recipient;\n }\n if (typeof this.campaignId !== 'undefined') {\n toReturn['campaignId'] = this.campaignId;\n }\n return toReturn;\n }\n}\nclass LookupRecipientCampaignResponse {\n static fromProto(proto) {\n let m = new LookupRecipientCampaignResponse();\n m = Object.assign(m, proto);\n if (proto.recipientCampaign) {\n m.recipientCampaign = RecipientCampaignStruct.fromProto(proto.recipientCampaign);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.recipientCampaign !== 'undefined' && this.recipientCampaign !== null) {\n toReturn['recipientCampaign'] = 'toApiJson' in this.recipientCampaign ? this.recipientCampaign.toApiJson() : this.recipientCampaign;\n }\n return toReturn;\n }\n}\nclass LookupRecipientCampaignsRequest {\n static fromProto(proto) {\n let m = new LookupRecipientCampaignsRequest();\n m = Object.assign(m, proto);\n if (proto.sender) {\n m.sender = Sender.fromProto(proto.sender);\n }\n if (proto.recipients) {\n m.recipients = proto.recipients.map(RecipientV2.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.sender !== 'undefined' && this.sender !== null) {\n toReturn['sender'] = 'toApiJson' in this.sender ? this.sender.toApiJson() : this.sender;\n }\n if (typeof this.recipients !== 'undefined' && this.recipients !== null) {\n toReturn['recipients'] = 'toApiJson' in this.recipients ? this.recipients.toApiJson() : this.recipients;\n }\n if (typeof this.campaignId !== 'undefined') {\n toReturn['campaignId'] = this.campaignId;\n }\n return toReturn;\n }\n}\nclass LookupRecipientCampaignsResponse {\n static fromProto(proto) {\n let m = new LookupRecipientCampaignsResponse();\n m = Object.assign(m, proto);\n if (proto.recipientCampaigns) {\n m.recipientCampaigns = proto.recipientCampaigns.map(RecipientCampaignStruct.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.recipientCampaigns !== 'undefined' && this.recipientCampaigns !== null) {\n toReturn['recipientCampaigns'] = 'toApiJson' in this.recipientCampaigns ? this.recipientCampaigns.toApiJson() : this.recipientCampaigns;\n }\n return toReturn;\n }\n}\nclass GetRecipientLinkClickStatsRequestPagedRequestOptions {\n static fromProto(proto) {\n let m = new GetRecipientLinkClickStatsRequestPagedRequestOptions();\n m = Object.assign(m, proto);\n if (proto.pageSize) {\n m.pageSize = parseInt(proto.pageSize, 10);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.cursor !== 'undefined') {\n toReturn['cursor'] = this.cursor;\n }\n if (typeof this.pageSize !== 'undefined') {\n toReturn['pageSize'] = this.pageSize;\n }\n return toReturn;\n }\n}\nclass PagedRequestOptions {\n static fromProto(proto) {\n let m = new PagedRequestOptions();\n m = Object.assign(m, proto);\n if (proto.pageSize) {\n m.pageSize = parseInt(proto.pageSize, 10);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.cursor !== 'undefined') {\n toReturn['cursor'] = this.cursor;\n }\n if (typeof this.pageSize !== 'undefined') {\n toReturn['pageSize'] = this.pageSize;\n }\n return toReturn;\n }\n}\nclass PagedResponseMetadata {\n static fromProto(proto) {\n let m = new PagedResponseMetadata();\n m = Object.assign(m, proto);\n if (proto.totalResults) {\n m.totalResults = parseInt(proto.totalResults, 10);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.nextCursor !== 'undefined') {\n toReturn['nextCursor'] = this.nextCursor;\n }\n if (typeof this.hasMore !== 'undefined') {\n toReturn['hasMore'] = this.hasMore;\n }\n if (typeof this.totalResults !== 'undefined') {\n toReturn['totalResults'] = this.totalResults;\n }\n return toReturn;\n }\n}\nclass PauseCampaignRequest {\n static fromProto(proto) {\n let m = new PauseCampaignRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.campaignId !== 'undefined') {\n toReturn['campaignId'] = this.campaignId;\n }\n return toReturn;\n }\n}\nclass PreviewEmailTemplateRequest {\n static fromProto(proto) {\n let m = new PreviewEmailTemplateRequest();\n m = Object.assign(m, proto);\n if (proto.sender) {\n m.sender = Sender.fromProto(proto.sender);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.templateId !== 'undefined') {\n toReturn['templateId'] = this.templateId;\n }\n if (typeof this.accountGroupId !== 'undefined') {\n toReturn['accountGroupId'] = this.accountGroupId;\n }\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.marketId !== 'undefined') {\n toReturn['marketId'] = this.marketId;\n }\n if (typeof this.locale !== 'undefined') {\n toReturn['locale'] = this.locale;\n }\n if (typeof this.userId !== 'undefined') {\n toReturn['userId'] = this.userId;\n }\n if (typeof this.contactId !== 'undefined') {\n toReturn['contactId'] = this.contactId;\n }\n if (typeof this.sender !== 'undefined' && this.sender !== null) {\n toReturn['sender'] = 'toApiJson' in this.sender ? this.sender.toApiJson() : this.sender;\n }\n return toReturn;\n }\n}\nclass PreviewEmailTemplateResponse {\n static fromProto(proto) {\n let m = new PreviewEmailTemplateResponse();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.templateHtml !== 'undefined') {\n toReturn['templateHtml'] = this.templateHtml;\n }\n if (typeof this.subject !== 'undefined') {\n toReturn['subject'] = this.subject;\n }\n if (typeof this.name !== 'undefined') {\n toReturn['name'] = this.name;\n }\n return toReturn;\n }\n}\nclass RecipientClickStatsRecipient {\n static fromProto(proto) {\n let m = new RecipientClickStatsRecipient();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.emailAddress !== 'undefined') {\n toReturn['emailAddress'] = this.emailAddress;\n }\n return toReturn;\n }\n}\nclass RecipientCampaignPair {\n static fromProto(proto) {\n let m = new RecipientCampaignPair();\n m = Object.assign(m, proto);\n if (proto.recipientCampaign) {\n m.recipientCampaign = RecipientCampaignStruct.fromProto(proto.recipientCampaign);\n }\n if (proto.recipient) {\n m.recipient = CampaignRecipient.fromProto(proto.recipient);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.recipientCampaign !== 'undefined' && this.recipientCampaign !== null) {\n toReturn['recipientCampaign'] = 'toApiJson' in this.recipientCampaign ? this.recipientCampaign.toApiJson() : this.recipientCampaign;\n }\n if (typeof this.recipient !== 'undefined' && this.recipient !== null) {\n toReturn['recipient'] = 'toApiJson' in this.recipient ? this.recipient.toApiJson() : this.recipient;\n }\n return toReturn;\n }\n}\nclass RecipientCampaignStepEventStruct {\n static fromProto(proto) {\n let m = new RecipientCampaignStepEventStruct();\n m = Object.assign(m, proto);\n if (proto.version) {\n m.version = parseInt(proto.version, 10);\n }\n if (proto.eventType) {\n m.eventType = enumStringToValue(CampaignStepEventType, proto.eventType);\n }\n if (proto.eventDate) {\n m.eventDate = new Date(proto.eventDate);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.version !== 'undefined') {\n toReturn['version'] = this.version;\n }\n if (typeof this.eventId !== 'undefined') {\n toReturn['eventId'] = this.eventId;\n }\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.marketId !== 'undefined') {\n toReturn['marketId'] = this.marketId;\n }\n if (typeof this.accountGroupId !== 'undefined') {\n toReturn['accountGroupId'] = this.accountGroupId;\n }\n if (typeof this.campaignId !== 'undefined') {\n toReturn['campaignId'] = this.campaignId;\n }\n if (typeof this.campaignStepId !== 'undefined') {\n toReturn['campaignStepId'] = this.campaignStepId;\n }\n if (typeof this.recipientId !== 'undefined') {\n toReturn['recipientId'] = this.recipientId;\n }\n if (typeof this.recipientCampaignId !== 'undefined') {\n toReturn['recipientCampaignId'] = this.recipientCampaignId;\n }\n if (typeof this.recipientCampaignStepId !== 'undefined') {\n toReturn['recipientCampaignStepId'] = this.recipientCampaignStepId;\n }\n if (typeof this.eventType !== 'undefined') {\n toReturn['eventType'] = this.eventType;\n }\n if (typeof this.eventDate !== 'undefined' && this.eventDate !== null) {\n toReturn['eventDate'] = 'toApiJson' in this.eventDate ? this.eventDate.toApiJson() : this.eventDate;\n }\n if (typeof this.templateId !== 'undefined') {\n toReturn['templateId'] = this.templateId;\n }\n if (typeof this.probablyBot !== 'undefined') {\n toReturn['probablyBot'] = this.probablyBot;\n }\n if (typeof this.url !== 'undefined') {\n toReturn['url'] = this.url;\n }\n if (typeof this.normalizedUrl !== 'undefined') {\n toReturn['normalizedUrl'] = this.normalizedUrl;\n }\n return toReturn;\n }\n}\nclass RecipientCampaignStruct {\n static fromProto(proto) {\n let m = new RecipientCampaignStruct();\n m = Object.assign(m, proto);\n if (proto.version) {\n m.version = parseInt(proto.version, 10);\n }\n if (proto.status) {\n m.status = enumStringToValue(CampaignScheduleStatus, proto.status);\n }\n if (proto.schedule) {\n m.schedule = proto.schedule.map(ScheduledCampaignStepInterface.fromProto);\n }\n if (proto.scheduleStep) {\n m.scheduleStep = parseInt(proto.scheduleStep, 10);\n }\n if (proto.pausedDateTime) {\n m.pausedDateTime = new Date(proto.pausedDateTime);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.version !== 'undefined') {\n toReturn['version'] = this.version;\n }\n if (typeof this.recipientCampaignId !== 'undefined') {\n toReturn['recipientCampaignId'] = this.recipientCampaignId;\n }\n if (typeof this.recipientId !== 'undefined') {\n toReturn['recipientId'] = this.recipientId;\n }\n if (typeof this.campaignId !== 'undefined') {\n toReturn['campaignId'] = this.campaignId;\n }\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.accountGroupId !== 'undefined') {\n toReturn['accountGroupId'] = this.accountGroupId;\n }\n if (typeof this.marketId !== 'undefined') {\n toReturn['marketId'] = this.marketId;\n }\n if (typeof this.fromId !== 'undefined') {\n toReturn['fromId'] = this.fromId;\n }\n if (typeof this.fromEmail !== 'undefined') {\n toReturn['fromEmail'] = this.fromEmail;\n }\n if (typeof this.fromName !== 'undefined') {\n toReturn['fromName'] = this.fromName;\n }\n if (typeof this.isActive !== 'undefined') {\n toReturn['isActive'] = this.isActive;\n }\n if (typeof this.isCompleted !== 'undefined') {\n toReturn['isCompleted'] = this.isCompleted;\n }\n if (typeof this.status !== 'undefined') {\n toReturn['status'] = this.status;\n }\n if (typeof this.schedule !== 'undefined' && this.schedule !== null) {\n toReturn['schedule'] = 'toApiJson' in this.schedule ? this.schedule.toApiJson() : this.schedule;\n }\n if (typeof this.scheduleStep !== 'undefined') {\n toReturn['scheduleStep'] = this.scheduleStep;\n }\n if (typeof this.errorMessage !== 'undefined') {\n toReturn['errorMessage'] = this.errorMessage;\n }\n if (typeof this.pausedDateTime !== 'undefined' && this.pausedDateTime !== null) {\n toReturn['pausedDateTime'] = 'toApiJson' in this.pausedDateTime ? this.pausedDateTime.toApiJson() : this.pausedDateTime;\n }\n return toReturn;\n }\n}\nclass RecipientClickStats {\n static fromProto(proto) {\n let m = new RecipientClickStats();\n m = Object.assign(m, proto);\n if (proto.recipient) {\n m.recipient = RecipientClickStatsRecipient.fromProto(proto.recipient);\n }\n if (proto.account) {\n m.account = RecipientClickStatsAccount.fromProto(proto.account);\n }\n if (proto.recentDate) {\n m.recentDate = new Date(proto.recentDate);\n }\n if (proto.count) {\n m.count = parseInt(proto.count, 10);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.recipient !== 'undefined' && this.recipient !== null) {\n toReturn['recipient'] = 'toApiJson' in this.recipient ? this.recipient.toApiJson() : this.recipient;\n }\n if (typeof this.account !== 'undefined' && this.account !== null) {\n toReturn['account'] = 'toApiJson' in this.account ? this.account.toApiJson() : this.account;\n }\n if (typeof this.recentDate !== 'undefined' && this.recentDate !== null) {\n toReturn['recentDate'] = 'toApiJson' in this.recentDate ? this.recentDate.toApiJson() : this.recentDate;\n }\n if (typeof this.count !== 'undefined') {\n toReturn['count'] = this.count;\n }\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n return toReturn;\n }\n}\nclass RecipientCriteria {\n static fromProto(proto) {\n let m = new RecipientCriteria();\n m = Object.assign(m, proto);\n if (proto.filterGroupV2) {\n m.filterGroupV2 = FilterGroup.fromProto(proto.filterGroupV2);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.searchTerm !== 'undefined') {\n toReturn['searchTerm'] = this.searchTerm;\n }\n if (typeof this.filterGroupV2 !== 'undefined' && this.filterGroupV2 !== null) {\n toReturn['filterGroupV2'] = 'toApiJson' in this.filterGroupV2 ? this.filterGroupV2.toApiJson() : this.filterGroupV2;\n }\n return toReturn;\n }\n}\nclass RecipientV2 {\n static fromProto(proto) {\n let m = new RecipientV2();\n m = Object.assign(m, proto);\n if (proto.type) {\n m.type = enumStringToValue(RecipientType, proto.type);\n }\n if (proto.contact) {\n m.contact = Contact.fromProto(proto.contact);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.id !== 'undefined') {\n toReturn['id'] = this.id;\n }\n if (typeof this.type !== 'undefined') {\n toReturn['type'] = this.type;\n }\n if (typeof this.contact !== 'undefined' && this.contact !== null) {\n toReturn['contact'] = 'toApiJson' in this.contact ? this.contact.toApiJson() : this.contact;\n }\n if (typeof this.phoneNumber !== 'undefined') {\n toReturn['phoneNumber'] = this.phoneNumber;\n }\n if (typeof this.emailAddress !== 'undefined') {\n toReturn['emailAddress'] = this.emailAddress;\n }\n return toReturn;\n }\n}\nclass RemoveTagFromCampaignRequest {\n static fromProto(proto) {\n let m = new RemoveTagFromCampaignRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.campaignId !== 'undefined') {\n toReturn['campaignId'] = this.campaignId;\n }\n if (typeof this.tagId !== 'undefined') {\n toReturn['tagId'] = this.tagId;\n }\n return toReturn;\n }\n}\nclass RenderRequest {\n static fromProto(proto) {\n let m = new RenderRequest();\n m = Object.assign(m, proto);\n if (proto.emailBuilderTemplate) {\n m.emailBuilderTemplate = EmailBuilderTemplate.fromProto(proto.emailBuilderTemplate);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.emailBuilderTemplate !== 'undefined' && this.emailBuilderTemplate !== null) {\n toReturn['emailBuilderTemplate'] = 'toApiJson' in this.emailBuilderTemplate ? this.emailBuilderTemplate.toApiJson() : this.emailBuilderTemplate;\n }\n return toReturn;\n }\n}\nclass RenderResponse {\n static fromProto(proto) {\n let m = new RenderResponse();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.content !== 'undefined') {\n toReturn['content'] = this.content;\n }\n return toReturn;\n }\n}\nclass ScheduledCampaignStepInterface {\n static fromProto(proto) {\n let m = new ScheduledCampaignStepInterface();\n m = Object.assign(m, proto);\n if (proto.version) {\n m.version = parseInt(proto.version, 10);\n }\n if (proto.campaignStepType) {\n m.campaignStepType = enumStringToValue(CampaignStepType, proto.campaignStepType);\n }\n if (proto.scheduledDate) {\n m.scheduledDate = new Date(proto.scheduledDate);\n }\n if (proto.dateSent) {\n m.dateSent = new Date(proto.dateSent);\n }\n if (proto.secondsAfterLastEmail) {\n m.secondsAfterLastEmail = parseInt(proto.secondsAfterLastEmail, 10);\n }\n if (proto.sendStatus) {\n m.sendStatus = enumStringToValue(CampaignStepSendStatusType, proto.sendStatus);\n }\n if (proto.events) {\n m.events = proto.events.map(CampaignStepEvent.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.version !== 'undefined') {\n toReturn['version'] = this.version;\n }\n if (typeof this.campaignStepId !== 'undefined') {\n toReturn['campaignStepId'] = this.campaignStepId;\n }\n if (typeof this.templateId !== 'undefined') {\n toReturn['templateId'] = this.templateId;\n }\n if (typeof this.recipientCampaignId !== 'undefined') {\n toReturn['recipientCampaignId'] = this.recipientCampaignId;\n }\n if (typeof this.stepId !== 'undefined') {\n toReturn['stepId'] = this.stepId;\n }\n if (typeof this.campaignStepType !== 'undefined') {\n toReturn['campaignStepType'] = this.campaignStepType;\n }\n if (typeof this.name !== 'undefined') {\n toReturn['name'] = this.name;\n }\n if (typeof this.scheduledDate !== 'undefined' && this.scheduledDate !== null) {\n toReturn['scheduledDate'] = 'toApiJson' in this.scheduledDate ? this.scheduledDate.toApiJson() : this.scheduledDate;\n }\n if (typeof this.dateSent !== 'undefined' && this.dateSent !== null) {\n toReturn['dateSent'] = 'toApiJson' in this.dateSent ? this.dateSent.toApiJson() : this.dateSent;\n }\n if (typeof this.secondsAfterLastEmail !== 'undefined') {\n toReturn['secondsAfterLastEmail'] = this.secondsAfterLastEmail;\n }\n if (typeof this.sendStatus !== 'undefined') {\n toReturn['sendStatus'] = this.sendStatus;\n }\n if (typeof this.completed !== 'undefined') {\n toReturn['completed'] = this.completed;\n }\n if (typeof this.events !== 'undefined' && this.events !== null) {\n toReturn['events'] = 'toApiJson' in this.events ? this.events.toApiJson() : this.events;\n }\n return toReturn;\n }\n}\nclass SendCampaignStepTestEmailRequest {\n static fromProto(proto) {\n let m = new SendCampaignStepTestEmailRequest();\n m = Object.assign(m, proto);\n if (proto.sender) {\n m.sender = Sender.fromProto(proto.sender);\n }\n if (proto.stepData) {\n m.stepData = Object.keys(proto.stepData).reduce((obj, k) => {\n obj[k] = proto.stepData[k];\n return obj;\n }, {});\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.sender !== 'undefined' && this.sender !== null) {\n toReturn['sender'] = 'toApiJson' in this.sender ? this.sender.toApiJson() : this.sender;\n }\n if (typeof this.campaignId !== 'undefined') {\n toReturn['campaignId'] = this.campaignId;\n }\n if (typeof this.campaignStepId !== 'undefined') {\n toReturn['campaignStepId'] = this.campaignStepId;\n }\n if (typeof this.sendToUserId !== 'undefined') {\n toReturn['sendToUserId'] = this.sendToUserId;\n }\n if (typeof this.stepData !== 'undefined' && this.stepData !== null) {\n toReturn['stepData'] = 'toApiJson' in this.stepData ? this.stepData.toApiJson() : this.stepData;\n }\n return toReturn;\n }\n}\nclass SendCampaignStepTestEmailResponse {\n static fromProto(proto) {\n let m = new SendCampaignStepTestEmailResponse();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.emailId !== 'undefined') {\n toReturn['emailId'] = this.emailId;\n }\n return toReturn;\n }\n}\nclass SendRecipientCampaignStepEmailRequest {\n static fromProto(proto) {\n let m = new SendRecipientCampaignStepEmailRequest();\n m = Object.assign(m, proto);\n if (proto.sender) {\n m.sender = Sender.fromProto(proto.sender);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.ignoreCampaignState !== 'undefined') {\n toReturn['ignoreCampaignState'] = this.ignoreCampaignState;\n }\n if (typeof this.sender !== 'undefined' && this.sender !== null) {\n toReturn['sender'] = 'toApiJson' in this.sender ? this.sender.toApiJson() : this.sender;\n }\n if (typeof this.recipientCampaignId !== 'undefined') {\n toReturn['recipientCampaignId'] = this.recipientCampaignId;\n }\n if (typeof this.recipientCampaignStepId !== 'undefined') {\n toReturn['recipientCampaignStepId'] = this.recipientCampaignStepId;\n }\n return toReturn;\n }\n}\nclass Sender {\n static fromProto(proto) {\n let m = new Sender();\n m = Object.assign(m, proto);\n if (proto.type) {\n m.type = enumStringToValue(SenderType, proto.type);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.type !== 'undefined') {\n toReturn['type'] = this.type;\n }\n if (typeof this.id !== 'undefined') {\n toReturn['id'] = this.id;\n }\n return toReturn;\n }\n}\nclass SortOptions {\n static fromProto(proto) {\n let m = new SortOptions();\n m = Object.assign(m, proto);\n if (proto.field) {\n m.field = enumStringToValue(SortField, proto.field);\n }\n if (proto.direction) {\n m.direction = enumStringToValue(SortDirection, proto.direction);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.field !== 'undefined') {\n toReturn['field'] = this.field;\n }\n if (typeof this.direction !== 'undefined') {\n toReturn['direction'] = this.direction;\n }\n return toReturn;\n }\n}\nclass SendCampaignStepTestEmailRequestStepDataEntry {\n static fromProto(proto) {\n let m = new SendCampaignStepTestEmailRequestStepDataEntry();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.key !== 'undefined') {\n toReturn['key'] = this.key;\n }\n if (typeof this.value !== 'undefined') {\n toReturn['value'] = this.value;\n }\n return toReturn;\n }\n}\nclass GetCampaignStepContentRequestStepDataEntry {\n static fromProto(proto) {\n let m = new GetCampaignStepContentRequestStepDataEntry();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.key !== 'undefined') {\n toReturn['key'] = this.key;\n }\n if (typeof this.value !== 'undefined') {\n toReturn['value'] = this.value;\n }\n return toReturn;\n }\n}\nclass StepDataResponse {\n static fromProto(proto) {\n let m = new StepDataResponse();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.templateId !== 'undefined') {\n toReturn['templateId'] = this.templateId;\n }\n if (typeof this.campaignStepId !== 'undefined') {\n toReturn['campaignStepId'] = this.campaignStepId;\n }\n return toReturn;\n }\n}\nclass UnpauseCampaignRequest {\n static fromProto(proto) {\n let m = new UnpauseCampaignRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.campaignId !== 'undefined') {\n toReturn['campaignId'] = this.campaignId;\n }\n return toReturn;\n }\n}\nclass UpdateCampaignNameRequest {\n static fromProto(proto) {\n let m = new UpdateCampaignNameRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.campaignId !== 'undefined') {\n toReturn['campaignId'] = this.campaignId;\n }\n if (typeof this.locale !== 'undefined') {\n toReturn['locale'] = this.locale;\n }\n return toReturn;\n }\n}\nclass UpdateConfigRequest {\n static fromProto(proto) {\n let m = new UpdateConfigRequest();\n m = Object.assign(m, proto);\n if (proto.daysEmailsCanBeSent) {\n m.daysEmailsCanBeSent = proto.daysEmailsCanBeSent.map(v => enumStringToValue(DaysOfTheWeek, v));\n }\n if (proto.recipientsAddedRateLimit) {\n m.recipientsAddedRateLimit = parseInt(proto.recipientsAddedRateLimit, 10);\n }\n if (proto.sender) {\n m.sender = Sender.fromProto(proto.sender);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.campaignId !== 'undefined') {\n toReturn['campaignId'] = this.campaignId;\n }\n if (typeof this.timeZoneForEmailsSent !== 'undefined') {\n toReturn['timeZoneForEmailsSent'] = this.timeZoneForEmailsSent;\n }\n if (typeof this.daysEmailsCanBeSent !== 'undefined') {\n toReturn['daysEmailsCanBeSent'] = this.daysEmailsCanBeSent;\n }\n if (typeof this.recipientsAddedRateLimitEnabled !== 'undefined') {\n toReturn['recipientsAddedRateLimitEnabled'] = this.recipientsAddedRateLimitEnabled;\n }\n if (typeof this.recipientsAddedRateLimit !== 'undefined') {\n toReturn['recipientsAddedRateLimit'] = this.recipientsAddedRateLimit;\n }\n if (typeof this.sender !== 'undefined' && this.sender !== null) {\n toReturn['sender'] = 'toApiJson' in this.sender ? this.sender.toApiJson() : this.sender;\n }\n if (typeof this.emailSchedulingDay !== 'undefined') {\n toReturn['emailSchedulingDay'] = this.emailSchedulingDay;\n }\n return toReturn;\n }\n}\nclass UpdateConfigResponse {\n static fromProto(proto) {\n let m = new UpdateConfigResponse();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.timezone !== 'undefined') {\n toReturn['timezone'] = this.timezone;\n }\n if (typeof this.days !== 'undefined') {\n toReturn['days'] = this.days;\n }\n return toReturn;\n }\n}\nclass UpdateEmailTemplateRequest {\n static fromProto(proto) {\n let m = new UpdateEmailTemplateRequest();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.templateId !== 'undefined') {\n toReturn['templateId'] = this.templateId;\n }\n if (typeof this.name !== 'undefined') {\n toReturn['name'] = this.name;\n }\n if (typeof this.subject !== 'undefined') {\n toReturn['subject'] = this.subject;\n }\n if (typeof this.htmlBody !== 'undefined') {\n toReturn['htmlBody'] = this.htmlBody;\n }\n if (typeof this.fullHtml !== 'undefined') {\n toReturn['fullHtml'] = this.fullHtml;\n }\n if (typeof this.updatedByUserEmail !== 'undefined') {\n toReturn['updatedByUserEmail'] = this.updatedByUserEmail;\n }\n return toReturn;\n }\n}\nclass UpdateQuotaLimitRequest {\n static fromProto(proto) {\n let m = new UpdateQuotaLimitRequest();\n m = Object.assign(m, proto);\n if (proto.sender) {\n m.sender = Sender.fromProto(proto.sender);\n }\n if (proto.type) {\n m.type = enumStringToValue(CampaignQuotaCategory, proto.type);\n }\n if (proto.limit) {\n m.limit = parseInt(proto.limit, 10);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.sender !== 'undefined' && this.sender !== null) {\n toReturn['sender'] = 'toApiJson' in this.sender ? this.sender.toApiJson() : this.sender;\n }\n if (typeof this.type !== 'undefined') {\n toReturn['type'] = this.type;\n }\n if (typeof this.limit !== 'undefined') {\n toReturn['limit'] = this.limit;\n }\n return toReturn;\n }\n}\nclass UpdateRecipientRequest {\n static fromProto(proto) {\n let m = new UpdateRecipientRequest();\n m = Object.assign(m, proto);\n if (proto.sender) {\n m.sender = Sender.fromProto(proto.sender);\n }\n if (proto.recipient) {\n m.recipient = RecipientV2.fromProto(proto.recipient);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.recipientId !== 'undefined') {\n toReturn['recipientId'] = this.recipientId;\n }\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.accountGroupId !== 'undefined') {\n toReturn['accountGroupId'] = this.accountGroupId;\n }\n if (typeof this.email !== 'undefined') {\n toReturn['email'] = this.email;\n }\n if (typeof this.sender !== 'undefined' && this.sender !== null) {\n toReturn['sender'] = 'toApiJson' in this.sender ? this.sender.toApiJson() : this.sender;\n }\n if (typeof this.recipient !== 'undefined' && this.recipient !== null) {\n toReturn['recipient'] = 'toApiJson' in this.recipient ? this.recipient.toApiJson() : this.recipient;\n }\n if (typeof this.phoneNumber !== 'undefined') {\n toReturn['phoneNumber'] = this.phoneNumber;\n }\n return toReturn;\n }\n}\nclass UpdateRequest {\n static fromProto(proto) {\n let m = new UpdateRequest();\n m = Object.assign(m, proto);\n if (proto.emailBuilderTemplate) {\n m.emailBuilderTemplate = EmailBuilderTemplate.fromProto(proto.emailBuilderTemplate);\n }\n if (proto.fieldMask) {\n m.fieldMask = FieldMask.fromProto(proto.fieldMask);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.emailBuilderTemplate !== 'undefined' && this.emailBuilderTemplate !== null) {\n toReturn['emailBuilderTemplate'] = 'toApiJson' in this.emailBuilderTemplate ? this.emailBuilderTemplate.toApiJson() : this.emailBuilderTemplate;\n }\n if (typeof this.fieldMask !== 'undefined' && this.fieldMask !== null) {\n toReturn['fieldMask'] = 'toApiJson' in this.fieldMask ? this.fieldMask.toApiJson() : this.fieldMask;\n }\n return toReturn;\n }\n}\nclass UpdateStepOnCampaignRequest {\n static fromProto(proto) {\n let m = new UpdateStepOnCampaignRequest();\n m = Object.assign(m, proto);\n if (proto.sender) {\n m.sender = Sender.fromProto(proto.sender);\n }\n if (proto.secondsAfterLastStep) {\n m.secondsAfterLastStep = parseInt(proto.secondsAfterLastStep, 10);\n }\n if (proto.fieldMask) {\n m.fieldMask = FieldMask.fromProto(proto.fieldMask);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.campaignId !== 'undefined') {\n toReturn['campaignId'] = this.campaignId;\n }\n if (typeof this.campaignStepId !== 'undefined') {\n toReturn['campaignStepId'] = this.campaignStepId;\n }\n if (typeof this.sender !== 'undefined' && this.sender !== null) {\n toReturn['sender'] = 'toApiJson' in this.sender ? this.sender.toApiJson() : this.sender;\n }\n if (typeof this.contentId !== 'undefined') {\n toReturn['contentId'] = this.contentId;\n }\n if (typeof this.name !== 'undefined') {\n toReturn['name'] = this.name;\n }\n if (typeof this.secondsAfterLastStep !== 'undefined') {\n toReturn['secondsAfterLastStep'] = this.secondsAfterLastStep;\n }\n if (typeof this.fieldMask !== 'undefined' && this.fieldMask !== null) {\n toReturn['fieldMask'] = 'toApiJson' in this.fieldMask ? this.fieldMask.toApiJson() : this.fieldMask;\n }\n return toReturn;\n }\n}\nclass UpsertCampaignRequest {\n static fromProto(proto) {\n let m = new UpsertCampaignRequest();\n m = Object.assign(m, proto);\n if (proto.focus) {\n m.focus = enumStringToValue(Focuses, proto.focus);\n }\n if (proto.status) {\n m.status = enumStringToValue(Statuses, proto.status);\n }\n if (proto.campaignSchedule) {\n m.campaignSchedule = proto.campaignSchedule.map(CampaignStepInterface.fromProto);\n }\n if (proto.campaignScheduleVersion) {\n m.campaignScheduleVersion = parseInt(proto.campaignScheduleVersion, 10);\n }\n if (proto.version) {\n m.version = parseInt(proto.version, 10);\n }\n if (proto.published) {\n m.published = new Date(proto.published);\n }\n if (proto.fieldMask) {\n m.fieldMask = FieldMask.fromProto(proto.fieldMask);\n }\n if (proto.sender) {\n m.sender = Sender.fromProto(proto.sender);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.focus !== 'undefined') {\n toReturn['focus'] = this.focus;\n }\n if (typeof this.name !== 'undefined') {\n toReturn['name'] = this.name;\n }\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.campaignId !== 'undefined') {\n toReturn['campaignId'] = this.campaignId;\n }\n if (typeof this.marketId !== 'undefined') {\n toReturn['marketId'] = this.marketId;\n }\n if (typeof this.parentCampaignId !== 'undefined') {\n toReturn['parentCampaignId'] = this.parentCampaignId;\n }\n if (typeof this.rootCampaignId !== 'undefined') {\n toReturn['rootCampaignId'] = this.rootCampaignId;\n }\n if (typeof this.createdUser !== 'undefined') {\n toReturn['createdUser'] = this.createdUser;\n }\n if (typeof this.updatedUser !== 'undefined') {\n toReturn['updatedUser'] = this.updatedUser;\n }\n if (typeof this.publishedUser !== 'undefined') {\n toReturn['publishedUser'] = this.publishedUser;\n }\n if (typeof this.locale !== 'undefined') {\n toReturn['locale'] = this.locale;\n }\n if (typeof this.status !== 'undefined') {\n toReturn['status'] = this.status;\n }\n if (typeof this.campaignSchedule !== 'undefined' && this.campaignSchedule !== null) {\n toReturn['campaignSchedule'] = 'toApiJson' in this.campaignSchedule ? this.campaignSchedule.toApiJson() : this.campaignSchedule;\n }\n if (typeof this.isEnabled !== 'undefined') {\n toReturn['isEnabled'] = this.isEnabled;\n }\n if (typeof this.hiddenForPartners !== 'undefined') {\n toReturn['hiddenForPartners'] = this.hiddenForPartners;\n }\n if (typeof this.campaignScheduleVersion !== 'undefined') {\n toReturn['campaignScheduleVersion'] = this.campaignScheduleVersion;\n }\n if (typeof this.version !== 'undefined') {\n toReturn['version'] = this.version;\n }\n if (typeof this.published !== 'undefined' && this.published !== null) {\n toReturn['published'] = 'toApiJson' in this.published ? this.published.toApiJson() : this.published;\n }\n if (typeof this.emailCategoryId !== 'undefined') {\n toReturn['emailCategoryId'] = this.emailCategoryId;\n }\n if (typeof this.isPremade !== 'undefined') {\n toReturn['isPremade'] = this.isPremade;\n }\n if (typeof this.fieldMask !== 'undefined' && this.fieldMask !== null) {\n toReturn['fieldMask'] = 'toApiJson' in this.fieldMask ? this.fieldMask.toApiJson() : this.fieldMask;\n }\n if (typeof this.sender !== 'undefined' && this.sender !== null) {\n toReturn['sender'] = 'toApiJson' in this.sender ? this.sender.toApiJson() : this.sender;\n }\n return toReturn;\n }\n}\nclass UpsertConfigRequest {\n static fromProto(proto) {\n let m = new UpsertConfigRequest();\n m = Object.assign(m, proto);\n if (proto.daysEmailsCanBeSent) {\n m.daysEmailsCanBeSent = proto.daysEmailsCanBeSent.map(v => enumStringToValue(DaysOfTheWeek, v));\n }\n if (proto.recipientsAddedRateLimit) {\n m.recipientsAddedRateLimit = parseInt(proto.recipientsAddedRateLimit, 10);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.campaignId !== 'undefined') {\n toReturn['campaignId'] = this.campaignId;\n }\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.timeZoneForEmailsSent !== 'undefined') {\n toReturn['timeZoneForEmailsSent'] = this.timeZoneForEmailsSent;\n }\n if (typeof this.daysEmailsCanBeSent !== 'undefined') {\n toReturn['daysEmailsCanBeSent'] = this.daysEmailsCanBeSent;\n }\n if (typeof this.recipientsAddedRateLimitEnabled !== 'undefined') {\n toReturn['recipientsAddedRateLimitEnabled'] = this.recipientsAddedRateLimitEnabled;\n }\n if (typeof this.recipientsAddedRateLimit !== 'undefined') {\n toReturn['recipientsAddedRateLimit'] = this.recipientsAddedRateLimit;\n }\n return toReturn;\n }\n}\nclass UpsertRecipientCampaignActivatedEventRequest {\n static fromProto(proto) {\n let m = new UpsertRecipientCampaignActivatedEventRequest();\n m = Object.assign(m, proto);\n if (proto.version) {\n m.version = parseInt(proto.version, 10);\n }\n if (proto.fieldMask) {\n m.fieldMask = FieldMask.fromProto(proto.fieldMask);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.version !== 'undefined') {\n toReturn['version'] = this.version;\n }\n if (typeof this.recipientCampaignId !== 'undefined') {\n toReturn['recipientCampaignId'] = this.recipientCampaignId;\n }\n if (typeof this.campaignId !== 'undefined') {\n toReturn['campaignId'] = this.campaignId;\n }\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.accountGroupId !== 'undefined') {\n toReturn['accountGroupId'] = this.accountGroupId;\n }\n if (typeof this.fromId !== 'undefined') {\n toReturn['fromId'] = this.fromId;\n }\n if (typeof this.fieldMask !== 'undefined' && this.fieldMask !== null) {\n toReturn['fieldMask'] = 'toApiJson' in this.fieldMask ? this.fieldMask.toApiJson() : this.fieldMask;\n }\n return toReturn;\n }\n}\nclass UpsertRecipientCampaignRequest {\n static fromProto(proto) {\n let m = new UpsertRecipientCampaignRequest();\n m = Object.assign(m, proto);\n if (proto.version) {\n m.version = parseInt(proto.version, 10);\n }\n if (proto.status) {\n m.status = enumStringToValue(CampaignScheduleStatus, proto.status);\n }\n if (proto.schedule) {\n m.schedule = proto.schedule.map(ScheduledCampaignStepInterface.fromProto);\n }\n if (proto.scheduleStep) {\n m.scheduleStep = parseInt(proto.scheduleStep, 10);\n }\n if (proto.pausedDateTime) {\n m.pausedDateTime = new Date(proto.pausedDateTime);\n }\n if (proto.fieldMask) {\n m.fieldMask = FieldMask.fromProto(proto.fieldMask);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.version !== 'undefined') {\n toReturn['version'] = this.version;\n }\n if (typeof this.recipientCampaignId !== 'undefined') {\n toReturn['recipientCampaignId'] = this.recipientCampaignId;\n }\n if (typeof this.recipientId !== 'undefined') {\n toReturn['recipientId'] = this.recipientId;\n }\n if (typeof this.campaignId !== 'undefined') {\n toReturn['campaignId'] = this.campaignId;\n }\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.accountGroupId !== 'undefined') {\n toReturn['accountGroupId'] = this.accountGroupId;\n }\n if (typeof this.marketId !== 'undefined') {\n toReturn['marketId'] = this.marketId;\n }\n if (typeof this.fromId !== 'undefined') {\n toReturn['fromId'] = this.fromId;\n }\n if (typeof this.fromEmail !== 'undefined') {\n toReturn['fromEmail'] = this.fromEmail;\n }\n if (typeof this.fromName !== 'undefined') {\n toReturn['fromName'] = this.fromName;\n }\n if (typeof this.isActive !== 'undefined') {\n toReturn['isActive'] = this.isActive;\n }\n if (typeof this.isCompleted !== 'undefined') {\n toReturn['isCompleted'] = this.isCompleted;\n }\n if (typeof this.status !== 'undefined') {\n toReturn['status'] = this.status;\n }\n if (typeof this.schedule !== 'undefined' && this.schedule !== null) {\n toReturn['schedule'] = 'toApiJson' in this.schedule ? this.schedule.toApiJson() : this.schedule;\n }\n if (typeof this.scheduleStep !== 'undefined') {\n toReturn['scheduleStep'] = this.scheduleStep;\n }\n if (typeof this.errorMessage !== 'undefined') {\n toReturn['errorMessage'] = this.errorMessage;\n }\n if (typeof this.pausedDateTime !== 'undefined' && this.pausedDateTime !== null) {\n toReturn['pausedDateTime'] = 'toApiJson' in this.pausedDateTime ? this.pausedDateTime.toApiJson() : this.pausedDateTime;\n }\n if (typeof this.fieldMask !== 'undefined' && this.fieldMask !== null) {\n toReturn['fieldMask'] = 'toApiJson' in this.fieldMask ? this.fieldMask.toApiJson() : this.fieldMask;\n }\n return toReturn;\n }\n}\nclass UpsertRecipientCampaignStepEventRequest {\n static fromProto(proto) {\n let m = new UpsertRecipientCampaignStepEventRequest();\n m = Object.assign(m, proto);\n if (proto.stepEvent) {\n m.stepEvent = RecipientCampaignStepEventStruct.fromProto(proto.stepEvent);\n }\n if (proto.fieldMask) {\n m.fieldMask = FieldMask.fromProto(proto.fieldMask);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.stepEvent !== 'undefined' && this.stepEvent !== null) {\n toReturn['stepEvent'] = 'toApiJson' in this.stepEvent ? this.stepEvent.toApiJson() : this.stepEvent;\n }\n if (typeof this.fieldMask !== 'undefined' && this.fieldMask !== null) {\n toReturn['fieldMask'] = 'toApiJson' in this.fieldMask ? this.fieldMask.toApiJson() : this.fieldMask;\n }\n return toReturn;\n }\n}\n\n// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Objects Index.\n// *********************************\n\nconst environment = (window ? window['environment'] : 'prod') ?? 'prod';\nconst hostMap = {\n 'local': 'campaigns-api.vendasta-local.com',\n 'test': '',\n 'demo': 'campaigns-demo.apigateway.co',\n 'prod': 'campaigns-prod.apigateway.co',\n 'production': 'campaigns-prod.apigateway.co'\n};\nlet HostService = /*#__PURE__*/(() => {\n class HostService {\n get host() {\n return hostMap[environment.toLowerCase()];\n }\n get hostWithScheme() {\n return 'https://' + this.host;\n }\n }\n HostService.ɵfac = function HostService_Factory(t) {\n return new (t || HostService)();\n };\n HostService.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: HostService,\n factory: HostService.ɵfac,\n providedIn: 'root'\n });\n return HostService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// API Service.\n// *********************************\nlet ActivationsApiService = /*#__PURE__*/(() => {\n class ActivationsApiService {\n constructor(http, hostService) {\n this.http = http;\n this.hostService = hostService;\n this._host = this.hostService.hostWithScheme;\n }\n apiOptions() {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n activateProductForSender(r) {\n const request = r.toApiJson ? r : new ActivateProductForSenderRequest(r);\n return this.http.post(this._host + \"/campaigns.v1.Activations/ActivateProductForSender\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n isProductActive(r) {\n const request = r.toApiJson ? r : new IsProductActiveForSenderRequest(r);\n return this.http.post(this._host + \"/campaigns.v1.Activations/IsProductActive\", request.toApiJson(), this.apiOptions()).pipe(map(resp => IsProductActiveForSenderResponse.fromProto(resp)));\n }\n deactivateProduct(r) {\n const request = r.toApiJson ? r : new DeactivateProductForSenderRequest(r);\n return this.http.post(this._host + \"/campaigns.v1.Activations/DeactivateProduct\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n isFeatureActive(r) {\n const request = r.toApiJson ? r : new IsFeatureActiveForSenderRequest(r);\n return this.http.post(this._host + \"/campaigns.v1.Activations/IsFeatureActive\", request.toApiJson(), this.apiOptions()).pipe(map(resp => IsFeatureActiveForSenderResponse.fromProto(resp)));\n }\n }\n ActivationsApiService.ɵfac = function ActivationsApiService_Factory(t) {\n return new (t || ActivationsApiService)(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(HostService));\n };\n ActivationsApiService.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: ActivationsApiService,\n factory: ActivationsApiService.ɵfac,\n providedIn: 'root'\n });\n return ActivationsApiService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// API Service.\n// *********************************\nlet CampaignConfigApiService = /*#__PURE__*/(() => {\n class CampaignConfigApiService {\n constructor(http, hostService) {\n this.http = http;\n this.hostService = hostService;\n this._host = this.hostService.hostWithScheme;\n }\n apiOptions() {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n upsertConfig(r) {\n const request = r.toApiJson ? r : new UpsertConfigRequest(r);\n return this.http.post(this._host + \"/campaigns.v1.CampaignConfig/UpsertConfig\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n getConfig(r) {\n const request = r.toApiJson ? r : new GetConfigRequest(r);\n return this.http.post(this._host + \"/campaigns.v1.CampaignConfig/GetConfig\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetConfigResponse.fromProto(resp)));\n }\n updateConfig(r) {\n const request = r.toApiJson ? r : new UpdateConfigRequest(r);\n return this.http.post(this._host + \"/campaigns.v1.CampaignConfig/UpdateConfig\", request.toApiJson(), this.apiOptions()).pipe(map(resp => UpdateConfigResponse.fromProto(resp)));\n }\n }\n CampaignConfigApiService.ɵfac = function CampaignConfigApiService_Factory(t) {\n return new (t || CampaignConfigApiService)(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(HostService));\n };\n CampaignConfigApiService.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: CampaignConfigApiService,\n factory: CampaignConfigApiService.ɵfac,\n providedIn: 'root'\n });\n return CampaignConfigApiService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// API Service.\n// *********************************\nlet CampaignQuotaApiService = /*#__PURE__*/(() => {\n class CampaignQuotaApiService {\n constructor(http, hostService) {\n this.http = http;\n this.hostService = hostService;\n this._host = this.hostService.hostWithScheme;\n }\n apiOptions() {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n getCampaignQuota(r) {\n const request = r.toApiJson ? r : new GetCampaignQuotaRequest(r);\n return this.http.post(this._host + \"/campaigns.v1.CampaignQuota/GetCampaignQuota\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetCampaignQuotaResponse.fromProto(resp)));\n }\n createQuota(r) {\n const request = r.toApiJson ? r : new CreateQuotaRequest(r);\n return this.http.post(this._host + \"/campaigns.v1.CampaignQuota/CreateQuota\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n updateQuotaLimit(r) {\n const request = r.toApiJson ? r : new UpdateQuotaLimitRequest(r);\n return this.http.post(this._host + \"/campaigns.v1.CampaignQuota/UpdateQuotaLimit\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n }\n CampaignQuotaApiService.ɵfac = function CampaignQuotaApiService_Factory(t) {\n return new (t || CampaignQuotaApiService)(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(HostService));\n };\n CampaignQuotaApiService.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: CampaignQuotaApiService,\n factory: CampaignQuotaApiService.ɵfac,\n providedIn: 'root'\n });\n return CampaignQuotaApiService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// API Service.\n// *********************************\nlet CampaignStatsApiService = /*#__PURE__*/(() => {\n class CampaignStatsApiService {\n constructor(http, hostService) {\n this.http = http;\n this.hostService = hostService;\n this._host = this.hostService.hostWithScheme;\n }\n apiOptions() {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n getAggregatedCampaignStats(r) {\n const request = r.toApiJson ? r : new GetAggregatedCampaignStatsRequest(r);\n return this.http.post(this._host + \"/campaigns.v1.CampaignStats/GetAggregatedCampaignStats\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetAggregatedCampaignStatsResponse.fromProto(resp)));\n }\n listCampaignStats(r) {\n const request = r.toApiJson ? r : new ListCampaignStatsRequest(r);\n return this.http.post(this._host + \"/campaigns.v1.CampaignStats/ListCampaignStats\", request.toApiJson(), this.apiOptions()).pipe(map(resp => ListCampaignStatsResponse.fromProto(resp)));\n }\n getCampaignDetailsStats(r) {\n const request = r.toApiJson ? r : new GetCampaignDetailsStatsRequest(r);\n return this.http.post(this._host + \"/campaigns.v1.CampaignStats/GetCampaignDetailsStats\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetCampaignDetailsStatsResponse.fromProto(resp)));\n }\n getLinkStats(r) {\n const request = r.toApiJson ? r : new GetLinkStatsRequest(r);\n return this.http.post(this._host + \"/campaigns.v1.CampaignStats/GetLinkStats\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetLinkStatsResponse.fromProto(resp)));\n }\n getRecipientLinkClickStats(r) {\n const request = r.toApiJson ? r : new GetRecipientLinkClickStatsRequest(r);\n return this.http.post(this._host + \"/campaigns.v1.CampaignStats/GetRecipientLinkClickStats\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetRecipientLinkClickStatsResponse.fromProto(resp)));\n }\n getCampaignStepStats(r) {\n const request = r.toApiJson ? r : new GetCampaignStepStatsRequest(r);\n return this.http.post(this._host + \"/campaigns.v1.CampaignStats/GetCampaignStepStats\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetCampaignStepStatsResponse.fromProto(resp)));\n }\n exportRecipientLinkClickStats(r) {\n const request = r.toApiJson ? r : new ExportRecipientLinkClickStatsRequest(r);\n return this.http.post(this._host + \"/campaigns.v1.CampaignStats/ExportRecipientLinkClickStats\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n listCampaignStatsForSender(r) {\n const request = r.toApiJson ? r : new ListCampaignStatsForSenderRequest(r);\n return this.http.post(this._host + \"/campaigns.v1.CampaignStats/ListCampaignStatsForSender\", request.toApiJson(), this.apiOptions()).pipe(map(resp => ListCampaignStatsForSenderResponse.fromProto(resp)));\n }\n }\n CampaignStatsApiService.ɵfac = function CampaignStatsApiService_Factory(t) {\n return new (t || CampaignStatsApiService)(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(HostService));\n };\n CampaignStatsApiService.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: CampaignStatsApiService,\n factory: CampaignStatsApiService.ɵfac,\n providedIn: 'root'\n });\n return CampaignStatsApiService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// API Service.\n// *********************************\nlet CampaignTaggingApiService = /*#__PURE__*/(() => {\n class CampaignTaggingApiService {\n constructor(http, hostService) {\n this.http = http;\n this.hostService = hostService;\n this._host = this.hostService.hostWithScheme;\n }\n apiOptions() {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n create(r) {\n const request = r.toApiJson ? r : new CreateTagRequest(r);\n return this.http.post(this._host + \"/campaigns.v1.CampaignTagging/Create\", request.toApiJson(), this.apiOptions()).pipe(map(resp => CreateTagResponse.fromProto(resp)));\n }\n listTagsForSender(r) {\n const request = r.toApiJson ? r : new ListTagsForSenderRequest(r);\n return this.http.post(this._host + \"/campaigns.v1.CampaignTagging/ListTagsForSender\", request.toApiJson(), this.apiOptions()).pipe(map(resp => ListTagsForSenderResponse.fromProto(resp)));\n }\n addTagToCampaign(r) {\n const request = r.toApiJson ? r : new AddTagToCampaignRequest(r);\n return this.http.post(this._host + \"/campaigns.v1.CampaignTagging/AddTagToCampaign\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n removeTagFromCampaign(r) {\n const request = r.toApiJson ? r : new RemoveTagFromCampaignRequest(r);\n return this.http.post(this._host + \"/campaigns.v1.CampaignTagging/RemoveTagFromCampaign\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n listTagsForCampaign(r) {\n const request = r.toApiJson ? r : new ListTagsForCampaignRequest(r);\n return this.http.post(this._host + \"/campaigns.v1.CampaignTagging/ListTagsForCampaign\", request.toApiJson(), this.apiOptions()).pipe(map(resp => ListTagsForCampaignResponse.fromProto(resp)));\n }\n delete(r) {\n const request = r.toApiJson ? r : new DeleteTagRequest(r);\n return this.http.post(this._host + \"/campaigns.v1.CampaignTagging/Delete\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n }\n CampaignTaggingApiService.ɵfac = function CampaignTaggingApiService_Factory(t) {\n return new (t || CampaignTaggingApiService)(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(HostService));\n };\n CampaignTaggingApiService.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: CampaignTaggingApiService,\n factory: CampaignTaggingApiService.ɵfac,\n providedIn: 'root'\n });\n return CampaignTaggingApiService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// API Service.\n// *********************************\nlet CampaignsApiService = /*#__PURE__*/(() => {\n class CampaignsApiService {\n constructor(http, hostService) {\n this.http = http;\n this.hostService = hostService;\n this._host = this.hostService.hostWithScheme;\n }\n apiOptions() {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n deleteCampaign(r) {\n const request = r.toApiJson ? r : new DeleteCampaignRequest(r);\n return this.http.post(this._host + \"/campaigns.v1.Campaigns/DeleteCampaign\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n upsertCampaign(r) {\n const request = r.toApiJson ? r : new UpsertCampaignRequest(r);\n return this.http.post(this._host + \"/campaigns.v1.Campaigns/UpsertCampaign\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n updateCampaignName(r) {\n const request = r.toApiJson ? r : new UpdateCampaignNameRequest(r);\n return this.http.post(this._host + \"/campaigns.v1.Campaigns/UpdateCampaignName\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n listCampaigns(r) {\n const request = r.toApiJson ? r : new ListCampaignsRequest(r);\n return this.http.post(this._host + \"/campaigns.v1.Campaigns/ListCampaigns\", request.toApiJson(), this.apiOptions()).pipe(map(resp => ListCampaignsResponse.fromProto(resp)));\n }\n listRecommendedCampaigns(r) {\n const request = r.toApiJson ? r : new ListRecommendedCampaignsRequest(r);\n return this.http.post(this._host + \"/campaigns.v1.Campaigns/ListRecommendedCampaigns\", request.toApiJson(), this.apiOptions()).pipe(map(resp => ListCampaignsResponse.fromProto(resp)));\n }\n getCampaign(r) {\n const request = r.toApiJson ? r : new GetCampaignRequest(r);\n return this.http.post(this._host + \"/campaigns.v1.Campaigns/GetCampaign\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetCampaignResponse.fromProto(resp)));\n }\n getMultiCampaigns(r) {\n const request = r.toApiJson ? r : new GetMultiCampaignsRequest(r);\n return this.http.post(this._host + \"/campaigns.v1.Campaigns/GetMultiCampaigns\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetMultiCampaignsResponse.fromProto(resp)));\n }\n duplicateCampaignStepAsync(r) {\n const request = r.toApiJson ? r : new DuplicateCampaignStepRequest(r);\n return this.http.post(this._host + \"/campaigns.v1.Campaigns/DuplicateCampaignStepAsync\", request.toApiJson(), this.apiOptions()).pipe(map(resp => DuplicateCampaignStepResponse.fromProto(resp)));\n }\n checkDuplicateCampaignStepStatus(r) {\n const request = r.toApiJson ? r : new CheckDuplicateCampaignStepStatusRequest(r);\n return this.http.post(this._host + \"/campaigns.v1.Campaigns/CheckDuplicateCampaignStepStatus\", request.toApiJson(), this.apiOptions()).pipe(map(resp => CheckDuplicateCampaignStepStatusResponse.fromProto(resp)));\n }\n duplicateCampaignAsync(r) {\n const request = r.toApiJson ? r : new DuplicateCampaignRequest(r);\n return this.http.post(this._host + \"/campaigns.v1.Campaigns/DuplicateCampaignAsync\", request.toApiJson(), this.apiOptions()).pipe(map(resp => DuplicateCampaignResponse.fromProto(resp)));\n }\n duplicateCampaignAsyncV2(r) {\n const request = r.toApiJson ? r : new DuplicateCampaignRequestV2(r);\n return this.http.post(this._host + \"/campaigns.v1.Campaigns/DuplicateCampaignAsyncV2\", request.toApiJson(), this.apiOptions()).pipe(map(resp => DuplicateCampaignResponse.fromProto(resp)));\n }\n checkDuplicateCampaignStatus(r) {\n const request = r.toApiJson ? r : new CheckDuplicateCampaignStatusRequest(r);\n return this.http.post(this._host + \"/campaigns.v1.Campaigns/CheckDuplicateCampaignStatus\", request.toApiJson(), this.apiOptions()).pipe(map(resp => CheckDuplicateCampaignStatusResponse.fromProto(resp)));\n }\n duplicateAndRecommendCampaign(r) {\n const request = r.toApiJson ? r : new DuplicateAndRecommendCampaignRequest(r);\n return this.http.post(this._host + \"/campaigns.v1.Campaigns/DuplicateAndRecommendCampaign\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n sendRecipientCampaignStepEmail(r) {\n const request = r.toApiJson ? r : new SendRecipientCampaignStepEmailRequest(r);\n return this.http.post(this._host + \"/campaigns.v1.Campaigns/SendRecipientCampaignStepEmail\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n executeStep(r) {\n const request = r.toApiJson ? r : new ExecuteStepRequest(r);\n return this.http.post(this._host + \"/campaigns.v1.Campaigns/ExecuteStep\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n createCampaign(r) {\n const request = r.toApiJson ? r : new CreateCampaignRequest(r);\n return this.http.post(this._host + \"/campaigns.v1.Campaigns/CreateCampaign\", request.toApiJson(), this.apiOptions()).pipe(map(resp => CreateCampaignResponse.fromProto(resp)));\n }\n addStepToCampaign(r) {\n const request = r.toApiJson ? r : new AddStepToCampaignRequest(r);\n return this.http.post(this._host + \"/campaigns.v1.Campaigns/AddStepToCampaign\", request.toApiJson(), this.apiOptions()).pipe(map(resp => StepDataResponse.fromProto(resp)));\n }\n getCampaignStepContent(r) {\n const request = r.toApiJson ? r : new GetCampaignStepContentRequest(r);\n return this.http.post(this._host + \"/campaigns.v1.Campaigns/GetCampaignStepContent\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetCampaignStepContentResponse.fromProto(resp)));\n }\n sendCampaignStepTestEmail(r) {\n const request = r.toApiJson ? r : new SendCampaignStepTestEmailRequest(r);\n return this.http.post(this._host + \"/campaigns.v1.Campaigns/SendCampaignStepTestEmail\", request.toApiJson(), this.apiOptions()).pipe(map(resp => SendCampaignStepTestEmailResponse.fromProto(resp)));\n }\n updateStepOnCampaign(r) {\n const request = r.toApiJson ? r : new UpdateStepOnCampaignRequest(r);\n return this.http.post(this._host + \"/campaigns.v1.Campaigns/UpdateStepOnCampaign\", request.toApiJson(), this.apiOptions()).pipe(map(resp => StepDataResponse.fromProto(resp)));\n }\n listCampaignsV2(r) {\n const request = r.toApiJson ? r : new ListCampaignsV2Request(r);\n return this.http.post(this._host + \"/campaigns.v1.Campaigns/ListCampaignsV2\", request.toApiJson(), this.apiOptions()).pipe(map(resp => ListCampaignsV2Response.fromProto(resp)));\n }\n pauseCampaign(r) {\n const request = r.toApiJson ? r : new PauseCampaignRequest(r);\n return this.http.post(this._host + \"/campaigns.v1.Campaigns/PauseCampaign\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n unpauseCampaign(r) {\n const request = r.toApiJson ? r : new UnpauseCampaignRequest(r);\n return this.http.post(this._host + \"/campaigns.v1.Campaigns/UnpauseCampaign\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n getAvailableStepTypesForSender(r) {\n const request = r.toApiJson ? r : new GetAvailableStepTypesForSenderRequest(r);\n return this.http.post(this._host + \"/campaigns.v1.Campaigns/GetAvailableStepTypesForSender\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetAvailableStepTypesForSenderResponse.fromProto(resp)));\n }\n }\n CampaignsApiService.ɵfac = function CampaignsApiService_Factory(t) {\n return new (t || CampaignsApiService)(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(HostService));\n };\n CampaignsApiService.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: CampaignsApiService,\n factory: CampaignsApiService.ɵfac,\n providedIn: 'root'\n });\n return CampaignsApiService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// API Service.\n// *********************************\nlet EmailBuilderApiService = /*#__PURE__*/(() => {\n class EmailBuilderApiService {\n constructor(http, hostService) {\n this.http = http;\n this.hostService = hostService;\n this._host = this.hostService.hostWithScheme;\n }\n apiOptions() {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n create(r) {\n const request = r.toApiJson ? r : new CreateRequest(r);\n return this.http.post(this._host + \"/campaigns.v1.EmailBuilder/Create\", request.toApiJson(), this.apiOptions()).pipe(map(resp => CreateResponse.fromProto(resp)));\n }\n get(r) {\n const request = r.toApiJson ? r : new GetRequest(r);\n return this.http.post(this._host + \"/campaigns.v1.EmailBuilder/Get\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetResponse.fromProto(resp)));\n }\n update(r) {\n const request = r.toApiJson ? r : new UpdateRequest(r);\n return this.http.post(this._host + \"/campaigns.v1.EmailBuilder/Update\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n delete(r) {\n const request = r.toApiJson ? r : new DeleteRequest(r);\n return this.http.post(this._host + \"/campaigns.v1.EmailBuilder/Delete\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n render(r) {\n const request = r.toApiJson ? r : new RenderRequest(r);\n return this.http.post(this._host + \"/campaigns.v1.EmailBuilder/Render\", request.toApiJson(), this.apiOptions()).pipe(map(resp => RenderResponse.fromProto(resp)));\n }\n convert(r) {\n const request = r.toApiJson ? r : new ConvertLegacyTemplateRequest(r);\n return this.http.post(this._host + \"/campaigns.v1.EmailBuilder/Convert\", request.toApiJson(), this.apiOptions()).pipe(map(resp => ConvertLegacyTemplateResponse.fromProto(resp)));\n }\n }\n EmailBuilderApiService.ɵfac = function EmailBuilderApiService_Factory(t) {\n return new (t || EmailBuilderApiService)(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(HostService));\n };\n EmailBuilderApiService.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: EmailBuilderApiService,\n factory: EmailBuilderApiService.ɵfac,\n providedIn: 'root'\n });\n return EmailBuilderApiService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// API Service.\n// *********************************\nlet EmailTemplateApiService = /*#__PURE__*/(() => {\n class EmailTemplateApiService {\n constructor(http, hostService) {\n this.http = http;\n this.hostService = hostService;\n this._host = this.hostService.hostWithScheme;\n }\n apiOptions() {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n createEmailTemplate(r) {\n const request = r.toApiJson ? r : new CreateEmailTemplateRequest(r);\n return this.http.post(this._host + \"/campaigns.v1.EmailTemplate/CreateEmailTemplate\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n updateEmailTemplate(r) {\n const request = r.toApiJson ? r : new UpdateEmailTemplateRequest(r);\n return this.http.post(this._host + \"/campaigns.v1.EmailTemplate/UpdateEmailTemplate\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n getEmailTemplate(r) {\n const request = r.toApiJson ? r : new GetEmailTemplateRequest(r);\n return this.http.post(this._host + \"/campaigns.v1.EmailTemplate/GetEmailTemplate\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetEmailTemplateResponse.fromProto(resp)));\n }\n getEmailTemplates(r) {\n const request = r.toApiJson ? r : new GetEmailTemplatesRequest(r);\n return this.http.post(this._host + \"/campaigns.v1.EmailTemplate/GetEmailTemplates\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetEmailTemplatesResponse.fromProto(resp)));\n }\n previewEmailTemplate(r) {\n const request = r.toApiJson ? r : new PreviewEmailTemplateRequest(r);\n return this.http.post(this._host + \"/campaigns.v1.EmailTemplate/PreviewEmailTemplate\", request.toApiJson(), this.apiOptions()).pipe(map(resp => PreviewEmailTemplateResponse.fromProto(resp)));\n }\n listLinksInTemplate(r) {\n const request = r.toApiJson ? r : new ListLinksInTemplateRequest(r);\n return this.http.post(this._host + \"/campaigns.v1.EmailTemplate/ListLinksInTemplate\", request.toApiJson(), this.apiOptions()).pipe(map(resp => ListLinksInTemplateResponse.fromProto(resp)));\n }\n extractLinkTrackingDataForTemplate(r) {\n const request = r.toApiJson ? r : new ExtractLinkTrackingDataForTemplateRequest(r);\n return this.http.post(this._host + \"/campaigns.v1.EmailTemplate/ExtractLinkTrackingDataForTemplate\", request.toApiJson(), this.apiOptions()).pipe(map(resp => ExtractLinkTrackingDataForTemplateResponse.fromProto(resp)));\n }\n }\n EmailTemplateApiService.ɵfac = function EmailTemplateApiService_Factory(t) {\n return new (t || EmailTemplateApiService)(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(HostService));\n };\n EmailTemplateApiService.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: EmailTemplateApiService,\n factory: EmailTemplateApiService.ɵfac,\n providedIn: 'root'\n });\n return EmailTemplateApiService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// API Service.\n// *********************************\nlet LegacyAppengineAPIApiService = /*#__PURE__*/(() => {\n class LegacyAppengineAPIApiService {\n constructor(http, hostService) {\n this.http = http;\n this.hostService = hostService;\n this._host = this.hostService.hostWithScheme;\n }\n apiOptions() {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n rateLimitedAddAccountGroupToCampaign(r) {\n const request = r.toApiJson ? r : new LegacyAddAccountGroupToCampaignRequest(r);\n return this.http.post(this._host + \"/campaigns.v1.LegacyAppengineAPIService/RateLimitedAddAccountGroupToCampaign\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n rateLimitedAddToCampaign(r) {\n const request = r.toApiJson ? r : new LegacyRateLimitedAddToCampaignRequest(r);\n return this.http.post(this._host + \"/campaigns.v1.LegacyAppengineAPIService/RateLimitedAddToCampaign\", request.toApiJson(), this.apiOptions()).pipe(map(resp => LegacyRateLimitedAddToCampaignResponse.fromProto(resp)));\n }\n pauseAccountGroupOnCampaign(r) {\n const request = r.toApiJson ? r : new LegacyPauseAccountGroupOnCampaignRequest(r);\n return this.http.post(this._host + \"/campaigns.v1.LegacyAppengineAPIService/PauseAccountGroupOnCampaign\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n getRecipientCampaignsByAgid(r) {\n const request = r.toApiJson ? r : new LegacyGetRecipientCampaignsByAgidRequest(r);\n return this.http.post(this._host + \"/campaigns.v1.LegacyAppengineAPIService/GetRecipientCampaignsByAgid\", request.toApiJson(), this.apiOptions()).pipe(map(resp => LegacyGetRecipientCampaignsByAgidResponse.fromProto(resp)));\n }\n updateRecipientCampaignStatus(r) {\n const request = r.toApiJson ? r : new LegacyUpdateRecipientCampaignStatusRequest(r);\n return this.http.post(this._host + \"/campaigns.v1.LegacyAppengineAPIService/UpdateRecipientCampaignStatus\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n }\n LegacyAppengineAPIApiService.ɵfac = function LegacyAppengineAPIApiService_Factory(t) {\n return new (t || LegacyAppengineAPIApiService)(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(HostService));\n };\n LegacyAppengineAPIApiService.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: LegacyAppengineAPIApiService,\n factory: LegacyAppengineAPIApiService.ɵfac,\n providedIn: 'root'\n });\n return LegacyAppengineAPIApiService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// API Service.\n// *********************************\nlet RecipientApiService = /*#__PURE__*/(() => {\n class RecipientApiService {\n constructor(http, hostService) {\n this.http = http;\n this.hostService = hostService;\n this._host = this.hostService.hostWithScheme;\n }\n apiOptions() {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n createRecipient(r) {\n const request = r.toApiJson ? r : new CreateRecipientRequest(r);\n return this.http.post(this._host + \"/campaigns.v1.Recipient/CreateRecipient\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n updateRecipient(r) {\n const request = r.toApiJson ? r : new UpdateRecipientRequest(r);\n return this.http.post(this._host + \"/campaigns.v1.Recipient/UpdateRecipient\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n getRecipient(r) {\n const request = r.toApiJson ? r : new GetRecipientRequest(r);\n return this.http.post(this._host + \"/campaigns.v1.Recipient/GetRecipient\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetRecipientResponse.fromProto(resp)));\n }\n }\n RecipientApiService.ɵfac = function RecipientApiService_Factory(t) {\n return new (t || RecipientApiService)(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(HostService));\n };\n RecipientApiService.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: RecipientApiService,\n factory: RecipientApiService.ɵfac,\n providedIn: 'root'\n });\n return RecipientApiService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// API Service.\n// *********************************\nlet RecipientCampaignApiService = /*#__PURE__*/(() => {\n class RecipientCampaignApiService {\n constructor(http, hostService) {\n this.http = http;\n this.hostService = hostService;\n this._host = this.hostService.hostWithScheme;\n }\n apiOptions() {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n upsertRecipientCampaign(r) {\n const request = r.toApiJson ? r : new UpsertRecipientCampaignRequest(r);\n return this.http.post(this._host + \"/campaigns.v1.RecipientCampaign/UpsertRecipientCampaign\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n listRecipientCampaigns(r) {\n const request = r.toApiJson ? r : new ListRecipientCampaignsRequest(r);\n return this.http.post(this._host + \"/campaigns.v1.RecipientCampaign/ListRecipientCampaigns\", request.toApiJson(), this.apiOptions()).pipe(map(resp => ListRecipientCampaignsResponse.fromProto(resp)));\n }\n getRecipientCampaign(r) {\n const request = r.toApiJson ? r : new GetRecipientCampaignRequest(r);\n return this.http.post(this._host + \"/campaigns.v1.RecipientCampaign/GetRecipientCampaign\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetRecipientCampaignResponse.fromProto(resp)));\n }\n lookupRecipientCampaign(r) {\n const request = r.toApiJson ? r : new LookupRecipientCampaignRequest(r);\n return this.http.post(this._host + \"/campaigns.v1.RecipientCampaign/LookupRecipientCampaign\", request.toApiJson(), this.apiOptions()).pipe(map(resp => LookupRecipientCampaignResponse.fromProto(resp)));\n }\n lookupRecipientCampaigns(r) {\n const request = r.toApiJson ? r : new LookupRecipientCampaignsRequest(r);\n return this.http.post(this._host + \"/campaigns.v1.RecipientCampaign/LookupRecipientCampaigns\", request.toApiJson(), this.apiOptions()).pipe(map(resp => LookupRecipientCampaignsResponse.fromProto(resp)));\n }\n addContactToCampaign(r) {\n const request = r.toApiJson ? r : new AddContactToCampaignRequest(r);\n return this.http.post(this._host + \"/campaigns.v1.RecipientCampaign/AddContactToCampaign\", request.toApiJson(), this.apiOptions()).pipe(map(resp => AddContactToCampaignResponse.fromProto(resp)));\n }\n bulkAddContactsToCampaign(r) {\n const request = r.toApiJson ? r : new BulkAddContactsToCampaignRequest(r);\n return this.http.post(this._host + \"/campaigns.v1.RecipientCampaign/BulkAddContactsToCampaign\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n }\n RecipientCampaignApiService.ɵfac = function RecipientCampaignApiService_Factory(t) {\n return new (t || RecipientCampaignApiService)(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(HostService));\n };\n RecipientCampaignApiService.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: RecipientCampaignApiService,\n factory: RecipientCampaignApiService.ɵfac,\n providedIn: 'root'\n });\n return RecipientCampaignApiService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// API Service.\n// *********************************\nlet RecipientCampaignActivatedEventApiService = /*#__PURE__*/(() => {\n class RecipientCampaignActivatedEventApiService {\n constructor(http, hostService) {\n this.http = http;\n this.hostService = hostService;\n this._host = this.hostService.hostWithScheme;\n }\n apiOptions() {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n upsertRecipientCampaignActivatedEvent(r) {\n const request = r.toApiJson ? r : new UpsertRecipientCampaignActivatedEventRequest(r);\n return this.http.post(this._host + \"/campaigns.v1.RecipientCampaignActivatedEvent/UpsertRecipientCampaignActivatedEvent\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n }\n RecipientCampaignActivatedEventApiService.ɵfac = function RecipientCampaignActivatedEventApiService_Factory(t) {\n return new (t || RecipientCampaignActivatedEventApiService)(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(HostService));\n };\n RecipientCampaignActivatedEventApiService.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: RecipientCampaignActivatedEventApiService,\n factory: RecipientCampaignActivatedEventApiService.ɵfac,\n providedIn: 'root'\n });\n return RecipientCampaignActivatedEventApiService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// API Service.\n// *********************************\nlet RecipientCampaignStepEventApiService = /*#__PURE__*/(() => {\n class RecipientCampaignStepEventApiService {\n constructor(http, hostService) {\n this.http = http;\n this.hostService = hostService;\n this._host = this.hostService.hostWithScheme;\n }\n apiOptions() {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n createRecipientCampaignStepEvent(r) {\n const request = r.toApiJson ? r : new CreateRecipientCampaignStepEventRequest(r);\n return this.http.post(this._host + \"/campaigns.v1.RecipientCampaignStepEvent/CreateRecipientCampaignStepEvent\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n upsertRecipientCampaignStepEvent(r) {\n const request = r.toApiJson ? r : new UpsertRecipientCampaignStepEventRequest(r);\n return this.http.post(this._host + \"/campaigns.v1.RecipientCampaignStepEvent/UpsertRecipientCampaignStepEvent\", request.toApiJson(), {\n ...this.apiOptions(),\n observe: 'response'\n });\n }\n }\n RecipientCampaignStepEventApiService.ɵfac = function RecipientCampaignStepEventApiService_Factory(t) {\n return new (t || RecipientCampaignStepEventApiService)(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(HostService));\n };\n RecipientCampaignStepEventApiService.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: RecipientCampaignStepEventApiService,\n factory: RecipientCampaignStepEventApiService.ɵfac,\n providedIn: 'root'\n });\n return RecipientCampaignStepEventApiService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Index.\n// *********************************\n\n/**\n * AllDates is a DateFilter which does not apply any filtering. When used in a\n * filter, you can expect to be returned data which spans all possible dates.\n */\nconst AllDates = new DateFilter();\nlet CampaignService = /*#__PURE__*/(() => {\n class CampaignService {\n constructor(api) {\n this.api = api;\n }\n create(sender, name) {\n return this.api.createCampaign({\n name: name,\n sender: sender,\n focus: Focuses.FOCUSES_NONE\n }).pipe(map(v => v.campaignId));\n }\n delete(campaignId) {\n return this.api.deleteCampaign({\n campaignId: campaignId\n }).pipe(map(() => null));\n }\n addStep(sender, campaignId, stepType, contentId, name) {\n const req = {\n campaignId: campaignId,\n stepType: stepType,\n contentId: contentId,\n sender: sender,\n name: name\n };\n return this.api.addStepToCampaign(req).pipe(map(resp => resp));\n }\n updateStep(sender, campaignId, campaignStepId, contentId, name, secondsAfterLastStep, fm) {\n const req = {\n campaignId: campaignId,\n campaignStepId: campaignStepId,\n contentId: contentId,\n sender: sender,\n name: name,\n secondsAfterLastStep: secondsAfterLastStep,\n fieldMask: fm\n };\n return this.api.updateStepOnCampaign(req).pipe(map(resp => resp));\n }\n get(campaignID) {\n return this.api.getCampaign({\n campaignId: campaignID\n }).pipe(map(resp => resp.campaign), map(campaign => {\n campaign.campaignSchedule = campaign.campaignSchedule || [];\n return campaign;\n }));\n }\n getMulti(campaignIDs) {\n return this.api.getMultiCampaigns({\n campaignIds: campaignIDs\n }).pipe(map(resp => resp.campaigns));\n }\n list(partnerID, focuses, statuses, name, pagingOptions) {\n return this.api.listCampaigns(new ListCampaignsRequest({\n partnerId: partnerID,\n focuses: focuses || [],\n statuses: statuses || [],\n pagingOptions: pagingOptions || {},\n name: name\n })).pipe(map(v => (v.campaigns || []).map(vv => {\n vv.campaignSchedule = vv.campaignSchedule || [];\n vv.hiddenForPartners = vv.hiddenForPartners || [];\n return vv;\n })));\n }\n listRecommendedCampaigns(data) {\n return this.api.listRecommendedCampaigns({\n focuses: data.focuses,\n statuses: data.statuses,\n pagingOptions: data.pagingOptions\n }).pipe(map(resp => resp));\n }\n duplicateCampaignStepAsync(campaignId, stepId) {\n const req = {\n campaignId: campaignId,\n campaignStepId: stepId\n };\n return this.api.duplicateCampaignStepAsync(req).pipe(map(v => v.statusId));\n }\n checkCampaignStepDuplicateStatus(workflowStatusId) {\n const req = {\n statusId: workflowStatusId\n };\n return this.api.checkDuplicateCampaignStepStatus(req).pipe(map(v => v.status));\n }\n duplicateCampaignAsync(campaignId, targetPartnerId) {\n const req = {\n campaignId: campaignId,\n partnerId: targetPartnerId\n };\n return this.api.duplicateCampaignAsync(req).pipe(map(v => v.statusId));\n }\n duplicateCampaignAsyncV2(campaignId, sender) {\n const req = {\n campaignId: campaignId,\n sender: sender\n };\n return this.api.duplicateCampaignAsyncV2(req).pipe(map(v => v.statusId));\n }\n checkCampaignDuplicateStatus(workflowStatusId) {\n const req = {\n statusId: workflowStatusId\n };\n return this.api.checkDuplicateCampaignStatus(req);\n }\n getEmailStepContent(campaignId, campaignStepId, data) {\n return this.api.getCampaignStepContent({\n campaignId: campaignId,\n campaignStepId: campaignStepId,\n stepData: data\n });\n }\n sendStepTestEmail(sender, campaignId, campaignStepId, sendToUserId, data) {\n return this.api.sendCampaignStepTestEmail({\n sender: sender,\n campaignId: campaignId,\n campaignStepId: campaignStepId,\n sendToUserId: sendToUserId,\n stepData: data\n });\n }\n updateStatus(sender, campaignID, status) {\n return this.api.upsertCampaign({\n sender: sender,\n campaignId: campaignID,\n status: status,\n fieldMask: {\n paths: [\"Status\"]\n }\n }).pipe(mapTo(undefined));\n }\n updateName(sender, campaignID, name) {\n return this.api.upsertCampaign({\n sender: sender,\n campaignId: campaignID,\n name: name,\n fieldMask: {\n paths: [\"Name\"]\n }\n }).pipe(mapTo(undefined));\n }\n updateCampaignSchedule(sender, campaignID, campaignSchedule) {\n return this.api.upsertCampaign({\n sender: sender,\n campaignId: campaignID,\n campaignSchedule: campaignSchedule,\n fieldMask: {\n paths: [\"CampaignSchedule\"]\n }\n }).pipe(mapTo(undefined));\n }\n updateCampaignLocale(sender, campaignID, locale) {\n return this.api.upsertCampaign({\n sender: sender,\n campaignId: campaignID,\n locale: locale,\n fieldMask: {\n paths: [\"Locale\"]\n }\n }).pipe(mapTo(undefined));\n }\n listCampaignsV2(sender, statuses, searchTerm, pagingOptions, sortOptions) {\n return this.api.listCampaignsV2({\n sender: sender,\n statuses: statuses || [],\n pagingOptions: pagingOptions || {},\n searchTerm: searchTerm,\n sortOptions: sortOptions || {}\n }).pipe(map(resp => resp));\n }\n pauseCampaign(campaignId) {\n return this.api.pauseCampaign({\n campaignId: campaignId\n }).pipe(mapTo(undefined));\n }\n unpauseCampaign(campaignId) {\n return this.api.unpauseCampaign({\n campaignId: campaignId\n }).pipe(mapTo(undefined));\n }\n getAvailableStepTypesForSender(sender) {\n return this.api.getAvailableStepTypesForSender({\n sender: sender\n }).pipe(map(resp => resp));\n }\n }\n CampaignService.ɵfac = function CampaignService_Factory(t) {\n return new (t || CampaignService)(i0.ɵɵinject(CampaignsApiService));\n };\n CampaignService.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: CampaignService,\n factory: CampaignService.ɵfac,\n providedIn: 'root'\n });\n return CampaignService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet RecipientCampaignService = /*#__PURE__*/(() => {\n class RecipientCampaignService {\n constructor(api) {\n this.api = api;\n }\n list(accountGroupID) {\n return this.api.listRecipientCampaigns({\n accountGroupId: accountGroupID\n }).pipe(map(resp => resp.recipientCampaign));\n }\n addToCampaign(campaignId, sender, recipient, date) {\n return this.api.addContactToCampaign({\n campaignId: campaignId,\n sender: sender,\n recipient: recipient,\n date: date\n }).pipe(map(resp => resp));\n }\n bulkAddToCampaign(campaignId, sender, date, filterGroup, searchTerm) {\n return this.api.bulkAddContactsToCampaign({\n campaignId: campaignId,\n sender: sender,\n date: date,\n criteria: {\n filterGroupV2: filterGroup,\n searchTerm: searchTerm\n }\n }).pipe(map(() => null));\n }\n lookupRecipientCampaign(campaignId, sender, recipient) {\n return this.api.lookupRecipientCampaign({\n campaignId: campaignId,\n sender: sender,\n recipient: recipient\n }).pipe(map(resp => resp));\n }\n lookupRecipientCampaigns(campaignId, sender, recipients) {\n return this.api.lookupRecipientCampaigns({\n campaignId: campaignId,\n sender: sender,\n recipients: recipients\n }).pipe(map(resp => resp));\n }\n getRecipientCampaign(recipientCampaignId) {\n return this.api.getRecipientCampaign({\n recipientCampaignId: recipientCampaignId\n }).pipe(map(resp => resp?.recipientCampaign));\n }\n }\n RecipientCampaignService.ɵfac = function RecipientCampaignService_Factory(t) {\n return new (t || RecipientCampaignService)(i0.ɵɵinject(RecipientCampaignApiService));\n };\n RecipientCampaignService.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: RecipientCampaignService,\n factory: RecipientCampaignService.ɵfac,\n providedIn: 'root'\n });\n return RecipientCampaignService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet EmailTemplateService = /*#__PURE__*/(() => {\n class EmailTemplateService {\n constructor(api) {\n this.api = api;\n }\n get(templateID) {\n return this.api.getEmailTemplate({\n templateId: templateID\n }).pipe(map(resp => resp.template));\n }\n listLinksInTemplate(templateID) {\n return this.api.listLinksInTemplate({\n templateId: templateID\n }).pipe(map(resp => resp.links));\n }\n getMulti(templateIDs) {\n return this.api.getEmailTemplates({\n templateIds: templateIDs\n }).pipe(map(resp => resp.templates));\n }\n previewEmailTemplate(templateId, accountGroupId, partnerId, marketId, locale, userId, sender) {\n const req = {\n templateId: templateId,\n accountGroupId: accountGroupId,\n partnerId: partnerId,\n marketId: marketId,\n locale: locale,\n userId: userId,\n sender: sender\n };\n return this.api.previewEmailTemplate(req).pipe(map(v => ({\n htmlBody: v.templateHtml,\n subject: v.subject,\n name: v.name\n })));\n }\n }\n EmailTemplateService.ɵfac = function EmailTemplateService_Factory(t) {\n return new (t || EmailTemplateService)(i0.ɵɵinject(EmailTemplateApiService));\n };\n EmailTemplateService.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: EmailTemplateService,\n factory: EmailTemplateService.ɵfac,\n providedIn: 'root'\n });\n return EmailTemplateService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n/**\n * EmailBuilderTemplates are used by the new EmailBuilder (from @vendasta/email-ui)\n * to create and edit email templates. They are different from the legacy\n * EmailTemplates because they store their editable content as JSON, not HTML.\n */\nlet EmailBuilderTemplateService = /*#__PURE__*/(() => {\n class EmailBuilderTemplateService {\n constructor(api) {\n this.api = api;\n }\n createNewTemplate(template) {\n const req = {\n emailBuilderTemplate: template\n };\n return this.api.create(req).pipe(map(v => v.id));\n }\n getTemplate(id) {\n const req = {\n id: id\n };\n return this.api.get(req).pipe(map(v => v.emailBuilderTemplate));\n }\n updateExistingTemplate(template) {\n const req = {\n emailBuilderTemplate: template\n };\n return this.api.update(req).pipe(mapTo(null));\n }\n convertLegacyTemplate(templateId, partnerId) {\n const req = {\n templateId: templateId,\n partnerId: partnerId\n };\n return this.api.convert(req).pipe(map(v => v.templateId));\n }\n }\n EmailBuilderTemplateService.ɵfac = function EmailBuilderTemplateService_Factory(t) {\n return new (t || EmailBuilderTemplateService)(i0.ɵɵinject(EmailBuilderApiService));\n };\n EmailBuilderTemplateService.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: EmailBuilderTemplateService,\n factory: EmailBuilderTemplateService.ɵfac,\n providedIn: 'root'\n });\n return EmailBuilderTemplateService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet CampaignStatsService = /*#__PURE__*/(() => {\n class CampaignStatsService {\n constructor(api) {\n this.api = api;\n }\n get(data) {\n return this.api.getAggregatedCampaignStats(data).pipe(map(resp => resp));\n }\n list(data) {\n return this.api.listCampaignStats(data).pipe(map(resp => {\n resp.stats = resp.stats || [];\n resp.stats = resp.stats.map(stat => {\n stat.tags = stat.tags || [];\n return stat;\n });\n return resp;\n }));\n }\n getCampaignDetailsStats(data) {\n return this.api.getCampaignDetailsStats(data).pipe(map(resp => resp));\n }\n getLinkStats(data) {\n return this.api.getLinkStats(data).pipe(map(resp => resp));\n }\n getRecipientLinkClickStats(data) {\n return this.api.getRecipientLinkClickStats(data);\n }\n getCampaignStepStats(data) {\n return this.api.getCampaignStepStats(data).pipe(map(resp => resp));\n }\n exportRecipientLinkClickStats(data) {\n return this.api.exportRecipientLinkClickStats(data).pipe(map(() => null));\n }\n listStatsForSender(data) {\n return this.api.listCampaignStatsForSender(data).pipe(map(v => {\n v.stats = v.stats || [];\n return v;\n }));\n }\n }\n CampaignStatsService.ɵfac = function CampaignStatsService_Factory(t) {\n return new (t || CampaignStatsService)(i0.ɵɵinject(CampaignStatsApiService));\n };\n CampaignStatsService.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: CampaignStatsService,\n factory: CampaignStatsService.ɵfac,\n providedIn: 'root'\n });\n return CampaignStatsService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet CampaignTaggingService = /*#__PURE__*/(() => {\n class CampaignTaggingService {\n constructor(api) {\n this.api = api;\n }\n create(senderType, senderId, text, colour) {\n const req = {\n senderType: senderType,\n senderId: senderId,\n text: text,\n colour: colour\n };\n return this.api.create(req).pipe(map(resp => resp.campaignTag));\n }\n listTagsForSender(senderType, senderId, cursor, pageSize) {\n const req = {\n senderType: senderType,\n senderId: senderId,\n cursor: cursor,\n pageSize: pageSize\n };\n return this.api.listTagsForSender(req).pipe(map(v => {\n v.campaignTags = v.campaignTags || [];\n return v;\n }));\n }\n addTagToCampaign(senderType, senderId, campaignId, tagId) {\n const req = {\n senderType: senderType,\n senderId: senderId,\n campaignId: campaignId,\n tagId: tagId\n };\n return this.api.addTagToCampaign(req).pipe(map(() => null));\n }\n removeTagFromCampaign(campaignId, tagId) {\n const req = new RemoveTagFromCampaignRequest({\n campaignId: campaignId,\n tagId: tagId\n });\n return this.api.removeTagFromCampaign(req).pipe(map(() => null));\n }\n listTagsForCampaign(campaignId, cursor, pageSize) {\n const req = {\n campaignId: campaignId,\n cursor: cursor,\n pageSize: pageSize\n };\n return this.api.listTagsForCampaign(req).pipe(map(v => {\n v.campaignTags = v.campaignTags || [];\n return v;\n }));\n }\n deleteTag(senderType, senderId, tagId) {\n const req = {\n senderType: senderType,\n senderId: senderId,\n tagId: tagId\n };\n return this.api.delete(req).pipe(map(() => null));\n }\n }\n CampaignTaggingService.ɵfac = function CampaignTaggingService_Factory(t) {\n return new (t || CampaignTaggingService)(i0.ɵɵinject(CampaignTaggingApiService));\n };\n CampaignTaggingService.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: CampaignTaggingService,\n factory: CampaignTaggingService.ɵfac,\n providedIn: 'root'\n });\n return CampaignTaggingService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet LegacyAppengineService = /*#__PURE__*/(() => {\n class LegacyAppengineService {\n constructor(api) {\n this.api = api;\n }\n updateRecipientCampaignStatus(recipientCampaignId, status) {\n const req = {\n recipientCampaignId: recipientCampaignId,\n status: status\n };\n return this.api.updateRecipientCampaignStatus(req).pipe(map(() => null));\n }\n }\n LegacyAppengineService.ɵfac = function LegacyAppengineService_Factory(t) {\n return new (t || LegacyAppengineService)(i0.ɵɵinject(LegacyAppengineAPIApiService));\n };\n LegacyAppengineService.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: LegacyAppengineService,\n factory: LegacyAppengineService.ɵfac,\n providedIn: 'root'\n });\n return LegacyAppengineService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet ConfigService = /*#__PURE__*/(() => {\n class ConfigService {\n constructor(api) {\n this.api = api;\n }\n getConfig(campaignId) {\n const req = {\n campaignId: campaignId\n };\n return this.api.getConfig(req);\n }\n updateConfig(campaignId, timeZoneForEmailsSent, daysEmailsCanBeSent, recipientsAddedRateLimitEnabled, recipientsAddedRateLimit, sender, emailsCanbeSent) {\n const req = {\n campaignId: campaignId,\n timeZoneForEmailsSent: timeZoneForEmailsSent,\n daysEmailsCanBeSent: daysEmailsCanBeSent,\n recipientsAddedRateLimitEnabled: recipientsAddedRateLimitEnabled,\n recipientsAddedRateLimit: recipientsAddedRateLimit,\n sender: sender,\n emailSchedulingDay: emailsCanbeSent\n };\n return this.api.updateConfig(req);\n }\n }\n ConfigService.ɵfac = function ConfigService_Factory(t) {\n return new (t || ConfigService)(i0.ɵɵinject(CampaignConfigApiService));\n };\n ConfigService.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: ConfigService,\n factory: ConfigService.ɵfac,\n providedIn: 'root'\n });\n return ConfigService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet ActivationService = /*#__PURE__*/(() => {\n class ActivationService {\n constructor(api) {\n this.api = api;\n }\n isFeatureActive(sender, feature) {\n const req = {\n sender: sender,\n featureId: feature\n };\n return this.api.isFeatureActive(req).pipe(map(v => v));\n }\n }\n ActivationService.ɵfac = function ActivationService_Factory(t) {\n return new (t || ActivationService)(i0.ɵɵinject(ActivationsApiService));\n };\n ActivationService.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: ActivationService,\n factory: ActivationService.ɵfac,\n providedIn: 'root'\n });\n return ActivationService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\nlet QuotaService = /*#__PURE__*/(() => {\n class QuotaService {\n constructor(api) {\n this.api = api;\n }\n getCampaignQuota(sender, type, datePeriod) {\n const req = {\n sender: sender,\n type: type,\n datePeriod: datePeriod\n };\n return this.api.getCampaignQuota(req);\n }\n }\n QuotaService.ɵfac = function QuotaService_Factory(t) {\n return new (t || QuotaService)(i0.ɵɵinject(CampaignQuotaApiService));\n };\n QuotaService.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: QuotaService,\n factory: QuotaService.ɵfac,\n providedIn: 'root'\n });\n return QuotaService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { Access, ActivateProductForSenderRequest, ActivationService, AddContactToCampaignRequest, AddContactToCampaignResponse, AddStepToCampaignRequest, AddTagToCampaignRequest, AllDates, AsyncWorkStatus, BulkAddContactsToCampaignRequest, CampaignDetailStats, CampaignQuotaCategory, CampaignRecipient, CampaignScheduleStatus, CampaignService, CampaignState, CampaignStatsService, CampaignStepEvent, CampaignStepEventType, CampaignStepInterface, CampaignStepSendStatusType, CampaignStepStats, CampaignStepType, CampaignTag, CampaignTaggingService, CheckDuplicateCampaignStatusRequest, CheckDuplicateCampaignStatusResponse, CheckDuplicateCampaignStepStatusRequest, CheckDuplicateCampaignStepStatusResponse, Colors, ConfigService, Contact, ContactType, ConvertLegacyTemplateRequest, ConvertLegacyTemplateResponse, CreateCampaignRequest, CreateCampaignResponse, CreateEmailTemplateRequest, CreateQuotaRequest, CreateRecipientCampaignStepEventRequest, CreateRecipientRequest, CreateRequest, CreateResponse, CreateTagRequest, CreateTagResponse, DateDefault, DateFilter, DaysOfTheWeek, DeactivateProductForSenderRequest, DeleteCampaignRequest, DeleteRequest, DeleteTagRequest, DeletedTagsPolicy, DuplicateAndRecommendCampaignRequest, DuplicateCampaignDetails, DuplicateCampaignRequest, DuplicateCampaignRequestV2, DuplicateCampaignResponse, DuplicateCampaignStepRequest, DuplicateCampaignStepResponse, DuplicateCampaignStepStatus, EmailBuilderConfiguration, EmailBuilderTemplate, EmailBuilderTemplateFocuses, EmailBuilderTemplateService, EmailBuilderTemplateStatuses, EmailTemplateService, EmailTemplateStruct, ExecuteStepRequest, ExportRecipientLinkClickStatsRequest, ExtractLinkTrackingDataForTemplateRequest, ExtractLinkTrackingDataForTemplateResponse, Feature, FieldMask, Filter, FilterGroup, FilterGroupOperator, FilterOperator, FilterType, FilterValue, Focuses, Footer, GetAggregatedCampaignStatsRequest, GetAggregatedCampaignStatsResponse, GetAvailableStepTypesForSenderRequest, GetAvailableStepTypesForSenderResponse, GetCampaignDetailsStatsRequest, GetCampaignDetailsStatsResponse, GetCampaignQuotaRequest, GetCampaignQuotaResponse, GetCampaignRequest, GetCampaignResponse, GetCampaignStepContentRequest, GetCampaignStepContentRequestStepDataEntry, GetCampaignStepContentResponse, GetCampaignStepStatsRequest, GetCampaignStepStatsResponse, GetConfigRequest, GetConfigResponse, GetEmailTemplateRequest, GetEmailTemplateResponse, GetEmailTemplatesRequest, GetEmailTemplatesResponse, GetLinkStatsRequest, GetLinkStatsResponse, GetMultiCampaignsRequest, GetMultiCampaignsResponse, GetRecipientCampaignRequest, GetRecipientCampaignResponse, GetRecipientLinkClickStatsRequest, GetRecipientLinkClickStatsRequestPagedRequestOptions, GetRecipientLinkClickStatsResponse, GetRecipientRequest, GetRecipientResponse, GetRequest, GetResponse, GetterCampaignData, GoogleAnalyticsOptions, ImageAlign, IsFeatureActiveForSenderRequest, IsFeatureActiveForSenderResponse, IsProductActiveForSenderRequest, IsProductActiveForSenderResponse, LegacyAddAccountGroupToCampaignRequest, LegacyAppengineService, LegacyGetRecipientCampaignsByAgidRequest, LegacyGetRecipientCampaignsByAgidResponse, LegacyPauseAccountGroupOnCampaignRequest, LegacyRateLimitedAddToCampaignRequest, LegacyRateLimitedAddToCampaignResponse, LegacyUpdateRecipientCampaignStatusRequest, LinkStats, LinkTrackingData, ListCampaignStatsForSenderRequest, ListCampaignStatsForSenderResponse, ListCampaignStatsRequest, ListCampaignStatsResponse, ListCampaignStatsStruct, ListCampaignTagDetails, ListCampaignsRequest, ListCampaignsResponse, ListCampaignsV2Request, ListCampaignsV2Response, ListLinksInTemplateRequest, ListLinksInTemplateResponse, ListRecipientCampaignsRequest, ListRecipientCampaignsResponse, ListRecommendedCampaignsRequest, ListTagsForCampaignRequest, ListTagsForCampaignResponse, ListTagsForSenderRequest, ListTagsForSenderResponse, LookupRecipientCampaignRequest, LookupRecipientCampaignResponse, LookupRecipientCampaignsRequest, LookupRecipientCampaignsResponse, PageSetup, PagedRequestOptions, PagedResponseMetadata, PauseCampaignRequest, Period, PreviewEmailTemplateRequest, PreviewEmailTemplateResponse, QuotaService, RecipientCampaignPair, RecipientCampaignService, RecipientCampaignStatus, RecipientCampaignStepEventStruct, RecipientCampaignStruct, RecipientClickStats, RecipientClickStatsAccount, RecipientClickStatsRecipient, RecipientCriteria, RecipientType, RecipientV2, RemoveTagFromCampaignRequest, RenderRequest, RenderResponse, ScheduledCampaignStepInterface, SendCampaignStepTestEmailRequest, SendCampaignStepTestEmailRequestStepDataEntry, SendCampaignStepTestEmailResponse, SendRecipientCampaignStepEmailRequest, Sender, SenderType, SortDirection, SortField, SortOptions, Statuses, StepDataResponse, TemplateReference, TemplateStatus, TopLogo, UnpauseCampaignRequest, UpdateCampaignNameRequest, UpdateConfigRequest, UpdateConfigResponse, UpdateEmailTemplateRequest, UpdateQuotaLimitRequest, UpdateRecipientRequest, UpdateRequest, UpdateStepOnCampaignRequest, UpsertCampaignRequest, UpsertConfigRequest, UpsertRecipientCampaignActivatedEventRequest, UpsertRecipientCampaignRequest, UpsertRecipientCampaignStepEventRequest };\n"],"mappings":"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","names":["EmailBuilderTemplateFocuses","ImageAlign","EmailBuilderTemplateStatuses","DateDefault","FilterGroupOperator","FilterOperator","AsyncWorkStatus","CampaignQuotaCategory","CampaignScheduleStatus","CampaignState","CampaignStepEventType","CampaignStepSendStatusType","CampaignStepType","ContactType","DaysOfTheWeek","DeletedTagsPolicy","DuplicateCampaignStepStatus","Feature","Focuses","Period","RecipientCampaignStatus","RecipientType","SenderType","SortDirection","SortField","Statuses","TemplateStatus","enumStringToValue$4","enumRef","value","Colors","_Colors","proto","m","kwargs","toReturn","EmailBuilderConfiguration","_EmailBuilderConfiguration","GoogleAnalyticsOptions","PageSetup","TopLogo","Footer","EmailBuilderTemplate","_EmailBuilderTemplate","EmailBuilderTemplateFocuses","EmailBuilderTemplateStatuses","TemplateReference","_Footer","_GoogleAnalyticsOptions","_PageSetup","_TemplateReference","_TopLogo","ImageAlign","FieldMask","_FieldMask","proto","m","kwargs","toReturn","enumStringToValue$1","enumRef","value","Filter","_Filter","proto","m","FilterOperator","FilterValue","kwargs","toReturn","FilterGroup","_FilterGroup","FilterGroupOperator","_FilterValue","DateDefault","enumStringToValue","RecipientClickStatsAccount","_RecipientClickStatsAccount","ActivateProductForSenderRequest","_ActivateProductForSenderRequest","Sender","AddContactToCampaignRequest","_AddContactToCampaignRequest","RecipientV2","AddContactToCampaignResponse","_AddContactToCampaignResponse","AddStepToCampaignRequest","_AddStepToCampaignRequest","CampaignStepType","AddTagToCampaignRequest","_AddTagToCampaignRequest","SenderType","BulkAddContactsToCampaignRequest","_BulkAddContactsToCampaignRequest","RecipientCriteria","CampaignDetailStats","_CampaignDetailStats","CampaignRecipient","_CampaignRecipient","CampaignStepEvent","_CampaignStepEvent","CampaignStepEventType","CampaignStepInterface","_CampaignStepInterface","CampaignStepStats","_CampaignStepStats","CampaignTag","_CampaignTag","CheckDuplicateCampaignStatusRequest","_CheckDuplicateCampaignStatusRequest","CheckDuplicateCampaignStatusResponse","_CheckDuplicateCampaignStatusResponse","AsyncWorkStatus","CheckDuplicateCampaignStepStatusRequest","_CheckDuplicateCampaignStepStatusRequest","CheckDuplicateCampaignStepStatusResponse","_CheckDuplicateCampaignStepStatusResponse","DuplicateCampaignStepStatus","Contact","_Contact","ContactType","ConvertLegacyTemplateRequest","_ConvertLegacyTemplateRequest","ConvertLegacyTemplateResponse","_ConvertLegacyTemplateResponse","CreateCampaignRequest","_CreateCampaignRequest","Focuses","CreateCampaignResponse","_CreateCampaignResponse","CreateEmailTemplateRequest","_CreateEmailTemplateRequest","EmailTemplateStruct","CreateQuotaRequest","_CreateQuotaRequest","CampaignQuotaCategory","CreateRequest","_CreateRequest","proto","m","EmailBuilderTemplate","kwargs","toReturn","CreateResponse","_CreateResponse","CreateTagRequest","_CreateTagRequest","enumStringToValue","SenderType","CreateTagResponse","_CreateTagResponse","CampaignTag","DateFilter","_DateFilter","DeactivateProductForSenderRequest","_DeactivateProductForSenderRequest","Sender","DeleteCampaignRequest","_DeleteCampaignRequest","DeleteRequest","_DeleteRequest","DeleteTagRequest","_DeleteTagRequest","DuplicateAndRecommendCampaignRequest","_DuplicateAndRecommendCampaignRequest","DuplicateCampaignDetails","_DuplicateCampaignDetails","DuplicateCampaignRequest","_DuplicateCampaignRequest","DuplicateCampaignRequestV2","_DuplicateCampaignRequestV2","DuplicateCampaignResponse","_DuplicateCampaignResponse","DuplicateCampaignStepRequest","_DuplicateCampaignStepRequest","DuplicateCampaignStepResponse","_DuplicateCampaignStepResponse","EmailTemplateStruct","_EmailTemplateStruct","Focuses","TemplateStatus","ExecuteStepRequest","_ExecuteStepRequest","ExportRecipientLinkClickStatsRequest","_ExportRecipientLinkClickStatsRequest","ExtractLinkTrackingDataForTemplateRequest","_ExtractLinkTrackingDataForTemplateRequest","ExtractLinkTrackingDataForTemplateResponse","_ExtractLinkTrackingDataForTemplateResponse","LinkTrackingData","GetAggregatedCampaignStatsRequest","_GetAggregatedCampaignStatsRequest","v","Statuses","CampaignState","GetAggregatedCampaignStatsResponse","_GetAggregatedCampaignStatsResponse","GetAvailableStepTypesForSenderRequest","_GetAvailableStepTypesForSenderRequest","GetAvailableStepTypesForSenderResponse","_GetAvailableStepTypesForSenderResponse","Feature","GetCampaignDetailsStatsRequest","_GetCampaignDetailsStatsRequest","GetCampaignDetailsStatsResponse","_GetCampaignDetailsStatsResponse","CampaignDetailStats","GetCampaignQuotaRequest","_GetCampaignQuotaRequest","CampaignQuotaCategory","Period","GetCampaignQuotaResponse","_GetCampaignQuotaResponse","GetCampaignRequest","_GetCampaignRequest","GetCampaignResponse","_GetCampaignResponse","GetterCampaignData","GetCampaignStepContentRequest","_GetCampaignStepContentRequest","obj","k","GetCampaignStepContentResponse","_GetCampaignStepContentResponse","GetCampaignStepStatsRequest","_GetCampaignStepStatsRequest","GetCampaignStepStatsResponse","_GetCampaignStepStatsResponse","CampaignStepStats","GetConfigRequest","_GetConfigRequest","GetConfigResponse","_GetConfigResponse","GetEmailTemplateRequest","_GetEmailTemplateRequest","GetEmailTemplateResponse","_GetEmailTemplateResponse","GetEmailTemplatesRequest","_GetEmailTemplatesRequest","GetEmailTemplatesResponse","_GetEmailTemplatesResponse","GetLinkStatsRequest","_GetLinkStatsRequest","GetLinkStatsResponse","_GetLinkStatsResponse","LinkStats","GetMultiCampaignsRequest","_GetMultiCampaignsRequest","GetMultiCampaignsResponse","_GetMultiCampaignsResponse","GetRecipientCampaignRequest","_GetRecipientCampaignRequest","GetRecipientCampaignResponse","_GetRecipientCampaignResponse","RecipientCampaignStruct","GetRecipientLinkClickStatsRequest","_GetRecipientLinkClickStatsRequest","GetRecipientLinkClickStatsRequestPagedRequestOptions","GetRecipientLinkClickStatsResponse","_GetRecipientLinkClickStatsResponse","PagedResponseMetadata","RecipientClickStats","GetRequest","_GetRequest","proto","m","kwargs","toReturn","GetResponse","_GetResponse","EmailBuilderTemplate","GetterCampaignData","_GetterCampaignData","enumStringToValue","Focuses","CampaignStepInterface","Statuses","IsFeatureActiveForSenderRequest","_IsFeatureActiveForSenderRequest","Sender","Feature","IsFeatureActiveForSenderResponse","_IsFeatureActiveForSenderResponse","IsProductActiveForSenderRequest","_IsProductActiveForSenderRequest","IsProductActiveForSenderResponse","_IsProductActiveForSenderResponse","LegacyAddAccountGroupToCampaignRequest","_LegacyAddAccountGroupToCampaignRequest","LegacyGetRecipientCampaignsByAgidRequest","_LegacyGetRecipientCampaignsByAgidRequest","LegacyGetRecipientCampaignsByAgidResponse","_LegacyGetRecipientCampaignsByAgidResponse","RecipientCampaignPair","LegacyPauseAccountGroupOnCampaignRequest","_LegacyPauseAccountGroupOnCampaignRequest","LegacyRateLimitedAddToCampaignRequest","_LegacyRateLimitedAddToCampaignRequest","LegacyRateLimitedAddToCampaignResponse","_LegacyRateLimitedAddToCampaignResponse","LegacyUpdateRecipientCampaignStatusRequest","_LegacyUpdateRecipientCampaignStatusRequest","RecipientCampaignStatus","LinkStats","_LinkStats","LinkTrackingData","_LinkTrackingData","ListCampaignStatsForSenderRequest","_ListCampaignStatsForSenderRequest","v","CampaignState","PagedRequestOptions","DeletedTagsPolicy","SortOptions","ListCampaignStatsForSenderResponse","_ListCampaignStatsForSenderResponse","ListCampaignStatsStruct","PagedResponseMetadata","ListCampaignStatsRequest","_ListCampaignStatsRequest","ListCampaignStatsResponse","_ListCampaignStatsResponse","_ListCampaignStatsStruct","ListCampaignTagDetails","_ListCampaignTagDetails","ListCampaignsRequest","_ListCampaignsRequest","ListCampaignsResponse","_ListCampaignsResponse","ListCampaignsV2Request","_ListCampaignsV2Request","ListCampaignsV2Response","_ListCampaignsV2Response","ListLinksInTemplateRequest","_ListLinksInTemplateRequest","ListLinksInTemplateResponse","_ListLinksInTemplateResponse","ListRecipientCampaignsRequest","_ListRecipientCampaignsRequest","ListRecipientCampaignsResponse","_ListRecipientCampaignsResponse","RecipientCampaignStruct","ListRecommendedCampaignsRequest","_ListRecommendedCampaignsRequest","ListTagsForCampaignRequest","_ListTagsForCampaignRequest","ListTagsForCampaignResponse","_ListTagsForCampaignResponse","CampaignTag","ListTagsForSenderRequest","_ListTagsForSenderRequest","SenderType","ListTagsForSenderResponse","_ListTagsForSenderResponse","LookupRecipientCampaignRequest","_LookupRecipientCampaignRequest","RecipientV2","LookupRecipientCampaignResponse","_LookupRecipientCampaignResponse","LookupRecipientCampaignsRequest","_LookupRecipientCampaignsRequest","LookupRecipientCampaignsResponse","_LookupRecipientCampaignsResponse","GetRecipientLinkClickStatsRequestPagedRequestOptions","_GetRecipientLinkClickStatsRequestPagedRequestOptions","_PagedRequestOptions","_PagedResponseMetadata","PauseCampaignRequest","_PauseCampaignRequest","PreviewEmailTemplateRequest","_PreviewEmailTemplateRequest","PreviewEmailTemplateResponse","_PreviewEmailTemplateResponse","RecipientClickStatsRecipient","_RecipientClickStatsRecipient","_RecipientCampaignPair","CampaignRecipient","RecipientCampaignStruct","_RecipientCampaignStruct","proto","m","enumStringToValue","CampaignScheduleStatus","ScheduledCampaignStepInterface","kwargs","toReturn","RecipientClickStats","_RecipientClickStats","RecipientClickStatsRecipient","RecipientClickStatsAccount","RecipientCriteria","_RecipientCriteria","FilterGroup","RecipientV2","_RecipientV2","RecipientType","Contact","RemoveTagFromCampaignRequest","_RemoveTagFromCampaignRequest","RenderRequest","_RenderRequest","EmailBuilderTemplate","RenderResponse","_RenderResponse","_ScheduledCampaignStepInterface","CampaignStepType","CampaignStepSendStatusType","CampaignStepEvent","SendCampaignStepTestEmailRequest","_SendCampaignStepTestEmailRequest","Sender","obj","k","SendCampaignStepTestEmailResponse","_SendCampaignStepTestEmailResponse","SendRecipientCampaignStepEmailRequest","_SendRecipientCampaignStepEmailRequest","_Sender","SenderType","SortOptions","_SortOptions","SortField","SortDirection","StepDataResponse","_StepDataResponse","proto","m","kwargs","toReturn","UnpauseCampaignRequest","_UnpauseCampaignRequest","UpdateCampaignNameRequest","_UpdateCampaignNameRequest","UpdateConfigRequest","_UpdateConfigRequest","v","enumStringToValue","DaysOfTheWeek","Sender","UpdateConfigResponse","_UpdateConfigResponse","UpdateEmailTemplateRequest","_UpdateEmailTemplateRequest","UpdateQuotaLimitRequest","_UpdateQuotaLimitRequest","CampaignQuotaCategory","UpdateRequest","_UpdateRequest","proto","m","EmailBuilderTemplate","FieldMask","kwargs","toReturn","UpdateStepOnCampaignRequest","_UpdateStepOnCampaignRequest","Sender","UpsertCampaignRequest","_UpsertCampaignRequest","enumStringToValue","Focuses","Statuses","CampaignStepInterface","UpsertConfigRequest","_UpsertConfigRequest","v","DaysOfTheWeek","UpsertRecipientCampaignRequest","_UpsertRecipientCampaignRequest","proto","m","enumStringToValue","CampaignScheduleStatus","ScheduledCampaignStepInterface","FieldMask","kwargs","toReturn","environment","hostMap","HostService","t","ɵɵdefineInjectable","ActivationsApiService","http","hostService","HttpHeaders","r","request","ActivateProductForSenderRequest","__spreadProps","__spreadValues","IsProductActiveForSenderRequest","map","resp","IsProductActiveForSenderResponse","DeactivateProductForSenderRequest","IsFeatureActiveForSenderRequest","IsFeatureActiveForSenderResponse","ɵɵinject","HttpClient","CampaignConfigApiService","UpsertConfigRequest","GetConfigRequest","GetConfigResponse","UpdateConfigRequest","UpdateConfigResponse","CampaignQuotaApiService","GetCampaignQuotaRequest","GetCampaignQuotaResponse","CreateQuotaRequest","UpdateQuotaLimitRequest","CampaignStatsApiService","GetAggregatedCampaignStatsRequest","GetAggregatedCampaignStatsResponse","ListCampaignStatsRequest","ListCampaignStatsResponse","GetCampaignDetailsStatsRequest","GetCampaignDetailsStatsResponse","GetLinkStatsRequest","GetLinkStatsResponse","GetRecipientLinkClickStatsRequest","GetRecipientLinkClickStatsResponse","GetCampaignStepStatsRequest","GetCampaignStepStatsResponse","ExportRecipientLinkClickStatsRequest","ListCampaignStatsForSenderRequest","ListCampaignStatsForSenderResponse","CampaignTaggingApiService","CreateTagRequest","CreateTagResponse","ListTagsForSenderRequest","ListTagsForSenderResponse","AddTagToCampaignRequest","RemoveTagFromCampaignRequest","ListTagsForCampaignRequest","ListTagsForCampaignResponse","DeleteTagRequest","CampaignsApiService","DeleteCampaignRequest","UpsertCampaignRequest","UpdateCampaignNameRequest","ListCampaignsRequest","ListCampaignsResponse","ListRecommendedCampaignsRequest","GetCampaignRequest","GetCampaignResponse","GetMultiCampaignsRequest","GetMultiCampaignsResponse","DuplicateCampaignStepRequest","DuplicateCampaignStepResponse","CheckDuplicateCampaignStepStatusRequest","CheckDuplicateCampaignStepStatusResponse","DuplicateCampaignRequest","DuplicateCampaignResponse","DuplicateCampaignRequestV2","CheckDuplicateCampaignStatusRequest","CheckDuplicateCampaignStatusResponse","DuplicateAndRecommendCampaignRequest","SendRecipientCampaignStepEmailRequest","ExecuteStepRequest","CreateCampaignRequest","CreateCampaignResponse","AddStepToCampaignRequest","StepDataResponse","GetCampaignStepContentRequest","GetCampaignStepContentResponse","SendCampaignStepTestEmailRequest","SendCampaignStepTestEmailResponse","UpdateStepOnCampaignRequest","ListCampaignsV2Request","ListCampaignsV2Response","PauseCampaignRequest","UnpauseCampaignRequest","GetAvailableStepTypesForSenderRequest","GetAvailableStepTypesForSenderResponse","EmailBuilderApiService","CreateRequest","CreateResponse","GetRequest","GetResponse","UpdateRequest","DeleteRequest","RenderRequest","RenderResponse","ConvertLegacyTemplateRequest","ConvertLegacyTemplateResponse","EmailTemplateApiService","CreateEmailTemplateRequest","UpdateEmailTemplateRequest","GetEmailTemplateRequest","GetEmailTemplateResponse","GetEmailTemplatesRequest","GetEmailTemplatesResponse","PreviewEmailTemplateRequest","PreviewEmailTemplateResponse","ListLinksInTemplateRequest","ListLinksInTemplateResponse","ExtractLinkTrackingDataForTemplateRequest","ExtractLinkTrackingDataForTemplateResponse","LegacyAppengineAPIApiService","LegacyAddAccountGroupToCampaignRequest","LegacyRateLimitedAddToCampaignRequest","LegacyRateLimitedAddToCampaignResponse","LegacyPauseAccountGroupOnCampaignRequest","LegacyGetRecipientCampaignsByAgidRequest","LegacyGetRecipientCampaignsByAgidResponse","LegacyUpdateRecipientCampaignStatusRequest","RecipientCampaignApiService","http","hostService","HttpHeaders","r","request","UpsertRecipientCampaignRequest","__spreadProps","__spreadValues","ListRecipientCampaignsRequest","map","resp","ListRecipientCampaignsResponse","GetRecipientCampaignRequest","GetRecipientCampaignResponse","LookupRecipientCampaignRequest","LookupRecipientCampaignResponse","LookupRecipientCampaignsRequest","LookupRecipientCampaignsResponse","AddContactToCampaignRequest","AddContactToCampaignResponse","BulkAddContactsToCampaignRequest","t","ɵɵinject","HttpClient","HostService","ɵɵdefineInjectable","AllDates","DateFilter","CampaignService","api","sender","name","Focuses","map","v","campaignId","stepType","contentId","req","resp","campaignStepId","secondsAfterLastStep","fm","campaignID","campaign","campaignIDs","partnerID","focuses","statuses","pagingOptions","ListCampaignsRequest","vv","data","stepId","workflowStatusId","targetPartnerId","sendToUserId","status","mapTo","campaignSchedule","locale","searchTerm","sortOptions","t","ɵɵinject","CampaignsApiService","ɵɵdefineInjectable","RecipientCampaignService","accountGroupID","recipient","date","filterGroup","recipients","recipientCampaignId","RecipientCampaignApiService","EmailTemplateService","templateID","templateIDs","templateId","accountGroupId","partnerId","marketId","userId","EmailTemplateApiService","EmailBuilderTemplateService","template","id","EmailBuilderApiService","CampaignStatsService","stat","CampaignStatsApiService","CampaignTaggingService","senderType","senderId","text","colour","cursor","pageSize","tagId","RemoveTagFromCampaignRequest","CampaignTaggingApiService","LegacyAppengineService","LegacyAppengineAPIApiService","ConfigService","timeZoneForEmailsSent","daysEmailsCanBeSent","recipientsAddedRateLimitEnabled","recipientsAddedRateLimit","emailsCanbeSent","CampaignConfigApiService","ActivationService","feature","ActivationsApiService","QuotaService","type","datePeriod","CampaignQuotaApiService"],"x_google_ignoreList":[0]}