@servicetitan/titan-chatbot-api 7.1.1 → 8.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (112) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/dist/api-client/__mocks__/chatbot-api-client.mock.js +21 -47
  3. package/dist/api-client/__mocks__/chatbot-api-client.mock.js.map +1 -1
  4. package/dist/api-client/base/chatbot-api-client.js +3 -4
  5. package/dist/api-client/base/chatbot-api-client.js.map +1 -1
  6. package/dist/api-client/help-center/__tests__/converter-from-models.test.js +48 -15
  7. package/dist/api-client/help-center/__tests__/converter-from-models.test.js.map +1 -1
  8. package/dist/api-client/help-center/__tests__/converter-to-models.test.js +23 -22
  9. package/dist/api-client/help-center/__tests__/converter-to-models.test.js.map +1 -1
  10. package/dist/api-client/help-center/chatbot-api-client.js +51 -52
  11. package/dist/api-client/help-center/chatbot-api-client.js.map +1 -1
  12. package/dist/api-client/help-center/converter-from-models.js +15 -12
  13. package/dist/api-client/help-center/converter-from-models.js.map +1 -1
  14. package/dist/api-client/help-center/converter-to-models.js +29 -26
  15. package/dist/api-client/help-center/converter-to-models.js.map +1 -1
  16. package/dist/api-client/help-center/index.d.ts +2 -1
  17. package/dist/api-client/help-center/index.d.ts.map +1 -1
  18. package/dist/api-client/help-center/index.js +1 -0
  19. package/dist/api-client/help-center/index.js.map +1 -1
  20. package/dist/api-client/help-center/native-client.js +1192 -2884
  21. package/dist/api-client/help-center/native-client.js.map +1 -1
  22. package/dist/api-client/index.d.ts +2 -1
  23. package/dist/api-client/index.d.ts.map +1 -1
  24. package/dist/api-client/index.js +14 -7
  25. package/dist/api-client/index.js.map +1 -1
  26. package/dist/api-client/models/__mocks__/models.mock.js +154 -124
  27. package/dist/api-client/models/__mocks__/models.mock.js.map +1 -1
  28. package/dist/api-client/models/index.d.ts +2 -1
  29. package/dist/api-client/models/index.d.ts.map +1 -1
  30. package/dist/api-client/models/index.js +8 -7
  31. package/dist/api-client/models/index.js.map +1 -1
  32. package/dist/api-client/titan-chat/__tests__/native-client.test.js +6 -6
  33. package/dist/api-client/titan-chat/__tests__/native-client.test.js.map +1 -1
  34. package/dist/api-client/titan-chat/chatbot-api-client.js +40 -35
  35. package/dist/api-client/titan-chat/chatbot-api-client.js.map +1 -1
  36. package/dist/api-client/titan-chat/index.d.ts +2 -1
  37. package/dist/api-client/titan-chat/index.d.ts.map +1 -1
  38. package/dist/api-client/titan-chat/index.js +1 -0
  39. package/dist/api-client/titan-chat/index.js.map +1 -1
  40. package/dist/api-client/titan-chat/native-client.d.ts +14 -14
  41. package/dist/api-client/titan-chat/native-client.d.ts.map +1 -1
  42. package/dist/api-client/titan-chat/native-client.js +359 -809
  43. package/dist/api-client/titan-chat/native-client.js.map +1 -1
  44. package/dist/api-client/utils/__tests__/model-utils.test.js +454 -191
  45. package/dist/api-client/utils/__tests__/model-utils.test.js.map +1 -1
  46. package/dist/api-client/utils/model-utils.d.ts.map +1 -1
  47. package/dist/api-client/utils/model-utils.js +28 -25
  48. package/dist/api-client/utils/model-utils.js.map +1 -1
  49. package/dist/hooks/use-customization-chatbot.js +2 -1
  50. package/dist/hooks/use-customization-chatbot.js.map +1 -1
  51. package/dist/index.d.ts +1 -1
  52. package/dist/index.d.ts.map +1 -1
  53. package/dist/index.js +6 -5
  54. package/dist/index.js.map +1 -1
  55. package/dist/models/chatbot-customizations.js +2 -1
  56. package/dist/models/chatbot-customizations.js.map +1 -1
  57. package/dist/models/index.d.ts +1 -1
  58. package/dist/models/index.d.ts.map +1 -1
  59. package/dist/models/index.js +2 -1
  60. package/dist/models/index.js.map +1 -1
  61. package/dist/stores/__tests__/chatbot-ui-backend.store.test.js +267 -172
  62. package/dist/stores/__tests__/chatbot-ui-backend.store.test.js.map +1 -1
  63. package/dist/stores/__tests__/chatbot-ui.store.test.js +61 -64
  64. package/dist/stores/__tests__/chatbot-ui.store.test.js.map +1 -1
  65. package/dist/stores/__tests__/filter.store.test.js +243 -116
  66. package/dist/stores/__tests__/filter.store.test.js.map +1 -1
  67. package/dist/stores/__tests__/initialize.store.test.js +9 -8
  68. package/dist/stores/__tests__/initialize.store.test.js.map +1 -1
  69. package/dist/stores/__tests__/message-feedback-guardrail.store.test.js +8 -7
  70. package/dist/stores/__tests__/message-feedback-guardrail.store.test.js.map +1 -1
  71. package/dist/stores/__tests__/message-feedback.store.test.js +34 -27
  72. package/dist/stores/__tests__/message-feedback.store.test.js.map +1 -1
  73. package/dist/stores/__tests__/session-feedback.store.test.js +9 -8
  74. package/dist/stores/__tests__/session-feedback.store.test.js.map +1 -1
  75. package/dist/stores/chatbot-ui-backend.store.js +171 -240
  76. package/dist/stores/chatbot-ui-backend.store.js.map +1 -1
  77. package/dist/stores/chatbot-ui.store.js +73 -46
  78. package/dist/stores/chatbot-ui.store.js.map +1 -1
  79. package/dist/stores/filter.store.js +298 -378
  80. package/dist/stores/filter.store.js.map +1 -1
  81. package/dist/stores/index.d.ts +5 -3
  82. package/dist/stores/index.d.ts.map +1 -1
  83. package/dist/stores/index.js +3 -2
  84. package/dist/stores/index.js.map +1 -1
  85. package/dist/stores/initialize.store.js +55 -51
  86. package/dist/stores/initialize.store.js.map +1 -1
  87. package/dist/stores/message-feedback-base.store.js +2 -1
  88. package/dist/stores/message-feedback-base.store.js.map +1 -1
  89. package/dist/stores/message-feedback-guardrail.store.js +50 -47
  90. package/dist/stores/message-feedback-guardrail.store.js.map +1 -1
  91. package/dist/stores/message-feedback.store.js +84 -89
  92. package/dist/stores/message-feedback.store.js.map +1 -1
  93. package/dist/stores/session-feedback.store.js +46 -39
  94. package/dist/stores/session-feedback.store.js.map +1 -1
  95. package/dist/utils/__tests__/axios-utils.test.js +8 -7
  96. package/dist/utils/__tests__/axios-utils.test.js.map +1 -1
  97. package/dist/utils/axios-utils.js +9 -7
  98. package/dist/utils/axios-utils.js.map +1 -1
  99. package/dist/utils/test-utils.js +5 -5
  100. package/dist/utils/test-utils.js.map +1 -1
  101. package/package.json +3 -3
  102. package/src/api-client/help-center/index.ts +2 -1
  103. package/src/api-client/help-center/native-client.ts +4 -4
  104. package/src/api-client/index.ts +2 -6
  105. package/src/api-client/models/index.ts +15 -13
  106. package/src/api-client/titan-chat/index.ts +2 -1
  107. package/src/api-client/titan-chat/native-client.ts +17 -14
  108. package/src/api-client/utils/model-utils.ts +4 -8
  109. package/src/index.ts +1 -1
  110. package/src/models/index.ts +1 -1
  111. package/src/stores/index.ts +5 -12
  112. package/tsconfig.tsbuildinfo +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"native-client.js","sourceRoot":"","sources":["../../../src/api-client/help-center/native-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/api-client/help-center/native-client.ts"],"sourcesContent":["//----------------------\n// <auto-generated>\n// Generated using the NSwag toolchain v14.0.2.0 (NJsonSchema v11.0.0.0 (Newtonsoft.Json v13.0.0.0)) (http://NSwag.org)\n// </auto-generated>\n//----------------------\n\n/* tslint:disable */\n/* eslint-disable */\n// ReSharper disable InconsistentNaming\n\nimport axios, { AxiosError, AxiosInstance, AxiosRequestConfig, AxiosResponse, CancelToken } from 'axios';\n\nexport class ChatClient {\n protected instance: AxiosInstance;\n protected baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(baseUrl?: string, instance?: AxiosInstance) {\n\n this.instance = instance || axios.create();\n\n this.baseUrl = baseUrl ?? \"\";\n\n }\n\n getSettings(signal?: AbortSignal): Promise<ChatbotUserSettings> {\n let url_ = this.baseUrl + \"/api/Chat/settings\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processGetSettings(_response);\n });\n }\n\n protected processGetSettings(response: AxiosResponse): Promise<ChatbotUserSettings> {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = ChatbotUserSettings.fromJS(resultData200);\n return Promise.resolve<ChatbotUserSettings>(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve<ChatbotUserSettings>(null as any);\n }\n\n getFilterOptions(signal?: AbortSignal): Promise<FilterOptions> {\n let url_ = this.baseUrl + \"/api/Chat/filter-options\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processGetFilterOptions(_response);\n });\n }\n\n protected processGetFilterOptions(response: AxiosResponse): Promise<FilterOptions> {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = FilterOptions.fromJS(resultData200);\n return Promise.resolve<FilterOptions>(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve<FilterOptions>(null as any);\n }\n\n sendUserMessage(userMessage: UserMessage, signal?: AbortSignal): Promise<BotMessage> {\n let url_ = this.baseUrl + \"/api/Chat/user-message\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(userMessage);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processSendUserMessage(_response);\n });\n }\n\n protected processSendUserMessage(response: AxiosResponse): Promise<BotMessage> {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = BotMessage.fromJS(resultData200);\n return Promise.resolve<BotMessage>(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve<BotMessage>(null as any);\n }\n\n sendBotMessageFeedback(sessionId: number | undefined, botMessageId: number | undefined, feedback: MessageFeedback, signal?: AbortSignal): Promise<void> {\n let url_ = this.baseUrl + \"/api/Chat/bot-message-feedback?\";\n if (sessionId === null)\n throw new Error(\"The parameter 'sessionId' cannot be null.\");\n else if (sessionId !== undefined)\n url_ += \"sessionId=\" + encodeURIComponent(\"\" + sessionId) + \"&\";\n if (botMessageId === null)\n throw new Error(\"The parameter 'botMessageId' cannot be null.\");\n else if (botMessageId !== undefined)\n url_ += \"botMessageId=\" + encodeURIComponent(\"\" + botMessageId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(feedback);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n },\n signal\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processSendBotMessageFeedback(_response);\n });\n }\n\n protected processSendBotMessageFeedback(response: AxiosResponse): Promise<void> {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n return Promise.resolve<void>(null as any);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve<void>(null as any);\n }\n\n sendSessionFeedback(sessionId: number | undefined, feedback: SessionFeedback, signal?: AbortSignal): Promise<void> {\n let url_ = this.baseUrl + \"/api/Chat/session-feedback?\";\n if (sessionId === null)\n throw new Error(\"The parameter 'sessionId' cannot be null.\");\n else if (sessionId !== undefined)\n url_ += \"sessionId=\" + encodeURIComponent(\"\" + sessionId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(feedback);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n },\n signal\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processSendSessionFeedback(_response);\n });\n }\n\n protected processSendSessionFeedback(response: AxiosResponse): Promise<void> {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n return Promise.resolve<void>(null as any);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve<void>(null as any);\n }\n\n updateSessionCategory(category: string | undefined, subCategory: string | undefined, sessionId: number | undefined, signal?: AbortSignal): Promise<void> {\n let url_ = this.baseUrl + \"/api/Chat/update-session-category?\";\n if (category === null)\n throw new Error(\"The parameter 'category' cannot be null.\");\n else if (category !== undefined)\n url_ += \"category=\" + encodeURIComponent(\"\" + category) + \"&\";\n if (subCategory === null)\n throw new Error(\"The parameter 'subCategory' cannot be null.\");\n else if (subCategory !== undefined)\n url_ += \"subCategory=\" + encodeURIComponent(\"\" + subCategory) + \"&\";\n if (sessionId === null)\n throw new Error(\"The parameter 'sessionId' cannot be null.\");\n else if (sessionId !== undefined)\n url_ += \"sessionId=\" + encodeURIComponent(\"\" + sessionId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"POST\",\n url: url_,\n headers: {\n },\n signal\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processUpdateSessionCategory(_response);\n });\n }\n\n protected processUpdateSessionCategory(response: AxiosResponse): Promise<void> {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n return Promise.resolve<void>(null as any);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve<void>(null as any);\n }\n\n createSession(sessionSource: SessionSource, signal?: AbortSignal): Promise<ChatbotSession> {\n let url_ = this.baseUrl + \"/api/Chat/create-session\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(sessionSource);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processCreateSession(_response);\n });\n }\n\n protected processCreateSession(response: AxiosResponse): Promise<ChatbotSession> {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = ChatbotSession.fromJS(resultData200);\n return Promise.resolve<ChatbotSession>(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve<ChatbotSession>(null as any);\n }\n\n closeSession(sessionId: number | undefined, signal?: AbortSignal): Promise<void> {\n let url_ = this.baseUrl + \"/api/Chat/close-session?\";\n if (sessionId === null)\n throw new Error(\"The parameter 'sessionId' cannot be null.\");\n else if (sessionId !== undefined)\n url_ += \"sessionId=\" + encodeURIComponent(\"\" + sessionId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"POST\",\n url: url_,\n headers: {\n },\n signal\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processCloseSession(_response);\n });\n }\n\n protected processCloseSession(response: AxiosResponse): Promise<void> {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n return Promise.resolve<void>(null as any);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve<void>(null as any);\n }\n\n refreshAuthCookies(signal?: AbortSignal): Promise<FileResponse> {\n let url_ = this.baseUrl + \"/api/Chat/refresh-auth-cookies\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n responseType: \"blob\",\n method: \"POST\",\n url: url_,\n headers: {\n \"Accept\": \"application/octet-stream\"\n },\n signal\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processRefreshAuthCookies(_response);\n });\n }\n\n protected processRefreshAuthCookies(response: AxiosResponse): Promise<FileResponse> {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers[\"content-disposition\"] : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] as string | undefined }), headers: _headers });\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve<FileResponse>(null as any);\n }\n}\n\nexport class ConfigurationClient {\n protected instance: AxiosInstance;\n protected baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(baseUrl?: string, instance?: AxiosInstance) {\n\n this.instance = instance || axios.create();\n\n this.baseUrl = baseUrl ?? \"\";\n\n }\n\n getWidgetConfiguration(signal?: AbortSignal): Promise<WidgetConfiguration> {\n let url_ = this.baseUrl + \"/api/Configuration\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processGetWidgetConfiguration(_response);\n });\n }\n\n protected processGetWidgetConfiguration(response: AxiosResponse): Promise<WidgetConfiguration> {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = WidgetConfiguration.fromJS(resultData200);\n return Promise.resolve<WidgetConfiguration>(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve<WidgetConfiguration>(null as any);\n }\n\n getComponents(signal?: AbortSignal): Promise<SupportComponents> {\n let url_ = this.baseUrl + \"/api/Configuration/components\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processGetComponents(_response);\n });\n }\n\n protected processGetComponents(response: AxiosResponse): Promise<SupportComponents> {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = SupportComponents.fromJS(resultData200);\n return Promise.resolve<SupportComponents>(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve<SupportComponents>(null as any);\n }\n\n getInbentaToken(signal?: AbortSignal): Promise<InbentaAccessToken> {\n let url_ = this.baseUrl + \"/api/Configuration/inbenta-token\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processGetInbentaToken(_response);\n });\n }\n\n protected processGetInbentaToken(response: AxiosResponse): Promise<InbentaAccessToken> {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = InbentaAccessToken.fromJS(resultData200);\n return Promise.resolve<InbentaAccessToken>(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve<InbentaAccessToken>(null as any);\n }\n\n getContextHelp(signal?: AbortSignal): Promise<PageRecommendations[]> {\n let url_ = this.baseUrl + \"/api/Configuration/context-help\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processGetContextHelp(_response);\n });\n }\n\n protected processGetContextHelp(response: AxiosResponse): Promise<PageRecommendations[]> {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(PageRecommendations.fromJS(item));\n }\n else {\n result200 = <any>null;\n }\n return Promise.resolve<PageRecommendations[]>(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve<PageRecommendations[]>(null as any);\n }\n\n testError(code: number | undefined, signal?: AbortSignal): Promise<FileResponse> {\n let url_ = this.baseUrl + \"/api/Configuration/test-error?\";\n if (code === null)\n throw new Error(\"The parameter 'code' cannot be null.\");\n else if (code !== undefined)\n url_ += \"code=\" + encodeURIComponent(\"\" + code) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n responseType: \"blob\",\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/octet-stream\"\n },\n signal\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processTestError(_response);\n });\n }\n\n protected processTestError(response: AxiosResponse): Promise<FileResponse> {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers[\"content-disposition\"] : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] as string | undefined }), headers: _headers });\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve<FileResponse>(null as any);\n }\n}\n\nexport class EnterpriseHubClient {\n protected instance: AxiosInstance;\n protected baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(baseUrl?: string, instance?: AxiosInstance) {\n\n this.instance = instance || axios.create();\n\n this.baseUrl = baseUrl ?? \"\";\n\n }\n\n getUserData(signal?: AbortSignal): Promise<HelpCenterUserData> {\n let url_ = this.baseUrl + \"/EnterpriseHub/user-data\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processGetUserData(_response);\n });\n }\n\n protected processGetUserData(response: AxiosResponse): Promise<HelpCenterUserData> {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = HelpCenterUserData.fromJS(resultData200);\n return Promise.resolve<HelpCenterUserData>(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve<HelpCenterUserData>(null as any);\n }\n\n getAuthToken(signal?: AbortSignal): Promise<string> {\n let url_ = this.baseUrl + \"/EnterpriseHub/getAuthToken\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processGetAuthToken(_response);\n });\n }\n\n protected processGetAuthToken(response: AxiosResponse): Promise<string> {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = resultData200 !== undefined ? resultData200 : <any>null;\n\n return Promise.resolve<string>(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve<string>(null as any);\n }\n}\n\nexport class SalesforceOpsClient {\n protected instance: AxiosInstance;\n protected baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(baseUrl?: string, instance?: AxiosInstance) {\n\n this.instance = instance || axios.create();\n\n this.baseUrl = baseUrl ?? \"\";\n\n }\n\n generateCases(webRequest: CaseGenerationRequest, signal?: AbortSignal): Promise<CaseGenerationResponse> {\n let url_ = this.baseUrl + \"/salesforce-ops/generate-cases\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(webRequest);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processGenerateCases(_response);\n });\n }\n\n protected processGenerateCases(response: AxiosResponse): Promise<CaseGenerationResponse> {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = CaseGenerationResponse.fromJS(resultData200);\n return Promise.resolve<CaseGenerationResponse>(result200);\n\n } else if (status === 400) {\n const _responseText = response.data;\n let result400: any = null;\n let resultData400 = _responseText;\n result400 = CaseGenerationResponse.fromJS(resultData400);\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve<CaseGenerationResponse>(null as any);\n }\n}\n\nexport class SupportClient {\n protected instance: AxiosInstance;\n protected baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(baseUrl?: string, instance?: AxiosInstance) {\n\n this.instance = instance || axios.create();\n\n this.baseUrl = baseUrl ?? \"\";\n\n }\n\n getCompanyCaseFilters(signal?: AbortSignal): Promise<CaseFilters> {\n let url_ = this.baseUrl + \"/api/Support/company-case-filters\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processGetCompanyCaseFilters(_response);\n });\n }\n\n protected processGetCompanyCaseFilters(response: AxiosResponse): Promise<CaseFilters> {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = CaseFilters.fromJS(resultData200);\n return Promise.resolve<CaseFilters>(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve<CaseFilters>(null as any);\n }\n\n getCompanyCases(statuses: string[] | null | undefined, contactIds: string[] | null | undefined, sorting: SortingOption | undefined, priorityToken: CaseSortingPriority | null | undefined, caseNumberToken: string | null | undefined, accountIds: string[] | null | undefined, signal?: AbortSignal): Promise<CaseResults> {\n let url_ = this.baseUrl + \"/api/Support/company-cases?\";\n if (statuses !== undefined && statuses !== null)\n statuses && statuses.forEach(item => { url_ += \"Statuses=\" + encodeURIComponent(\"\" + item) + \"&\"; });\n if (contactIds !== undefined && contactIds !== null)\n contactIds && contactIds.forEach(item => { url_ += \"ContactIds=\" + encodeURIComponent(\"\" + item) + \"&\"; });\n if (sorting === null)\n throw new Error(\"The parameter 'sorting' cannot be null.\");\n else if (sorting !== undefined)\n url_ += \"Sorting=\" + encodeURIComponent(\"\" + sorting) + \"&\";\n if (priorityToken !== undefined && priorityToken !== null)\n url_ += \"PriorityToken=\" + encodeURIComponent(\"\" + priorityToken) + \"&\";\n if (caseNumberToken !== undefined && caseNumberToken !== null)\n url_ += \"CaseNumberToken=\" + encodeURIComponent(\"\" + caseNumberToken) + \"&\";\n if (accountIds !== undefined && accountIds !== null)\n accountIds && accountIds.forEach(item => { url_ += \"AccountIds=\" + encodeURIComponent(\"\" + item) + \"&\"; });\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processGetCompanyCases(_response);\n });\n }\n\n protected processGetCompanyCases(response: AxiosResponse): Promise<CaseResults> {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = CaseResults.fromJS(resultData200);\n return Promise.resolve<CaseResults>(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve<CaseResults>(null as any);\n }\n\n getPersonalCaseFilters(signal?: AbortSignal): Promise<CaseFilters> {\n let url_ = this.baseUrl + \"/api/Support/personal-case-filters\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processGetPersonalCaseFilters(_response);\n });\n }\n\n protected processGetPersonalCaseFilters(response: AxiosResponse): Promise<CaseFilters> {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = CaseFilters.fromJS(resultData200);\n return Promise.resolve<CaseFilters>(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve<CaseFilters>(null as any);\n }\n\n getPersonalCases(statuses: string[] | null | undefined, contactIds: string[] | null | undefined, sorting: SortingOption | undefined, priorityToken: CaseSortingPriority | null | undefined, caseNumberToken: string | null | undefined, accountIds: string[] | null | undefined, signal?: AbortSignal): Promise<CaseResults> {\n let url_ = this.baseUrl + \"/api/Support/personal-cases?\";\n if (statuses !== undefined && statuses !== null)\n statuses && statuses.forEach(item => { url_ += \"Statuses=\" + encodeURIComponent(\"\" + item) + \"&\"; });\n if (contactIds !== undefined && contactIds !== null)\n contactIds && contactIds.forEach(item => { url_ += \"ContactIds=\" + encodeURIComponent(\"\" + item) + \"&\"; });\n if (sorting === null)\n throw new Error(\"The parameter 'sorting' cannot be null.\");\n else if (sorting !== undefined)\n url_ += \"Sorting=\" + encodeURIComponent(\"\" + sorting) + \"&\";\n if (priorityToken !== undefined && priorityToken !== null)\n url_ += \"PriorityToken=\" + encodeURIComponent(\"\" + priorityToken) + \"&\";\n if (caseNumberToken !== undefined && caseNumberToken !== null)\n url_ += \"CaseNumberToken=\" + encodeURIComponent(\"\" + caseNumberToken) + \"&\";\n if (accountIds !== undefined && accountIds !== null)\n accountIds && accountIds.forEach(item => { url_ += \"AccountIds=\" + encodeURIComponent(\"\" + item) + \"&\"; });\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processGetPersonalCases(_response);\n });\n }\n\n protected processGetPersonalCases(response: AxiosResponse): Promise<CaseResults> {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = CaseResults.fromJS(resultData200);\n return Promise.resolve<CaseResults>(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve<CaseResults>(null as any);\n }\n\n getCaseDetails(caseId: string | undefined, signal?: AbortSignal): Promise<CaseDetails> {\n let url_ = this.baseUrl + \"/api/Support/case-details?\";\n if (caseId === null)\n throw new Error(\"The parameter 'caseId' cannot be null.\");\n else if (caseId !== undefined)\n url_ += \"caseId=\" + encodeURIComponent(\"\" + caseId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processGetCaseDetails(_response);\n });\n }\n\n protected processGetCaseDetails(response: AxiosResponse): Promise<CaseDetails> {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = CaseDetails.fromJS(resultData200);\n return Promise.resolve<CaseDetails>(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve<CaseDetails>(null as any);\n }\n\n sendEmailComment(caseId: string | null | undefined, replyRef: string | null | undefined, email: string | null | undefined, username: string | null | undefined, subject: string | null | undefined, body: string | null | undefined, attachments: FileParameter[] | null | undefined, signal?: AbortSignal): Promise<EmailResult> {\n let url_ = this.baseUrl + \"/api/Support/send-email-comment\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = new FormData();\n if (caseId !== null && caseId !== undefined)\n content_.append(\"CaseId\", caseId.toString());\n if (replyRef !== null && replyRef !== undefined)\n content_.append(\"ReplyRef\", replyRef.toString());\n if (email !== null && email !== undefined)\n content_.append(\"Email\", email.toString());\n if (username !== null && username !== undefined)\n content_.append(\"Username\", username.toString());\n if (subject !== null && subject !== undefined)\n content_.append(\"Subject\", subject.toString());\n if (body !== null && body !== undefined)\n content_.append(\"Body\", body.toString());\n if (attachments !== null && attachments !== undefined)\n attachments.forEach(item_ => content_.append(\"Attachments\", item_.data, item_.fileName ? item_.fileName : \"Attachments\") );\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processSendEmailComment(_response);\n });\n }\n\n protected processSendEmailComment(response: AxiosResponse): Promise<EmailResult> {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = EmailResult.fromJS(resultData200);\n return Promise.resolve<EmailResult>(result200);\n\n } else if (status === 400) {\n const _responseText = response.data;\n let result400: any = null;\n let resultData400 = _responseText;\n result400 = EmailResult.fromJS(resultData400);\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\n\n } else if (status === 500) {\n const _responseText = response.data;\n return throwException(\"A server side error occurred.\", status, _responseText, _headers);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve<EmailResult>(null as any);\n }\n\n sendEmail(caseTrackingId: string | null | undefined, username: string | null | undefined, description: string | null | undefined, htmlDescription: string | null | undefined, subject: string | null | undefined, email: string | null | undefined, componentId: string | null | undefined, chatbotSessionId: number | null | undefined, attachments: FileParameter[] | null | undefined, tenantId: number | null | undefined, externalUserId: string | null | undefined, recipients: string[] | null | undefined, signal?: AbortSignal): Promise<EmailResult> {\n let url_ = this.baseUrl + \"/api/Support/send-email\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = new FormData();\n if (caseTrackingId !== null && caseTrackingId !== undefined)\n content_.append(\"CaseTrackingId\", caseTrackingId.toString());\n if (username !== null && username !== undefined)\n content_.append(\"Username\", username.toString());\n if (description !== null && description !== undefined)\n content_.append(\"Description\", description.toString());\n if (htmlDescription !== null && htmlDescription !== undefined)\n content_.append(\"HtmlDescription\", htmlDescription.toString());\n if (subject !== null && subject !== undefined)\n content_.append(\"Subject\", subject.toString());\n if (email !== null && email !== undefined)\n content_.append(\"Email\", email.toString());\n if (componentId !== null && componentId !== undefined)\n content_.append(\"ComponentId\", componentId.toString());\n if (chatbotSessionId !== null && chatbotSessionId !== undefined)\n content_.append(\"ChatbotSessionId\", chatbotSessionId.toString());\n if (attachments !== null && attachments !== undefined)\n attachments.forEach(item_ => content_.append(\"Attachments\", item_.data, item_.fileName ? item_.fileName : \"Attachments\") );\n if (tenantId !== null && tenantId !== undefined)\n content_.append(\"TenantId\", tenantId.toString());\n if (externalUserId !== null && externalUserId !== undefined)\n content_.append(\"ExternalUserId\", externalUserId.toString());\n if (recipients !== null && recipients !== undefined)\n recipients.forEach(item_ => content_.append(\"Recipients\", item_.toString()));\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processSendEmail(_response);\n });\n }\n\n protected processSendEmail(response: AxiosResponse): Promise<EmailResult> {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = EmailResult.fromJS(resultData200);\n return Promise.resolve<EmailResult>(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve<EmailResult>(null as any);\n }\n\n getCallbackOnline(signal?: AbortSignal): Promise<SupportOnline> {\n let url_ = this.baseUrl + \"/api/Support/callback-online\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processGetCallbackOnline(_response);\n });\n }\n\n protected processGetCallbackOnline(response: AxiosResponse): Promise<SupportOnline> {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = SupportOnline.fromJS(resultData200);\n return Promise.resolve<SupportOnline>(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve<SupportOnline>(null as any);\n }\n\n getChatOnline(signal?: AbortSignal): Promise<SupportOnline> {\n let url_ = this.baseUrl + \"/api/Support/chat-online\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processGetChatOnline(_response);\n });\n }\n\n protected processGetChatOnline(response: AxiosResponse): Promise<SupportOnline> {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = SupportOnline.fromJS(resultData200);\n return Promise.resolve<SupportOnline>(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve<SupportOnline>(null as any);\n }\n\n isPhoneNumberValid(phoneNumber: string | undefined, signal?: AbortSignal): Promise<boolean> {\n let url_ = this.baseUrl + \"/api/Support/is-phone-number-valid?\";\n if (phoneNumber === null)\n throw new Error(\"The parameter 'phoneNumber' cannot be null.\");\n else if (phoneNumber !== undefined)\n url_ += \"phoneNumber=\" + encodeURIComponent(\"\" + phoneNumber) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processIsPhoneNumberValid(_response);\n });\n }\n\n protected processIsPhoneNumberValid(response: AxiosResponse): Promise<boolean> {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = resultData200 !== undefined ? resultData200 : <any>null;\n\n return Promise.resolve<boolean>(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve<boolean>(null as any);\n }\n\n requestCallback(reqRequest: CallbackRequest, signal?: AbortSignal): Promise<CallbackResponse> {\n let url_ = this.baseUrl + \"/api/Support/request-callback\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(reqRequest);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processRequestCallback(_response);\n });\n }\n\n protected processRequestCallback(response: AxiosResponse): Promise<CallbackResponse> {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = CallbackResponse.fromJS(resultData200);\n return Promise.resolve<CallbackResponse>(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve<CallbackResponse>(null as any);\n }\n\n requestEmergencyCallback(reqRequest: CallbackRequest, signal?: AbortSignal): Promise<CallbackResponse> {\n let url_ = this.baseUrl + \"/api/Support/request-emergency-callback\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(reqRequest);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processRequestEmergencyCallback(_response);\n });\n }\n\n protected processRequestEmergencyCallback(response: AxiosResponse): Promise<CallbackResponse> {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = CallbackResponse.fromJS(resultData200);\n return Promise.resolve<CallbackResponse>(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve<CallbackResponse>(null as any);\n }\n\n getTenantLevelImpersonationConsent(signal?: AbortSignal): Promise<ImpersonationConsent> {\n let url_ = this.baseUrl + \"/api/Support/tenant-level-impersonation-consent\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processGetTenantLevelImpersonationConsent(_response);\n });\n }\n\n protected processGetTenantLevelImpersonationConsent(response: AxiosResponse): Promise<ImpersonationConsent> {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = ImpersonationConsent.fromJS(resultData200);\n return Promise.resolve<ImpersonationConsent>(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve<ImpersonationConsent>(null as any);\n }\n\n provideTenantLevelImpersonationConsent(signal?: AbortSignal): Promise<ImpersonationConsent> {\n let url_ = this.baseUrl + \"/api/Support/tenant-level-impersonation-consent\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"PUT\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processProvideTenantLevelImpersonationConsent(_response);\n });\n }\n\n protected processProvideTenantLevelImpersonationConsent(response: AxiosResponse): Promise<ImpersonationConsent> {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = ImpersonationConsent.fromJS(resultData200);\n return Promise.resolve<ImpersonationConsent>(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve<ImpersonationConsent>(null as any);\n }\n\n revokeTenantLevelImpersonationConsent(signal?: AbortSignal): Promise<ImpersonationConsent> {\n let url_ = this.baseUrl + \"/api/Support/tenant-level-impersonation-consent\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"DELETE\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processRevokeTenantLevelImpersonationConsent(_response);\n });\n }\n\n protected processRevokeTenantLevelImpersonationConsent(response: AxiosResponse): Promise<ImpersonationConsent> {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = ImpersonationConsent.fromJS(resultData200);\n return Promise.resolve<ImpersonationConsent>(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve<ImpersonationConsent>(null as any);\n }\n\n registerNewCase(reqRequest: NewCaseRequest, signal?: AbortSignal): Promise<NewCaseResponse> {\n let url_ = this.baseUrl + \"/api/Support/register-new-case\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(reqRequest);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processRegisterNewCase(_response);\n });\n }\n\n protected processRegisterNewCase(response: AxiosResponse): Promise<NewCaseResponse> {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = NewCaseResponse.fromJS(resultData200);\n return Promise.resolve<NewCaseResponse>(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve<NewCaseResponse>(null as any);\n }\n\n provideCaseLevelImpersonationConsent(caseId: string | undefined, signal?: AbortSignal): Promise<ImpersonationConsent> {\n let url_ = this.baseUrl + \"/api/Support/case-level-impersonation-consent?\";\n if (caseId === null)\n throw new Error(\"The parameter 'caseId' cannot be null.\");\n else if (caseId !== undefined)\n url_ += \"caseId=\" + encodeURIComponent(\"\" + caseId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"PUT\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processProvideCaseLevelImpersonationConsent(_response);\n });\n }\n\n protected processProvideCaseLevelImpersonationConsent(response: AxiosResponse): Promise<ImpersonationConsent> {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = ImpersonationConsent.fromJS(resultData200);\n return Promise.resolve<ImpersonationConsent>(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve<ImpersonationConsent>(null as any);\n }\n\n revokeCaseLevelImpersonationConsent(caseId: string | undefined, signal?: AbortSignal): Promise<ImpersonationConsent> {\n let url_ = this.baseUrl + \"/api/Support/case-level-impersonation-consent?\";\n if (caseId === null)\n throw new Error(\"The parameter 'caseId' cannot be null.\");\n else if (caseId !== undefined)\n url_ += \"caseId=\" + encodeURIComponent(\"\" + caseId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"DELETE\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processRevokeCaseLevelImpersonationConsent(_response);\n });\n }\n\n protected processRevokeCaseLevelImpersonationConsent(response: AxiosResponse): Promise<ImpersonationConsent> {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = ImpersonationConsent.fromJS(resultData200);\n return Promise.resolve<ImpersonationConsent>(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve<ImpersonationConsent>(null as any);\n }\n\n registerImpersonationConsent(caseTitle: string | undefined, signal?: AbortSignal): Promise<ImpersonationConsentDto> {\n let url_ = this.baseUrl + \"/api/Support/register-impersonation-consent\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(caseTitle);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processRegisterImpersonationConsent(_response);\n });\n }\n\n protected processRegisterImpersonationConsent(response: AxiosResponse): Promise<ImpersonationConsentDto> {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = ImpersonationConsentDto.fromJS(resultData200);\n return Promise.resolve<ImpersonationConsentDto>(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve<ImpersonationConsentDto>(null as any);\n }\n\n predictSupportComponent(sessionId: number | undefined, signal?: AbortSignal): Promise<string> {\n let url_ = this.baseUrl + \"/api/Support/predict-support-component?\";\n if (sessionId === null)\n throw new Error(\"The parameter 'sessionId' cannot be null.\");\n else if (sessionId !== undefined)\n url_ += \"sessionId=\" + encodeURIComponent(\"\" + sessionId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processPredictSupportComponent(_response);\n });\n }\n\n protected processPredictSupportComponent(response: AxiosResponse): Promise<string> {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = resultData200 !== undefined ? resultData200 : <any>null;\n\n return Promise.resolve<string>(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve<string>(null as any);\n }\n}\n\nexport class TestOpsClient {\n protected instance: AxiosInstance;\n protected baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(baseUrl?: string, instance?: AxiosInstance) {\n\n this.instance = instance || axios.create();\n\n this.baseUrl = baseUrl ?? \"\";\n\n }\n\n makeToken(makeTokenRequest: MakeTokenRequest, signal?: AbortSignal): Promise<CaseGenerationResponse> {\n let url_ = this.baseUrl + \"/test-ops/make-jwt\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(makeTokenRequest);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processMakeToken(_response);\n });\n }\n\n protected processMakeToken(response: AxiosResponse): Promise<CaseGenerationResponse> {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = CaseGenerationResponse.fromJS(resultData200);\n return Promise.resolve<CaseGenerationResponse>(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve<CaseGenerationResponse>(null as any);\n }\n\n testError(code: number | undefined, signal?: AbortSignal): Promise<FileResponse> {\n let url_ = this.baseUrl + \"/test-ops/test-error?\";\n if (code === null)\n throw new Error(\"The parameter 'code' cannot be null.\");\n else if (code !== undefined)\n url_ += \"code=\" + encodeURIComponent(\"\" + code) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n responseType: \"blob\",\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/octet-stream\"\n },\n signal\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processTestError(_response);\n });\n }\n\n protected processTestError(response: AxiosResponse): Promise<FileResponse> {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers[\"content-disposition\"] : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] as string | undefined }), headers: _headers });\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve<FileResponse>(null as any);\n }\n}\n\nexport class UserClient {\n protected instance: AxiosInstance;\n protected baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(baseUrl?: string, instance?: AxiosInstance) {\n\n this.instance = instance || axios.create();\n\n this.baseUrl = baseUrl ?? \"\";\n\n }\n\n ensureCreated(signal?: AbortSignal): Promise<FileResponse> {\n let url_ = this.baseUrl + \"/api/User\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n responseType: \"blob\",\n method: \"PUT\",\n url: url_,\n headers: {\n \"Accept\": \"application/octet-stream\"\n },\n signal\n };\n\n return this.instance.request(options_).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.processEnsureCreated(_response);\n });\n }\n\n protected processEnsureCreated(response: AxiosResponse): Promise<FileResponse> {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200 || status === 206) {\n const contentDisposition = response.headers ? response.headers[\"content-disposition\"] : undefined;\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\n if (fileName) {\n fileName = decodeURIComponent(fileName);\n } else {\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\n }\n return Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] as string | undefined }), headers: _headers });\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve<FileResponse>(null as any);\n }\n}\n\nexport class ChatbotUserSettings implements IChatbotUserSettings {\n isInternal!: boolean;\n feedbackUrl!: string;\n showFilters!: boolean;\n buildVersion!: BuildVersion;\n\n constructor(data?: IChatbotUserSettings) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n if (!data) {\n this.buildVersion = new BuildVersion();\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.isInternal = _data[\"isInternal\"];\n this.feedbackUrl = _data[\"feedbackUrl\"];\n this.showFilters = _data[\"showFilters\"];\n this.buildVersion = _data[\"buildVersion\"] ? BuildVersion.fromJS(_data[\"buildVersion\"]) : new BuildVersion();\n }\n }\n\n static fromJS(data: any): ChatbotUserSettings {\n data = typeof data === 'object' ? data : {};\n let result = new ChatbotUserSettings();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"isInternal\"] = this.isInternal;\n data[\"feedbackUrl\"] = this.feedbackUrl;\n data[\"showFilters\"] = this.showFilters;\n data[\"buildVersion\"] = this.buildVersion ? this.buildVersion.toJSON() : <any>undefined;\n return data;\n }\n}\n\nexport interface IChatbotUserSettings {\n isInternal: boolean;\n feedbackUrl: string;\n showFilters: boolean;\n buildVersion: BuildVersion;\n}\n\nexport class BuildVersion implements IBuildVersion {\n number?: string;\n date?: Date;\n releaseNotesUrl?: string;\n\n constructor(data?: IBuildVersion) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.number = _data[\"number\"];\n this.date = _data[\"date\"] ? new Date(_data[\"date\"].toString()) : <any>undefined;\n this.releaseNotesUrl = _data[\"releaseNotesUrl\"];\n }\n }\n\n static fromJS(data: any): BuildVersion {\n data = typeof data === 'object' ? data : {};\n let result = new BuildVersion();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"number\"] = this.number;\n data[\"date\"] = this.date ? this.date.toISOString() : <any>undefined;\n data[\"releaseNotesUrl\"] = this.releaseNotesUrl;\n return data;\n }\n}\n\nexport interface IBuildVersion {\n number?: string;\n date?: Date;\n releaseNotesUrl?: string;\n}\n\nexport class EmailMessage implements IEmailMessage {\n caseTrackingId!: string;\n username!: string;\n description?: string | undefined;\n htmlDescription?: string | undefined;\n subject!: string;\n email!: string;\n componentId!: string;\n chatbotSessionId?: number | undefined;\n attachments?: string[] | undefined;\n tenantId?: number | undefined;\n externalUserId?: string | undefined;\n recipients?: string[] | undefined;\n\n constructor(data?: IEmailMessage) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.caseTrackingId = _data[\"caseTrackingId\"];\n this.username = _data[\"username\"];\n this.description = _data[\"description\"];\n this.htmlDescription = _data[\"htmlDescription\"];\n this.subject = _data[\"subject\"];\n this.email = _data[\"email\"];\n this.componentId = _data[\"componentId\"];\n this.chatbotSessionId = _data[\"chatbotSessionId\"];\n if (Array.isArray(_data[\"attachments\"])) {\n this.attachments = [] as any;\n for (let item of _data[\"attachments\"])\n this.attachments!.push(item);\n }\n this.tenantId = _data[\"tenantId\"];\n this.externalUserId = _data[\"externalUserId\"];\n if (Array.isArray(_data[\"recipients\"])) {\n this.recipients = [] as any;\n for (let item of _data[\"recipients\"])\n this.recipients!.push(item);\n }\n }\n }\n\n static fromJS(data: any): EmailMessage {\n data = typeof data === 'object' ? data : {};\n let result = new EmailMessage();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"caseTrackingId\"] = this.caseTrackingId;\n data[\"username\"] = this.username;\n data[\"description\"] = this.description;\n data[\"htmlDescription\"] = this.htmlDescription;\n data[\"subject\"] = this.subject;\n data[\"email\"] = this.email;\n data[\"componentId\"] = this.componentId;\n data[\"chatbotSessionId\"] = this.chatbotSessionId;\n if (Array.isArray(this.attachments)) {\n data[\"attachments\"] = [];\n for (let item of this.attachments)\n data[\"attachments\"].push(item);\n }\n data[\"tenantId\"] = this.tenantId;\n data[\"externalUserId\"] = this.externalUserId;\n if (Array.isArray(this.recipients)) {\n data[\"recipients\"] = [];\n for (let item of this.recipients)\n data[\"recipients\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IEmailMessage {\n caseTrackingId: string;\n username: string;\n description?: string | undefined;\n htmlDescription?: string | undefined;\n subject: string;\n email: string;\n componentId: string;\n chatbotSessionId?: number | undefined;\n attachments?: string[] | undefined;\n tenantId?: number | undefined;\n externalUserId?: string | undefined;\n recipients?: string[] | undefined;\n}\n\nexport class FilterOptions implements IFilterOptions {\n contentTypes?: FilterOption[];\n productAreas?: FilterOption[];\n sources?: FilterOption[];\n\n constructor(data?: IFilterOptions) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"contentTypes\"])) {\n this.contentTypes = [] as any;\n for (let item of _data[\"contentTypes\"])\n this.contentTypes!.push(FilterOption.fromJS(item));\n }\n if (Array.isArray(_data[\"productAreas\"])) {\n this.productAreas = [] as any;\n for (let item of _data[\"productAreas\"])\n this.productAreas!.push(FilterOption.fromJS(item));\n }\n if (Array.isArray(_data[\"sources\"])) {\n this.sources = [] as any;\n for (let item of _data[\"sources\"])\n this.sources!.push(FilterOption.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): FilterOptions {\n data = typeof data === 'object' ? data : {};\n let result = new FilterOptions();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.contentTypes)) {\n data[\"contentTypes\"] = [];\n for (let item of this.contentTypes)\n data[\"contentTypes\"].push(item.toJSON());\n }\n if (Array.isArray(this.productAreas)) {\n data[\"productAreas\"] = [];\n for (let item of this.productAreas)\n data[\"productAreas\"].push(item.toJSON());\n }\n if (Array.isArray(this.sources)) {\n data[\"sources\"] = [];\n for (let item of this.sources)\n data[\"sources\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IFilterOptions {\n contentTypes?: FilterOption[];\n productAreas?: FilterOption[];\n sources?: FilterOption[];\n}\n\nexport class FilterOption implements IFilterOption {\n id?: string;\n displayName?: string;\n\n constructor(data?: IFilterOption) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.displayName = _data[\"displayName\"];\n }\n }\n\n static fromJS(data: any): FilterOption {\n data = typeof data === 'object' ? data : {};\n let result = new FilterOption();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"displayName\"] = this.displayName;\n return data;\n }\n}\n\nexport interface IFilterOption {\n id?: string;\n displayName?: string;\n}\n\nexport abstract class Message implements IMessage {\n id?: number;\n sessionId?: number;\n timestampUtc?: Date;\n text?: string;\n\n constructor(data?: IMessage) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.sessionId = _data[\"sessionId\"];\n this.timestampUtc = _data[\"timestampUtc\"] ? new Date(_data[\"timestampUtc\"].toString()) : <any>undefined;\n this.text = _data[\"text\"];\n }\n }\n\n static fromJS(data: any): Message {\n data = typeof data === 'object' ? data : {};\n throw new Error(\"The abstract class 'Message' cannot be instantiated.\");\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"sessionId\"] = this.sessionId;\n data[\"timestampUtc\"] = this.timestampUtc ? this.timestampUtc.toISOString() : <any>undefined;\n data[\"text\"] = this.text;\n return data;\n }\n}\n\nexport interface IMessage {\n id?: number;\n sessionId?: number;\n timestampUtc?: Date;\n text?: string;\n}\n\nexport class BotMessage extends Message implements IBotMessage {\n error?: string | undefined;\n isTransientError?: boolean | undefined;\n retryAfter?: string | undefined;\n guardFlag?: string | undefined;\n isGuardrailed?: boolean;\n scoredUrls?: ScoredUrl[];\n botVersion?: string | undefined;\n metadata?: any | undefined;\n userMessageId?: number | undefined;\n\n constructor(data?: IBotMessage) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.error = _data[\"error\"];\n this.isTransientError = _data[\"isTransientError\"];\n this.retryAfter = _data[\"retryAfter\"];\n this.guardFlag = _data[\"guardFlag\"];\n this.isGuardrailed = _data[\"isGuardrailed\"];\n if (Array.isArray(_data[\"scoredUrls\"])) {\n this.scoredUrls = [] as any;\n for (let item of _data[\"scoredUrls\"])\n this.scoredUrls!.push(ScoredUrl.fromJS(item));\n }\n this.botVersion = _data[\"botVersion\"];\n this.metadata = _data[\"metadata\"];\n this.userMessageId = _data[\"userMessageId\"];\n }\n }\n\n static fromJS(data: any): BotMessage {\n data = typeof data === 'object' ? data : {};\n let result = new BotMessage();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"error\"] = this.error;\n data[\"isTransientError\"] = this.isTransientError;\n data[\"retryAfter\"] = this.retryAfter;\n data[\"guardFlag\"] = this.guardFlag;\n data[\"isGuardrailed\"] = this.isGuardrailed;\n if (Array.isArray(this.scoredUrls)) {\n data[\"scoredUrls\"] = [];\n for (let item of this.scoredUrls)\n data[\"scoredUrls\"].push(item.toJSON());\n }\n data[\"botVersion\"] = this.botVersion;\n data[\"metadata\"] = this.metadata;\n data[\"userMessageId\"] = this.userMessageId;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IBotMessage extends IMessage {\n error?: string | undefined;\n isTransientError?: boolean | undefined;\n retryAfter?: string | undefined;\n guardFlag?: string | undefined;\n isGuardrailed?: boolean;\n scoredUrls?: ScoredUrl[];\n botVersion?: string | undefined;\n metadata?: any | undefined;\n userMessageId?: number | undefined;\n}\n\nexport class ScoredUrl implements IScoredUrl {\n url?: string;\n score?: number;\n title?: string;\n\n constructor(data?: IScoredUrl) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.url = _data[\"url\"];\n this.score = _data[\"score\"];\n this.title = _data[\"title\"];\n }\n }\n\n static fromJS(data: any): ScoredUrl {\n data = typeof data === 'object' ? data : {};\n let result = new ScoredUrl();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"url\"] = this.url;\n data[\"score\"] = this.score;\n data[\"title\"] = this.title;\n return data;\n }\n}\n\nexport interface IScoredUrl {\n url?: string;\n score?: number;\n title?: string;\n}\n\nexport class UserMessage extends Message implements IUserMessage {\n requestParams?: { [key: string]: string; } | undefined;\n source?: MessageSource | undefined;\n isControlGroup?: boolean;\n filters?: FilterSelections;\n includeHistory?: boolean;\n\n constructor(data?: IUserMessage) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n if (_data[\"requestParams\"]) {\n this.requestParams = {} as any;\n for (let key in _data[\"requestParams\"]) {\n if (_data[\"requestParams\"].hasOwnProperty(key))\n (<any>this.requestParams)![key] = _data[\"requestParams\"][key];\n }\n }\n this.source = _data[\"source\"] ? MessageSource.fromJS(_data[\"source\"]) : <any>undefined;\n this.isControlGroup = _data[\"isControlGroup\"];\n this.filters = _data[\"filters\"] ? FilterSelections.fromJS(_data[\"filters\"]) : <any>undefined;\n this.includeHistory = _data[\"includeHistory\"];\n }\n }\n\n static fromJS(data: any): UserMessage {\n data = typeof data === 'object' ? data : {};\n let result = new UserMessage();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (this.requestParams) {\n data[\"requestParams\"] = {};\n for (let key in this.requestParams) {\n if (this.requestParams.hasOwnProperty(key))\n (<any>data[\"requestParams\"])[key] = (<any>this.requestParams)[key];\n }\n }\n data[\"source\"] = this.source ? this.source.toJSON() : <any>undefined;\n data[\"isControlGroup\"] = this.isControlGroup;\n data[\"filters\"] = this.filters ? this.filters.toJSON() : <any>undefined;\n data[\"includeHistory\"] = this.includeHistory;\n super.toJSON(data);\n return data;\n }\n}\n\nexport interface IUserMessage extends IMessage {\n requestParams?: { [key: string]: string; } | undefined;\n source?: MessageSource | undefined;\n isControlGroup?: boolean;\n filters?: FilterSelections;\n includeHistory?: boolean;\n}\n\nexport class MessageSource implements IMessageSource {\n area?: string | undefined;\n\n constructor(data?: IMessageSource) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.area = _data[\"area\"];\n }\n }\n\n static fromJS(data: any): MessageSource {\n data = typeof data === 'object' ? data : {};\n let result = new MessageSource();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"area\"] = this.area;\n return data;\n }\n}\n\nexport interface IMessageSource {\n area?: string | undefined;\n}\n\nexport class FilterSelections implements IFilterSelections {\n contentTypes?: string[];\n productAreas?: string[];\n sources?: string[];\n\n constructor(data?: IFilterSelections) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"contentTypes\"])) {\n this.contentTypes = [] as any;\n for (let item of _data[\"contentTypes\"])\n this.contentTypes!.push(item);\n }\n if (Array.isArray(_data[\"productAreas\"])) {\n this.productAreas = [] as any;\n for (let item of _data[\"productAreas\"])\n this.productAreas!.push(item);\n }\n if (Array.isArray(_data[\"sources\"])) {\n this.sources = [] as any;\n for (let item of _data[\"sources\"])\n this.sources!.push(item);\n }\n }\n }\n\n static fromJS(data: any): FilterSelections {\n data = typeof data === 'object' ? data : {};\n let result = new FilterSelections();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.contentTypes)) {\n data[\"contentTypes\"] = [];\n for (let item of this.contentTypes)\n data[\"contentTypes\"].push(item);\n }\n if (Array.isArray(this.productAreas)) {\n data[\"productAreas\"] = [];\n for (let item of this.productAreas)\n data[\"productAreas\"].push(item);\n }\n if (Array.isArray(this.sources)) {\n data[\"sources\"] = [];\n for (let item of this.sources)\n data[\"sources\"].push(item);\n }\n return data;\n }\n}\n\nexport interface IFilterSelections {\n contentTypes?: string[];\n productAreas?: string[];\n sources?: string[];\n}\n\nexport class MessageFeedback implements IMessageFeedback {\n linkUrl?: string | undefined;\n description?: string | undefined;\n options?: FeedbackOptions[] | undefined;\n rating?: MessageFeedbackRatings;\n\n constructor(data?: IMessageFeedback) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.linkUrl = _data[\"linkUrl\"];\n this.description = _data[\"description\"];\n if (Array.isArray(_data[\"options\"])) {\n this.options = [] as any;\n for (let item of _data[\"options\"])\n this.options!.push(item);\n }\n this.rating = _data[\"rating\"];\n }\n }\n\n static fromJS(data: any): MessageFeedback {\n data = typeof data === 'object' ? data : {};\n let result = new MessageFeedback();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"linkUrl\"] = this.linkUrl;\n data[\"description\"] = this.description;\n if (Array.isArray(this.options)) {\n data[\"options\"] = [];\n for (let item of this.options)\n data[\"options\"].push(item);\n }\n data[\"rating\"] = this.rating;\n return data;\n }\n}\n\nexport interface IMessageFeedback {\n linkUrl?: string | undefined;\n description?: string | undefined;\n options?: FeedbackOptions[] | undefined;\n rating?: MessageFeedbackRatings;\n}\n\nexport enum FeedbackOptions {\n Other = 1,\n Unrelated = 2,\n Unclear = 4,\n Incomplete = 8,\n Incorrect = 16,\n}\n\nexport enum MessageFeedbackRatings {\n ThumbsDown = 0,\n ThumbsUp = 1,\n GuardrailFeedback = 2,\n}\n\nexport class SessionFeedback implements ISessionFeedback {\n description?: string | undefined;\n rating?: SessionFeedbackRatings;\n\n constructor(data?: ISessionFeedback) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.description = _data[\"description\"];\n this.rating = _data[\"rating\"];\n }\n }\n\n static fromJS(data: any): SessionFeedback {\n data = typeof data === 'object' ? data : {};\n let result = new SessionFeedback();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"description\"] = this.description;\n data[\"rating\"] = this.rating;\n return data;\n }\n}\n\nexport interface ISessionFeedback {\n description?: string | undefined;\n rating?: SessionFeedbackRatings;\n}\n\nexport enum SessionFeedbackRatings {\n ThumbsDown = 0,\n ThumbsUp = 1,\n}\n\nexport class ChatbotSession implements IChatbotSession {\n id?: number;\n createdUtc?: Date;\n closedUtc?: Date | undefined;\n botId?: string;\n source?: SessionSource | undefined;\n\n constructor(data?: IChatbotSession) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.createdUtc = _data[\"createdUtc\"] ? new Date(_data[\"createdUtc\"].toString()) : <any>undefined;\n this.closedUtc = _data[\"closedUtc\"] ? new Date(_data[\"closedUtc\"].toString()) : <any>undefined;\n this.botId = _data[\"botId\"];\n this.source = _data[\"source\"] ? SessionSource.fromJS(_data[\"source\"]) : <any>undefined;\n }\n }\n\n static fromJS(data: any): ChatbotSession {\n data = typeof data === 'object' ? data : {};\n let result = new ChatbotSession();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"createdUtc\"] = this.createdUtc ? this.createdUtc.toISOString() : <any>undefined;\n data[\"closedUtc\"] = this.closedUtc ? this.closedUtc.toISOString() : <any>undefined;\n data[\"botId\"] = this.botId;\n data[\"source\"] = this.source ? this.source.toJSON() : <any>undefined;\n return data;\n }\n}\n\nexport interface IChatbotSession {\n id?: number;\n createdUtc?: Date;\n closedUtc?: Date | undefined;\n botId?: string;\n source?: SessionSource | undefined;\n}\n\nexport class SessionSource implements ISessionSource {\n instance?: string | undefined;\n category?: string | undefined;\n subCategory?: string | undefined;\n fullstorySessionId?: string | undefined;\n\n constructor(data?: ISessionSource) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.instance = _data[\"instance\"];\n this.category = _data[\"category\"];\n this.subCategory = _data[\"subCategory\"];\n this.fullstorySessionId = _data[\"fullstorySessionId\"];\n }\n }\n\n static fromJS(data: any): SessionSource {\n data = typeof data === 'object' ? data : {};\n let result = new SessionSource();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"instance\"] = this.instance;\n data[\"category\"] = this.category;\n data[\"subCategory\"] = this.subCategory;\n data[\"fullstorySessionId\"] = this.fullstorySessionId;\n return data;\n }\n}\n\nexport interface ISessionSource {\n instance?: string | undefined;\n category?: string | undefined;\n subCategory?: string | undefined;\n fullstorySessionId?: string | undefined;\n}\n\nexport class WidgetConfiguration implements IWidgetConfiguration {\n analytics!: AnalyticsSettings;\n chatbotConfiguration!: ChatbotConfiguration;\n chatbotVersion!: ChatbotVersion;\n contentful!: ContentfulSettings;\n featureFlags!: FeatureFlags;\n environment!: ServiceEnvironment;\n freshdeskToken?: string | undefined;\n salesforce!: SalesforceSettings;\n search!: SearchSettings;\n supportFlow!: SupportFlowSettings;\n tenantState?: string | undefined;\n\n constructor(data?: IWidgetConfiguration) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n if (!data) {\n this.analytics = new AnalyticsSettings();\n this.chatbotConfiguration = new ChatbotConfiguration();\n this.contentful = new ContentfulSettings();\n this.featureFlags = new FeatureFlags();\n this.salesforce = new SalesforceSettings();\n this.search = new SearchSettings();\n this.supportFlow = new SupportFlowSettings();\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.analytics = _data[\"analytics\"] ? AnalyticsSettings.fromJS(_data[\"analytics\"]) : new AnalyticsSettings();\n this.chatbotConfiguration = _data[\"chatbotConfiguration\"] ? ChatbotConfiguration.fromJS(_data[\"chatbotConfiguration\"]) : new ChatbotConfiguration();\n this.chatbotVersion = _data[\"chatbotVersion\"];\n this.contentful = _data[\"contentful\"] ? ContentfulSettings.fromJS(_data[\"contentful\"]) : new ContentfulSettings();\n this.featureFlags = _data[\"featureFlags\"] ? FeatureFlags.fromJS(_data[\"featureFlags\"]) : new FeatureFlags();\n this.environment = _data[\"environment\"];\n this.freshdeskToken = _data[\"freshdeskToken\"];\n this.salesforce = _data[\"salesforce\"] ? SalesforceSettings.fromJS(_data[\"salesforce\"]) : new SalesforceSettings();\n this.search = _data[\"search\"] ? SearchSettings.fromJS(_data[\"search\"]) : new SearchSettings();\n this.supportFlow = _data[\"supportFlow\"] ? SupportFlowSettings.fromJS(_data[\"supportFlow\"]) : new SupportFlowSettings();\n this.tenantState = _data[\"tenantState\"];\n }\n }\n\n static fromJS(data: any): WidgetConfiguration {\n data = typeof data === 'object' ? data : {};\n let result = new WidgetConfiguration();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"analytics\"] = this.analytics ? this.analytics.toJSON() : <any>undefined;\n data[\"chatbotConfiguration\"] = this.chatbotConfiguration ? this.chatbotConfiguration.toJSON() : <any>undefined;\n data[\"chatbotVersion\"] = this.chatbotVersion;\n data[\"contentful\"] = this.contentful ? this.contentful.toJSON() : <any>undefined;\n data[\"featureFlags\"] = this.featureFlags ? this.featureFlags.toJSON() : <any>undefined;\n data[\"environment\"] = this.environment;\n data[\"freshdeskToken\"] = this.freshdeskToken;\n data[\"salesforce\"] = this.salesforce ? this.salesforce.toJSON() : <any>undefined;\n data[\"search\"] = this.search ? this.search.toJSON() : <any>undefined;\n data[\"supportFlow\"] = this.supportFlow ? this.supportFlow.toJSON() : <any>undefined;\n data[\"tenantState\"] = this.tenantState;\n return data;\n }\n}\n\nexport interface IWidgetConfiguration {\n analytics: AnalyticsSettings;\n chatbotConfiguration: ChatbotConfiguration;\n chatbotVersion: ChatbotVersion;\n contentful: ContentfulSettings;\n featureFlags: FeatureFlags;\n environment: ServiceEnvironment;\n freshdeskToken?: string | undefined;\n salesforce: SalesforceSettings;\n search: SearchSettings;\n supportFlow: SupportFlowSettings;\n tenantState?: string | undefined;\n}\n\nexport class AnalyticsSettings implements IAnalyticsSettings {\n gtag!: GtagSettings;\n\n constructor(data?: IAnalyticsSettings) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n if (!data) {\n this.gtag = new GtagSettings();\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.gtag = _data[\"gtag\"] ? GtagSettings.fromJS(_data[\"gtag\"]) : new GtagSettings();\n }\n }\n\n static fromJS(data: any): AnalyticsSettings {\n data = typeof data === 'object' ? data : {};\n let result = new AnalyticsSettings();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"gtag\"] = this.gtag ? this.gtag.toJSON() : <any>undefined;\n return data;\n }\n}\n\nexport interface IAnalyticsSettings {\n gtag: GtagSettings;\n}\n\nexport class GtagSettings implements IGtagSettings {\n contentGroup!: string;\n referrer!: string;\n\n constructor(data?: IGtagSettings) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.contentGroup = _data[\"contentGroup\"];\n this.referrer = _data[\"referrer\"];\n }\n }\n\n static fromJS(data: any): GtagSettings {\n data = typeof data === 'object' ? data : {};\n let result = new GtagSettings();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"contentGroup\"] = this.contentGroup;\n data[\"referrer\"] = this.referrer;\n return data;\n }\n}\n\nexport interface IGtagSettings {\n contentGroup: string;\n referrer: string;\n}\n\nexport class ChatbotConfiguration implements IChatbotConfiguration {\n area?: ChatbotEnabledArea;\n\n constructor(data?: IChatbotConfiguration) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.area = _data[\"area\"];\n }\n }\n\n static fromJS(data: any): ChatbotConfiguration {\n data = typeof data === 'object' ? data : {};\n let result = new ChatbotConfiguration();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"area\"] = this.area;\n return data;\n }\n}\n\nexport interface IChatbotConfiguration {\n area?: ChatbotEnabledArea;\n}\n\nexport enum ChatbotEnabledArea {\n None = \"None\",\n SupportFlow = \"SupportFlow\",\n}\n\nexport enum ChatbotVersion {\n None = 0,\n Inbenta = 1,\n GptV1 = 2,\n}\n\nexport class ContentfulSettings implements IContentfulSettings {\n space!: string;\n accessToken!: string;\n environment!: string;\n host!: string;\n\n constructor(data?: IContentfulSettings) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.space = _data[\"space\"];\n this.accessToken = _data[\"accessToken\"];\n this.environment = _data[\"environment\"];\n this.host = _data[\"host\"];\n }\n }\n\n static fromJS(data: any): ContentfulSettings {\n data = typeof data === 'object' ? data : {};\n let result = new ContentfulSettings();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"space\"] = this.space;\n data[\"accessToken\"] = this.accessToken;\n data[\"environment\"] = this.environment;\n data[\"host\"] = this.host;\n return data;\n }\n}\n\nexport interface IContentfulSettings {\n space: string;\n accessToken: string;\n environment: string;\n host: string;\n}\n\nexport class FeatureFlags implements IFeatureFlags {\n enableQuickAnswerModernDesign!: boolean;\n quickAnswerConfiguration!: QuickAnswerConfiguration;\n enablePreSupportChatbot!: boolean;\n impersonationControlPhase2!: boolean;\n newExcitingFeature!: boolean;\n askSupportButtonText!: string;\n showOnboardingMessage!: boolean;\n enableCategoryDetection!: boolean;\n showSupportChatTimeoutNotification!: boolean;\n\n constructor(data?: IFeatureFlags) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n if (!data) {\n this.quickAnswerConfiguration = new QuickAnswerConfiguration();\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.enableQuickAnswerModernDesign = _data[\"enableQuickAnswerModernDesign\"];\n this.quickAnswerConfiguration = _data[\"quickAnswerConfiguration\"] ? QuickAnswerConfiguration.fromJS(_data[\"quickAnswerConfiguration\"]) : new QuickAnswerConfiguration();\n this.enablePreSupportChatbot = _data[\"enablePreSupportChatbot\"];\n this.impersonationControlPhase2 = _data[\"impersonationControlPhase2\"];\n this.newExcitingFeature = _data[\"newExcitingFeature\"];\n this.askSupportButtonText = _data[\"askSupportButtonText\"];\n this.showOnboardingMessage = _data[\"showOnboardingMessage\"];\n this.enableCategoryDetection = _data[\"enableCategoryDetection\"];\n this.showSupportChatTimeoutNotification = _data[\"showSupportChatTimeoutNotification\"];\n }\n }\n\n static fromJS(data: any): FeatureFlags {\n data = typeof data === 'object' ? data : {};\n let result = new FeatureFlags();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"enableQuickAnswerModernDesign\"] = this.enableQuickAnswerModernDesign;\n data[\"quickAnswerConfiguration\"] = this.quickAnswerConfiguration ? this.quickAnswerConfiguration.toJSON() : <any>undefined;\n data[\"enablePreSupportChatbot\"] = this.enablePreSupportChatbot;\n data[\"impersonationControlPhase2\"] = this.impersonationControlPhase2;\n data[\"newExcitingFeature\"] = this.newExcitingFeature;\n data[\"askSupportButtonText\"] = this.askSupportButtonText;\n data[\"showOnboardingMessage\"] = this.showOnboardingMessage;\n data[\"enableCategoryDetection\"] = this.enableCategoryDetection;\n data[\"showSupportChatTimeoutNotification\"] = this.showSupportChatTimeoutNotification;\n return data;\n }\n}\n\nexport interface IFeatureFlags {\n enableQuickAnswerModernDesign: boolean;\n quickAnswerConfiguration: QuickAnswerConfiguration;\n enablePreSupportChatbot: boolean;\n impersonationControlPhase2: boolean;\n newExcitingFeature: boolean;\n askSupportButtonText: string;\n showOnboardingMessage: boolean;\n enableCategoryDetection: boolean;\n showSupportChatTimeoutNotification: boolean;\n}\n\nexport class QuickAnswerConfiguration implements IQuickAnswerConfiguration {\n multiTurnEnabled!: boolean;\n multiTurnButtonIcon?: string | undefined;\n multiTurnButtonText?: string | undefined;\n\n constructor(data?: IQuickAnswerConfiguration) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.multiTurnEnabled = _data[\"multiTurnEnabled\"];\n this.multiTurnButtonIcon = _data[\"multiTurnButtonIcon\"];\n this.multiTurnButtonText = _data[\"multiTurnButtonText\"];\n }\n }\n\n static fromJS(data: any): QuickAnswerConfiguration {\n data = typeof data === 'object' ? data : {};\n let result = new QuickAnswerConfiguration();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"multiTurnEnabled\"] = this.multiTurnEnabled;\n data[\"multiTurnButtonIcon\"] = this.multiTurnButtonIcon;\n data[\"multiTurnButtonText\"] = this.multiTurnButtonText;\n return data;\n }\n}\n\nexport interface IQuickAnswerConfiguration {\n multiTurnEnabled: boolean;\n multiTurnButtonIcon?: string | undefined;\n multiTurnButtonText?: string | undefined;\n}\n\nexport enum ServiceEnvironment {\n Undefined = 0,\n Production = 1,\n Practice = 2,\n Next = 3,\n Stage = 4,\n Development = 5,\n}\n\nexport class SalesforceSettings implements ISalesforceSettings {\n orgId!: string;\n chatButtonId!: string;\n chatDeploymentId!: string;\n chatDeploymentUri!: string;\n chatUri!: string;\n chatProxyUri!: string;\n chatEmbeddedUri!: string;\n\n constructor(data?: ISalesforceSettings) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.orgId = _data[\"orgId\"];\n this.chatButtonId = _data[\"chatButtonId\"];\n this.chatDeploymentId = _data[\"chatDeploymentId\"];\n this.chatDeploymentUri = _data[\"chatDeploymentUri\"];\n this.chatUri = _data[\"chatUri\"];\n this.chatProxyUri = _data[\"chatProxyUri\"];\n this.chatEmbeddedUri = _data[\"chatEmbeddedUri\"];\n }\n }\n\n static fromJS(data: any): SalesforceSettings {\n data = typeof data === 'object' ? data : {};\n let result = new SalesforceSettings();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"orgId\"] = this.orgId;\n data[\"chatButtonId\"] = this.chatButtonId;\n data[\"chatDeploymentId\"] = this.chatDeploymentId;\n data[\"chatDeploymentUri\"] = this.chatDeploymentUri;\n data[\"chatUri\"] = this.chatUri;\n data[\"chatProxyUri\"] = this.chatProxyUri;\n data[\"chatEmbeddedUri\"] = this.chatEmbeddedUri;\n return data;\n }\n}\n\nexport interface ISalesforceSettings {\n orgId: string;\n chatButtonId: string;\n chatDeploymentId: string;\n chatDeploymentUri: string;\n chatUri: string;\n chatProxyUri: string;\n chatEmbeddedUri: string;\n}\n\nexport class SearchSettings implements ISearchSettings {\n sessionSource!: string;\n sources!: SearchSource[];\n\n constructor(data?: ISearchSettings) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n if (!data) {\n this.sources = [];\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.sessionSource = _data[\"sessionSource\"];\n if (Array.isArray(_data[\"sources\"])) {\n this.sources = [] as any;\n for (let item of _data[\"sources\"])\n this.sources!.push(SearchSource.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): SearchSettings {\n data = typeof data === 'object' ? data : {};\n let result = new SearchSettings();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"sessionSource\"] = this.sessionSource;\n if (Array.isArray(this.sources)) {\n data[\"sources\"] = [];\n for (let item of this.sources)\n data[\"sources\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface ISearchSettings {\n sessionSource: string;\n sources: SearchSource[];\n}\n\nexport class SearchSource implements ISearchSource {\n id!: string;\n name!: string;\n title!: string;\n url!: string;\n\n constructor(data?: ISearchSource) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n this.title = _data[\"title\"];\n this.url = _data[\"url\"];\n }\n }\n\n static fromJS(data: any): SearchSource {\n data = typeof data === 'object' ? data : {};\n let result = new SearchSource();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n data[\"title\"] = this.title;\n data[\"url\"] = this.url;\n return data;\n }\n}\n\nexport interface ISearchSource {\n id: string;\n name: string;\n title: string;\n url: string;\n}\n\nexport class SupportFlowSettings implements ISupportFlowSettings {\n enableChatQueuePosition!: boolean;\n helpCenterPendoGuidesEnabled!: boolean;\n helpCenterFloatingChatEnabled!: boolean;\n enableHelpCenterLiveAgentChatV2!: boolean;\n enableVisualIvr!: boolean;\n showCompanyCases!: boolean;\n isEnterpriseHub!: boolean;\n showPersonalCases!: boolean;\n supportFlowSoftTimeout!: number;\n supportFlowHardTimeout!: number;\n impersonationConsentDurationHours!: number;\n contactField?: string | undefined;\n contactId?: string | undefined;\n supportFlowVersion!: SupportFlow;\n supportType!: SupportTypeMode;\n supportWorkingHours!: SupportWorkingHours;\n helpCenterChatbotQuickAnswer?: HelpCenterChatbotQuickAnswer | undefined;\n enableEmailComposer!: boolean;\n helpCenterSupportFlowStepOrder!: SupportFlowStepOrder;\n\n constructor(data?: ISupportFlowSettings) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n if (!data) {\n this.supportWorkingHours = new SupportWorkingHours();\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.enableChatQueuePosition = _data[\"enableChatQueuePosition\"];\n this.helpCenterPendoGuidesEnabled = _data[\"helpCenterPendoGuidesEnabled\"];\n this.helpCenterFloatingChatEnabled = _data[\"helpCenterFloatingChatEnabled\"];\n this.enableHelpCenterLiveAgentChatV2 = _data[\"enableHelpCenterLiveAgentChatV2\"];\n this.enableVisualIvr = _data[\"enableVisualIvr\"];\n this.showCompanyCases = _data[\"showCompanyCases\"];\n this.isEnterpriseHub = _data[\"isEnterpriseHub\"];\n this.showPersonalCases = _data[\"showPersonalCases\"];\n this.supportFlowSoftTimeout = _data[\"supportFlowSoftTimeout\"];\n this.supportFlowHardTimeout = _data[\"supportFlowHardTimeout\"];\n this.impersonationConsentDurationHours = _data[\"impersonationConsentDurationHours\"];\n this.contactField = _data[\"contactField\"];\n this.contactId = _data[\"contactId\"];\n this.supportFlowVersion = _data[\"supportFlowVersion\"];\n this.supportType = _data[\"supportType\"];\n this.supportWorkingHours = _data[\"supportWorkingHours\"] ? SupportWorkingHours.fromJS(_data[\"supportWorkingHours\"]) : new SupportWorkingHours();\n this.helpCenterChatbotQuickAnswer = _data[\"helpCenterChatbotQuickAnswer\"] ? HelpCenterChatbotQuickAnswer.fromJS(_data[\"helpCenterChatbotQuickAnswer\"]) : <any>undefined;\n this.enableEmailComposer = _data[\"enableEmailComposer\"];\n this.helpCenterSupportFlowStepOrder = _data[\"helpCenterSupportFlowStepOrder\"];\n }\n }\n\n static fromJS(data: any): SupportFlowSettings {\n data = typeof data === 'object' ? data : {};\n let result = new SupportFlowSettings();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"enableChatQueuePosition\"] = this.enableChatQueuePosition;\n data[\"helpCenterPendoGuidesEnabled\"] = this.helpCenterPendoGuidesEnabled;\n data[\"helpCenterFloatingChatEnabled\"] = this.helpCenterFloatingChatEnabled;\n data[\"enableHelpCenterLiveAgentChatV2\"] = this.enableHelpCenterLiveAgentChatV2;\n data[\"enableVisualIvr\"] = this.enableVisualIvr;\n data[\"showCompanyCases\"] = this.showCompanyCases;\n data[\"isEnterpriseHub\"] = this.isEnterpriseHub;\n data[\"showPersonalCases\"] = this.showPersonalCases;\n data[\"supportFlowSoftTimeout\"] = this.supportFlowSoftTimeout;\n data[\"supportFlowHardTimeout\"] = this.supportFlowHardTimeout;\n data[\"impersonationConsentDurationHours\"] = this.impersonationConsentDurationHours;\n data[\"contactField\"] = this.contactField;\n data[\"contactId\"] = this.contactId;\n data[\"supportFlowVersion\"] = this.supportFlowVersion;\n data[\"supportType\"] = this.supportType;\n data[\"supportWorkingHours\"] = this.supportWorkingHours ? this.supportWorkingHours.toJSON() : <any>undefined;\n data[\"helpCenterChatbotQuickAnswer\"] = this.helpCenterChatbotQuickAnswer ? this.helpCenterChatbotQuickAnswer.toJSON() : <any>undefined;\n data[\"enableEmailComposer\"] = this.enableEmailComposer;\n data[\"helpCenterSupportFlowStepOrder\"] = this.helpCenterSupportFlowStepOrder;\n return data;\n }\n}\n\nexport interface ISupportFlowSettings {\n enableChatQueuePosition: boolean;\n helpCenterPendoGuidesEnabled: boolean;\n helpCenterFloatingChatEnabled: boolean;\n enableHelpCenterLiveAgentChatV2: boolean;\n enableVisualIvr: boolean;\n showCompanyCases: boolean;\n isEnterpriseHub: boolean;\n showPersonalCases: boolean;\n supportFlowSoftTimeout: number;\n supportFlowHardTimeout: number;\n impersonationConsentDurationHours: number;\n contactField?: string | undefined;\n contactId?: string | undefined;\n supportFlowVersion: SupportFlow;\n supportType: SupportTypeMode;\n supportWorkingHours: SupportWorkingHours;\n helpCenterChatbotQuickAnswer?: HelpCenterChatbotQuickAnswer | undefined;\n enableEmailComposer: boolean;\n helpCenterSupportFlowStepOrder: SupportFlowStepOrder;\n}\n\nexport enum SupportFlow {\n IssueFirst2 = 2,\n}\n\nexport enum SupportTypeMode {\n ServicetitanSalesforce = 0,\n ZorwareZendesk = 1,\n Freshdesk = 2,\n}\n\nexport class SupportWorkingHours implements ISupportWorkingHours {\n callback!: WorkingHoursSchedule;\n chat!: WorkingHoursSchedule;\n\n constructor(data?: ISupportWorkingHours) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n if (!data) {\n this.callback = new WorkingHoursSchedule();\n this.chat = new WorkingHoursSchedule();\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.callback = _data[\"callback\"] ? WorkingHoursSchedule.fromJS(_data[\"callback\"]) : new WorkingHoursSchedule();\n this.chat = _data[\"chat\"] ? WorkingHoursSchedule.fromJS(_data[\"chat\"]) : new WorkingHoursSchedule();\n }\n }\n\n static fromJS(data: any): SupportWorkingHours {\n data = typeof data === 'object' ? data : {};\n let result = new SupportWorkingHours();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"callback\"] = this.callback ? this.callback.toJSON() : <any>undefined;\n data[\"chat\"] = this.chat ? this.chat.toJSON() : <any>undefined;\n return data;\n }\n}\n\nexport interface ISupportWorkingHours {\n callback: WorkingHoursSchedule;\n chat: WorkingHoursSchedule;\n}\n\nexport class WorkingHoursSchedule implements IWorkingHoursSchedule {\n workingHours!: { [key: string]: WorkingHours; };\n message!: string;\n\n constructor(data?: IWorkingHoursSchedule) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n if (!data) {\n this.workingHours = {};\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (_data[\"workingHours\"]) {\n this.workingHours = {} as any;\n for (let key in _data[\"workingHours\"]) {\n if (_data[\"workingHours\"].hasOwnProperty(key))\n (<any>this.workingHours)![key] = _data[\"workingHours\"][key] ? WorkingHours.fromJS(_data[\"workingHours\"][key]) : new WorkingHours();\n }\n }\n this.message = _data[\"message\"];\n }\n }\n\n static fromJS(data: any): WorkingHoursSchedule {\n data = typeof data === 'object' ? data : {};\n let result = new WorkingHoursSchedule();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (this.workingHours) {\n data[\"workingHours\"] = {};\n for (let key in this.workingHours) {\n if (this.workingHours.hasOwnProperty(key))\n (<any>data[\"workingHours\"])[key] = this.workingHours[key] ? this.workingHours[key].toJSON() : <any>undefined;\n }\n }\n data[\"message\"] = this.message;\n return data;\n }\n}\n\nexport interface IWorkingHoursSchedule {\n workingHours: { [key: string]: WorkingHours; };\n message: string;\n}\n\nexport class WorkingHours implements IWorkingHours {\n start!: string;\n finish!: string;\n\n constructor(data?: IWorkingHours) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.start = _data[\"start\"];\n this.finish = _data[\"finish\"];\n }\n }\n\n static fromJS(data: any): WorkingHours {\n data = typeof data === 'object' ? data : {};\n let result = new WorkingHours();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"start\"] = this.start;\n data[\"finish\"] = this.finish;\n return data;\n }\n}\n\nexport interface IWorkingHours {\n start: string;\n finish: string;\n}\n\nexport class HelpCenterChatbotQuickAnswer implements IHelpCenterChatbotQuickAnswer {\n enabled?: boolean;\n\n constructor(data?: IHelpCenterChatbotQuickAnswer) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.enabled = _data[\"enabled\"];\n }\n }\n\n static fromJS(data: any): HelpCenterChatbotQuickAnswer {\n data = typeof data === 'object' ? data : {};\n let result = new HelpCenterChatbotQuickAnswer();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"enabled\"] = this.enabled;\n return data;\n }\n}\n\nexport interface IHelpCenterChatbotQuickAnswer {\n enabled?: boolean;\n}\n\nexport enum SupportFlowStepOrder {\n CategoryFirst = 0,\n DescriptionFirst = 1,\n}\n\nexport class SupportComponents implements ISupportComponents {\n items!: SupportComponent[];\n categoryTopicMapping!: SupportCategoryTopicMapping[];\n\n constructor(data?: ISupportComponents) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n if (!data) {\n this.items = [];\n this.categoryTopicMapping = [];\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"items\"])) {\n this.items = [] as any;\n for (let item of _data[\"items\"])\n this.items!.push(SupportComponent.fromJS(item));\n }\n if (Array.isArray(_data[\"categoryTopicMapping\"])) {\n this.categoryTopicMapping = [] as any;\n for (let item of _data[\"categoryTopicMapping\"])\n this.categoryTopicMapping!.push(SupportCategoryTopicMapping.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): SupportComponents {\n data = typeof data === 'object' ? data : {};\n let result = new SupportComponents();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.items)) {\n data[\"items\"] = [];\n for (let item of this.items)\n data[\"items\"].push(item.toJSON());\n }\n if (Array.isArray(this.categoryTopicMapping)) {\n data[\"categoryTopicMapping\"] = [];\n for (let item of this.categoryTopicMapping)\n data[\"categoryTopicMapping\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface ISupportComponents {\n items: SupportComponent[];\n categoryTopicMapping: SupportCategoryTopicMapping[];\n}\n\nexport class SupportComponent implements ISupportComponent {\n id!: string;\n name!: string;\n button?: string | undefined;\n context?: string | undefined;\n channels?: SupportChannel[] | undefined;\n subComponents?: SupportComponent[] | undefined;\n\n constructor(data?: ISupportComponent) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n this.button = _data[\"button\"];\n this.context = _data[\"context\"];\n if (Array.isArray(_data[\"channels\"])) {\n this.channels = [] as any;\n for (let item of _data[\"channels\"])\n this.channels!.push(item);\n }\n if (Array.isArray(_data[\"subComponents\"])) {\n this.subComponents = [] as any;\n for (let item of _data[\"subComponents\"])\n this.subComponents!.push(SupportComponent.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): SupportComponent {\n data = typeof data === 'object' ? data : {};\n let result = new SupportComponent();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n data[\"button\"] = this.button;\n data[\"context\"] = this.context;\n if (Array.isArray(this.channels)) {\n data[\"channels\"] = [];\n for (let item of this.channels)\n data[\"channels\"].push(item);\n }\n if (Array.isArray(this.subComponents)) {\n data[\"subComponents\"] = [];\n for (let item of this.subComponents)\n data[\"subComponents\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface ISupportComponent {\n id: string;\n name: string;\n button?: string | undefined;\n context?: string | undefined;\n channels?: SupportChannel[] | undefined;\n subComponents?: SupportComponent[] | undefined;\n}\n\nexport enum SupportChannel {\n Unknown = 0,\n Email = 1,\n Chat = 2,\n Callback = 3,\n EmergencyCallback = 4,\n SpecialistCallback = 5,\n}\n\nexport class SupportCategoryTopicMapping implements ISupportCategoryTopicMapping {\n id!: string;\n label!: string;\n description!: string;\n topics!: string[];\n\n constructor(data?: ISupportCategoryTopicMapping) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n if (!data) {\n this.topics = [];\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.label = _data[\"label\"];\n this.description = _data[\"description\"];\n if (Array.isArray(_data[\"topics\"])) {\n this.topics = [] as any;\n for (let item of _data[\"topics\"])\n this.topics!.push(item);\n }\n }\n }\n\n static fromJS(data: any): SupportCategoryTopicMapping {\n data = typeof data === 'object' ? data : {};\n let result = new SupportCategoryTopicMapping();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"label\"] = this.label;\n data[\"description\"] = this.description;\n if (Array.isArray(this.topics)) {\n data[\"topics\"] = [];\n for (let item of this.topics)\n data[\"topics\"].push(item);\n }\n return data;\n }\n}\n\nexport interface ISupportCategoryTopicMapping {\n id: string;\n label: string;\n description: string;\n topics: string[];\n}\n\nexport class InbentaAccessToken implements IInbentaAccessToken {\n accessToken!: string;\n expiration!: number;\n expires_in!: number;\n apis!: InbentaApis;\n apiKey!: string;\n\n constructor(data?: IInbentaAccessToken) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n if (!data) {\n this.apis = new InbentaApis();\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.accessToken = _data[\"accessToken\"];\n this.expiration = _data[\"expiration\"];\n this.expires_in = _data[\"expires_in\"];\n this.apis = _data[\"apis\"] ? InbentaApis.fromJS(_data[\"apis\"]) : new InbentaApis();\n this.apiKey = _data[\"apiKey\"];\n }\n }\n\n static fromJS(data: any): InbentaAccessToken {\n data = typeof data === 'object' ? data : {};\n let result = new InbentaAccessToken();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"accessToken\"] = this.accessToken;\n data[\"expiration\"] = this.expiration;\n data[\"expires_in\"] = this.expires_in;\n data[\"apis\"] = this.apis ? this.apis.toJSON() : <any>undefined;\n data[\"apiKey\"] = this.apiKey;\n return data;\n }\n}\n\nexport interface IInbentaAccessToken {\n accessToken: string;\n expiration: number;\n expires_in: number;\n apis: InbentaApis;\n apiKey: string;\n}\n\nexport class InbentaApis implements IInbentaApis {\n knowledge!: string;\n search!: string;\n ticketing!: string;\n\n constructor(data?: IInbentaApis) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.knowledge = _data[\"knowledge\"];\n this.search = _data[\"search\"];\n this.ticketing = _data[\"ticketing\"];\n }\n }\n\n static fromJS(data: any): InbentaApis {\n data = typeof data === 'object' ? data : {};\n let result = new InbentaApis();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"knowledge\"] = this.knowledge;\n data[\"search\"] = this.search;\n data[\"ticketing\"] = this.ticketing;\n return data;\n }\n}\n\nexport interface IInbentaApis {\n knowledge: string;\n search: string;\n ticketing: string;\n}\n\nexport class PageRecommendations implements IPageRecommendations {\n path!: string;\n exact?: boolean;\n recommendations!: Recommendation[];\n\n constructor(data?: IPageRecommendations) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n if (!data) {\n this.recommendations = [];\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.path = _data[\"path\"];\n this.exact = _data[\"exact\"];\n if (Array.isArray(_data[\"recommendations\"])) {\n this.recommendations = [] as any;\n for (let item of _data[\"recommendations\"])\n this.recommendations!.push(Recommendation.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): PageRecommendations {\n data = typeof data === 'object' ? data : {};\n let result = new PageRecommendations();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"path\"] = this.path;\n data[\"exact\"] = this.exact;\n if (Array.isArray(this.recommendations)) {\n data[\"recommendations\"] = [];\n for (let item of this.recommendations)\n data[\"recommendations\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IPageRecommendations {\n path: string;\n exact?: boolean;\n recommendations: Recommendation[];\n}\n\nexport class Recommendation implements IRecommendation {\n resource!: Resource;\n links!: Link[];\n\n constructor(data?: IRecommendation) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n if (!data) {\n this.resource = new Resource();\n this.links = [];\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.resource = _data[\"resource\"] ? Resource.fromJS(_data[\"resource\"]) : new Resource();\n if (Array.isArray(_data[\"links\"])) {\n this.links = [] as any;\n for (let item of _data[\"links\"])\n this.links!.push(Link.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): Recommendation {\n data = typeof data === 'object' ? data : {};\n let result = new Recommendation();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"resource\"] = this.resource ? this.resource.toJSON() : <any>undefined;\n if (Array.isArray(this.links)) {\n data[\"links\"] = [];\n for (let item of this.links)\n data[\"links\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IRecommendation {\n resource: Resource;\n links: Link[];\n}\n\nexport class Resource implements IResource {\n name!: string;\n title!: string;\n url!: string;\n\n constructor(data?: IResource) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.title = _data[\"title\"];\n this.url = _data[\"url\"];\n }\n }\n\n static fromJS(data: any): Resource {\n data = typeof data === 'object' ? data : {};\n let result = new Resource();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"title\"] = this.title;\n data[\"url\"] = this.url;\n return data;\n }\n}\n\nexport interface IResource {\n name: string;\n title: string;\n url: string;\n}\n\nexport class Link implements ILink {\n title!: string;\n url!: string;\n articleId?: string | undefined;\n scrollTo?: string | undefined;\n\n constructor(data?: ILink) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.title = _data[\"title\"];\n this.url = _data[\"url\"];\n this.articleId = _data[\"articleId\"];\n this.scrollTo = _data[\"scrollTo\"];\n }\n }\n\n static fromJS(data: any): Link {\n data = typeof data === 'object' ? data : {};\n let result = new Link();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"title\"] = this.title;\n data[\"url\"] = this.url;\n data[\"articleId\"] = this.articleId;\n data[\"scrollTo\"] = this.scrollTo;\n return data;\n }\n}\n\nexport interface ILink {\n title: string;\n url: string;\n articleId?: string | undefined;\n scrollTo?: string | undefined;\n}\n\nexport class HelpCenterUserData implements IHelpCenterUserData {\n name?: string;\n email?: string;\n users?: HelpCenterUserModel[];\n\n constructor(data?: IHelpCenterUserData) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.email = _data[\"email\"];\n if (Array.isArray(_data[\"users\"])) {\n this.users = [] as any;\n for (let item of _data[\"users\"])\n this.users!.push(HelpCenterUserModel.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): HelpCenterUserData {\n data = typeof data === 'object' ? data : {};\n let result = new HelpCenterUserData();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"email\"] = this.email;\n if (Array.isArray(this.users)) {\n data[\"users\"] = [];\n for (let item of this.users)\n data[\"users\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface IHelpCenterUserData {\n name?: string;\n email?: string;\n users?: HelpCenterUserModel[];\n}\n\nexport class HelpCenterUserModel implements IHelpCenterUserModel {\n tenantId?: number;\n tenantName?: string;\n globalUserId?: number;\n\n constructor(data?: IHelpCenterUserModel) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.tenantId = _data[\"tenantId\"];\n this.tenantName = _data[\"tenantName\"];\n this.globalUserId = _data[\"globalUserId\"];\n }\n }\n\n static fromJS(data: any): HelpCenterUserModel {\n data = typeof data === 'object' ? data : {};\n let result = new HelpCenterUserModel();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"tenantId\"] = this.tenantId;\n data[\"tenantName\"] = this.tenantName;\n data[\"globalUserId\"] = this.globalUserId;\n return data;\n }\n}\n\nexport interface IHelpCenterUserModel {\n tenantId?: number;\n tenantName?: string;\n globalUserId?: number;\n}\n\nexport class CaseGenerationResponse implements ICaseGenerationResponse {\n createdCount!: number;\n error?: string | undefined;\n\n constructor(data?: ICaseGenerationResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.createdCount = _data[\"createdCount\"];\n this.error = _data[\"error\"];\n }\n }\n\n static fromJS(data: any): CaseGenerationResponse {\n data = typeof data === 'object' ? data : {};\n let result = new CaseGenerationResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"createdCount\"] = this.createdCount;\n data[\"error\"] = this.error;\n return data;\n }\n}\n\nexport interface ICaseGenerationResponse {\n createdCount: number;\n error?: string | undefined;\n}\n\nexport class CaseGenerationRequest implements ICaseGenerationRequest {\n newCount!: number;\n pendingCount?: number;\n solvedCount?: number;\n closedCount?: number;\n\n constructor(data?: ICaseGenerationRequest) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.newCount = _data[\"newCount\"];\n this.pendingCount = _data[\"pendingCount\"];\n this.solvedCount = _data[\"solvedCount\"];\n this.closedCount = _data[\"closedCount\"];\n }\n }\n\n static fromJS(data: any): CaseGenerationRequest {\n data = typeof data === 'object' ? data : {};\n let result = new CaseGenerationRequest();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"newCount\"] = this.newCount;\n data[\"pendingCount\"] = this.pendingCount;\n data[\"solvedCount\"] = this.solvedCount;\n data[\"closedCount\"] = this.closedCount;\n return data;\n }\n}\n\nexport interface ICaseGenerationRequest {\n newCount: number;\n pendingCount?: number;\n solvedCount?: number;\n closedCount?: number;\n}\n\nexport class CaseFilters implements ICaseFilters {\n contacts?: CaseContactFilter[] | undefined;\n statuses!: string[];\n accounts?: CaseAccount[] | undefined;\n\n constructor(data?: ICaseFilters) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n if (!data) {\n this.statuses = [];\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"contacts\"])) {\n this.contacts = [] as any;\n for (let item of _data[\"contacts\"])\n this.contacts!.push(CaseContactFilter.fromJS(item));\n }\n if (Array.isArray(_data[\"statuses\"])) {\n this.statuses = [] as any;\n for (let item of _data[\"statuses\"])\n this.statuses!.push(item);\n }\n if (Array.isArray(_data[\"accounts\"])) {\n this.accounts = [] as any;\n for (let item of _data[\"accounts\"])\n this.accounts!.push(CaseAccount.fromJS(item));\n }\n }\n }\n\n static fromJS(data: any): CaseFilters {\n data = typeof data === 'object' ? data : {};\n let result = new CaseFilters();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.contacts)) {\n data[\"contacts\"] = [];\n for (let item of this.contacts)\n data[\"contacts\"].push(item.toJSON());\n }\n if (Array.isArray(this.statuses)) {\n data[\"statuses\"] = [];\n for (let item of this.statuses)\n data[\"statuses\"].push(item);\n }\n if (Array.isArray(this.accounts)) {\n data[\"accounts\"] = [];\n for (let item of this.accounts)\n data[\"accounts\"].push(item.toJSON());\n }\n return data;\n }\n}\n\nexport interface ICaseFilters {\n contacts?: CaseContactFilter[] | undefined;\n statuses: string[];\n accounts?: CaseAccount[] | undefined;\n}\n\nexport class CaseContactFilter implements ICaseContactFilter {\n contactIds!: string[];\n name!: string;\n\n constructor(data?: ICaseContactFilter) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n if (!data) {\n this.contactIds = [];\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"contactIds\"])) {\n this.contactIds = [] as any;\n for (let item of _data[\"contactIds\"])\n this.contactIds!.push(item);\n }\n this.name = _data[\"name\"];\n }\n }\n\n static fromJS(data: any): CaseContactFilter {\n data = typeof data === 'object' ? data : {};\n let result = new CaseContactFilter();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.contactIds)) {\n data[\"contactIds\"] = [];\n for (let item of this.contactIds)\n data[\"contactIds\"].push(item);\n }\n data[\"name\"] = this.name;\n return data;\n }\n}\n\nexport interface ICaseContactFilter {\n contactIds: string[];\n name: string;\n}\n\nexport class CaseAccount implements ICaseAccount {\n id!: string;\n tenantName!: string;\n\n constructor(data?: ICaseAccount) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.tenantName = _data[\"tenantName\"];\n }\n }\n\n static fromJS(data: any): CaseAccount {\n data = typeof data === 'object' ? data : {};\n let result = new CaseAccount();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"tenantName\"] = this.tenantName;\n return data;\n }\n}\n\nexport interface ICaseAccount {\n id: string;\n tenantName: string;\n}\n\nexport class CaseResults implements ICaseResults {\n anyOpen?: boolean | undefined;\n items!: CaseResultItem[];\n done!: boolean;\n priorityToken?: CaseSortingPriority | undefined;\n caseNumberToken?: string | undefined;\n\n constructor(data?: ICaseResults) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n if (!data) {\n this.items = [];\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.anyOpen = _data[\"anyOpen\"];\n if (Array.isArray(_data[\"items\"])) {\n this.items = [] as any;\n for (let item of _data[\"items\"])\n this.items!.push(CaseResultItem.fromJS(item));\n }\n this.done = _data[\"done\"];\n this.priorityToken = _data[\"priorityToken\"];\n this.caseNumberToken = _data[\"caseNumberToken\"];\n }\n }\n\n static fromJS(data: any): CaseResults {\n data = typeof data === 'object' ? data : {};\n let result = new CaseResults();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"anyOpen\"] = this.anyOpen;\n if (Array.isArray(this.items)) {\n data[\"items\"] = [];\n for (let item of this.items)\n data[\"items\"].push(item.toJSON());\n }\n data[\"done\"] = this.done;\n data[\"priorityToken\"] = this.priorityToken;\n data[\"caseNumberToken\"] = this.caseNumberToken;\n return data;\n }\n}\n\nexport interface ICaseResults {\n anyOpen?: boolean | undefined;\n items: CaseResultItem[];\n done: boolean;\n priorityToken?: CaseSortingPriority | undefined;\n caseNumberToken?: string | undefined;\n}\n\nexport class CaseResultItem implements ICaseResultItem {\n id!: string;\n caseNumber!: string;\n origin!: string;\n channel!: SupportChannel;\n status!: string;\n priority!: CasePriority;\n subject!: string;\n component?: string | undefined;\n createdDate!: Date;\n contact!: CaseContact;\n account!: CaseAccount;\n impersonationConsent!: ImpersonationConsent;\n surveyUrl?: string | undefined;\n\n constructor(data?: ICaseResultItem) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n if (!data) {\n this.contact = new CaseContact();\n this.account = new CaseAccount();\n this.impersonationConsent = new ImpersonationConsent();\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.caseNumber = _data[\"caseNumber\"];\n this.origin = _data[\"origin\"];\n this.channel = _data[\"channel\"];\n this.status = _data[\"status\"];\n this.priority = _data[\"priority\"];\n this.subject = _data[\"subject\"];\n this.component = _data[\"component\"];\n this.createdDate = _data[\"createdDate\"] ? new Date(_data[\"createdDate\"].toString()) : <any>undefined;\n this.contact = _data[\"contact\"] ? CaseContact.fromJS(_data[\"contact\"]) : new CaseContact();\n this.account = _data[\"account\"] ? CaseAccount.fromJS(_data[\"account\"]) : new CaseAccount();\n this.impersonationConsent = _data[\"impersonationConsent\"] ? ImpersonationConsent.fromJS(_data[\"impersonationConsent\"]) : new ImpersonationConsent();\n this.surveyUrl = _data[\"surveyUrl\"];\n }\n }\n\n static fromJS(data: any): CaseResultItem {\n data = typeof data === 'object' ? data : {};\n let result = new CaseResultItem();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"caseNumber\"] = this.caseNumber;\n data[\"origin\"] = this.origin;\n data[\"channel\"] = this.channel;\n data[\"status\"] = this.status;\n data[\"priority\"] = this.priority;\n data[\"subject\"] = this.subject;\n data[\"component\"] = this.component;\n data[\"createdDate\"] = this.createdDate ? this.createdDate.toISOString() : <any>undefined;\n data[\"contact\"] = this.contact ? this.contact.toJSON() : <any>undefined;\n data[\"account\"] = this.account ? this.account.toJSON() : <any>undefined;\n data[\"impersonationConsent\"] = this.impersonationConsent ? this.impersonationConsent.toJSON() : <any>undefined;\n data[\"surveyUrl\"] = this.surveyUrl;\n return data;\n }\n}\n\nexport interface ICaseResultItem {\n id: string;\n caseNumber: string;\n origin: string;\n channel: SupportChannel;\n status: string;\n priority: CasePriority;\n subject: string;\n component?: string | undefined;\n createdDate: Date;\n contact: CaseContact;\n account: CaseAccount;\n impersonationConsent: ImpersonationConsent;\n surveyUrl?: string | undefined;\n}\n\nexport enum CasePriority {\n Closed = 0,\n Normal = 1,\n High = 2,\n}\n\nexport class CaseContact implements ICaseContact {\n id!: string;\n name!: string;\n\n constructor(data?: ICaseContact) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.name = _data[\"name\"];\n }\n }\n\n static fromJS(data: any): CaseContact {\n data = typeof data === 'object' ? data : {};\n let result = new CaseContact();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"name\"] = this.name;\n return data;\n }\n}\n\nexport interface ICaseContact {\n id: string;\n name: string;\n}\n\nexport class ImpersonationConsent implements IImpersonationConsent {\n isPermitted!: boolean;\n expiredAt?: Date | undefined;\n error?: string | undefined;\n\n constructor(data?: IImpersonationConsent) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.isPermitted = _data[\"isPermitted\"];\n this.expiredAt = _data[\"expiredAt\"] ? new Date(_data[\"expiredAt\"].toString()) : <any>undefined;\n this.error = _data[\"error\"];\n }\n }\n\n static fromJS(data: any): ImpersonationConsent {\n data = typeof data === 'object' ? data : {};\n let result = new ImpersonationConsent();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"isPermitted\"] = this.isPermitted;\n data[\"expiredAt\"] = this.expiredAt ? this.expiredAt.toISOString() : <any>undefined;\n data[\"error\"] = this.error;\n return data;\n }\n}\n\nexport interface IImpersonationConsent {\n isPermitted: boolean;\n expiredAt?: Date | undefined;\n error?: string | undefined;\n}\n\nexport enum CaseSortingPriority {\n Pending = 0,\n Other = 1,\n Solved = 2,\n Closed = 3,\n}\n\nexport enum SortingOption {\n NewestFirst = 0,\n OldestFirst = 1,\n Priority = 2,\n}\n\nexport class CaseDetails implements ICaseDetails {\n id!: string;\n caseNumber!: string;\n origin!: string;\n channel!: SupportChannel;\n status!: string;\n priority!: CasePriority;\n subject!: string;\n description?: string | undefined;\n htmlDescription?: string | undefined;\n component?: string | undefined;\n createdDate!: Date;\n lastModifiedDate!: Date;\n contact!: CaseContact;\n owner!: CaseOwner;\n messages?: CaseMessage[] | undefined;\n chatTranscript?: string | undefined;\n commentingOptions!: CommentingOptions;\n replySubject?: string | undefined;\n replyRef?: string | undefined;\n account!: CaseAccount;\n impersonationConsent!: ImpersonationConsent;\n surveyUrl?: string | undefined;\n\n constructor(data?: ICaseDetails) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n if (!data) {\n this.contact = new CaseContact();\n this.owner = new CaseOwner();\n this.account = new CaseAccount();\n this.impersonationConsent = new ImpersonationConsent();\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.caseNumber = _data[\"caseNumber\"];\n this.origin = _data[\"origin\"];\n this.channel = _data[\"channel\"];\n this.status = _data[\"status\"];\n this.priority = _data[\"priority\"];\n this.subject = _data[\"subject\"];\n this.description = _data[\"description\"];\n this.htmlDescription = _data[\"htmlDescription\"];\n this.component = _data[\"component\"];\n this.createdDate = _data[\"createdDate\"] ? new Date(_data[\"createdDate\"].toString()) : <any>undefined;\n this.lastModifiedDate = _data[\"lastModifiedDate\"] ? new Date(_data[\"lastModifiedDate\"].toString()) : <any>undefined;\n this.contact = _data[\"contact\"] ? CaseContact.fromJS(_data[\"contact\"]) : new CaseContact();\n this.owner = _data[\"owner\"] ? CaseOwner.fromJS(_data[\"owner\"]) : new CaseOwner();\n if (Array.isArray(_data[\"messages\"])) {\n this.messages = [] as any;\n for (let item of _data[\"messages\"])\n this.messages!.push(CaseMessage.fromJS(item));\n }\n this.chatTranscript = _data[\"chatTranscript\"];\n this.commentingOptions = _data[\"commentingOptions\"];\n this.replySubject = _data[\"replySubject\"];\n this.replyRef = _data[\"replyRef\"];\n this.account = _data[\"account\"] ? CaseAccount.fromJS(_data[\"account\"]) : new CaseAccount();\n this.impersonationConsent = _data[\"impersonationConsent\"] ? ImpersonationConsent.fromJS(_data[\"impersonationConsent\"]) : new ImpersonationConsent();\n this.surveyUrl = _data[\"surveyUrl\"];\n }\n }\n\n static fromJS(data: any): CaseDetails {\n data = typeof data === 'object' ? data : {};\n let result = new CaseDetails();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"caseNumber\"] = this.caseNumber;\n data[\"origin\"] = this.origin;\n data[\"channel\"] = this.channel;\n data[\"status\"] = this.status;\n data[\"priority\"] = this.priority;\n data[\"subject\"] = this.subject;\n data[\"description\"] = this.description;\n data[\"htmlDescription\"] = this.htmlDescription;\n data[\"component\"] = this.component;\n data[\"createdDate\"] = this.createdDate ? this.createdDate.toISOString() : <any>undefined;\n data[\"lastModifiedDate\"] = this.lastModifiedDate ? this.lastModifiedDate.toISOString() : <any>undefined;\n data[\"contact\"] = this.contact ? this.contact.toJSON() : <any>undefined;\n data[\"owner\"] = this.owner ? this.owner.toJSON() : <any>undefined;\n if (Array.isArray(this.messages)) {\n data[\"messages\"] = [];\n for (let item of this.messages)\n data[\"messages\"].push(item.toJSON());\n }\n data[\"chatTranscript\"] = this.chatTranscript;\n data[\"commentingOptions\"] = this.commentingOptions;\n data[\"replySubject\"] = this.replySubject;\n data[\"replyRef\"] = this.replyRef;\n data[\"account\"] = this.account ? this.account.toJSON() : <any>undefined;\n data[\"impersonationConsent\"] = this.impersonationConsent ? this.impersonationConsent.toJSON() : <any>undefined;\n data[\"surveyUrl\"] = this.surveyUrl;\n return data;\n }\n}\n\nexport interface ICaseDetails {\n id: string;\n caseNumber: string;\n origin: string;\n channel: SupportChannel;\n status: string;\n priority: CasePriority;\n subject: string;\n description?: string | undefined;\n htmlDescription?: string | undefined;\n component?: string | undefined;\n createdDate: Date;\n lastModifiedDate: Date;\n contact: CaseContact;\n owner: CaseOwner;\n messages?: CaseMessage[] | undefined;\n chatTranscript?: string | undefined;\n commentingOptions: CommentingOptions;\n replySubject?: string | undefined;\n replyRef?: string | undefined;\n account: CaseAccount;\n impersonationConsent: ImpersonationConsent;\n surveyUrl?: string | undefined;\n}\n\nexport class CaseOwner implements ICaseOwner {\n name?: string;\n\n constructor(data?: ICaseOwner) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n }\n }\n\n static fromJS(data: any): CaseOwner {\n data = typeof data === 'object' ? data : {};\n let result = new CaseOwner();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n return data;\n }\n}\n\nexport interface ICaseOwner {\n name?: string;\n}\n\nexport class CaseMessage implements ICaseMessage {\n isAgent!: boolean;\n name!: string;\n body!: string;\n htmlBody!: string;\n attachments?: CaseAttachment[] | undefined;\n messageDate!: Date;\n\n constructor(data?: ICaseMessage) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.isAgent = _data[\"isAgent\"];\n this.name = _data[\"name\"];\n this.body = _data[\"body\"];\n this.htmlBody = _data[\"htmlBody\"];\n if (Array.isArray(_data[\"attachments\"])) {\n this.attachments = [] as any;\n for (let item of _data[\"attachments\"])\n this.attachments!.push(CaseAttachment.fromJS(item));\n }\n this.messageDate = _data[\"messageDate\"] ? new Date(_data[\"messageDate\"].toString()) : <any>undefined;\n }\n }\n\n static fromJS(data: any): CaseMessage {\n data = typeof data === 'object' ? data : {};\n let result = new CaseMessage();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"isAgent\"] = this.isAgent;\n data[\"name\"] = this.name;\n data[\"body\"] = this.body;\n data[\"htmlBody\"] = this.htmlBody;\n if (Array.isArray(this.attachments)) {\n data[\"attachments\"] = [];\n for (let item of this.attachments)\n data[\"attachments\"].push(item.toJSON());\n }\n data[\"messageDate\"] = this.messageDate ? this.messageDate.toISOString() : <any>undefined;\n return data;\n }\n}\n\nexport interface ICaseMessage {\n isAgent: boolean;\n name: string;\n body: string;\n htmlBody: string;\n attachments?: CaseAttachment[] | undefined;\n messageDate: Date;\n}\n\nexport class CaseAttachment implements ICaseAttachment {\n name!: string;\n downloadUrl?: string | undefined;\n\n constructor(data?: ICaseAttachment) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.name = _data[\"name\"];\n this.downloadUrl = _data[\"downloadUrl\"];\n }\n }\n\n static fromJS(data: any): CaseAttachment {\n data = typeof data === 'object' ? data : {};\n let result = new CaseAttachment();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"name\"] = this.name;\n data[\"downloadUrl\"] = this.downloadUrl;\n return data;\n }\n}\n\nexport interface ICaseAttachment {\n name: string;\n downloadUrl?: string | undefined;\n}\n\nexport enum CommentingOptions {\n None = 0,\n Allowed = 1,\n WaitingAgent = 2,\n Closed = 3,\n}\n\nexport class EmailResult implements IEmailResult {\n succeeded?: boolean;\n error?: string | undefined;\n\n constructor(data?: IEmailResult) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.succeeded = _data[\"succeeded\"];\n this.error = _data[\"error\"];\n }\n }\n\n static fromJS(data: any): EmailResult {\n data = typeof data === 'object' ? data : {};\n let result = new EmailResult();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"succeeded\"] = this.succeeded;\n data[\"error\"] = this.error;\n return data;\n }\n}\n\nexport interface IEmailResult {\n succeeded?: boolean;\n error?: string | undefined;\n}\n\nexport class SupportOnline implements ISupportOnline {\n isOnline!: boolean;\n changeStatusTimeInSeconds!: number;\n\n constructor(data?: ISupportOnline) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.isOnline = _data[\"isOnline\"];\n this.changeStatusTimeInSeconds = _data[\"changeStatusTimeInSeconds\"];\n }\n }\n\n static fromJS(data: any): SupportOnline {\n data = typeof data === 'object' ? data : {};\n let result = new SupportOnline();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"isOnline\"] = this.isOnline;\n data[\"changeStatusTimeInSeconds\"] = this.changeStatusTimeInSeconds;\n return data;\n }\n}\n\nexport interface ISupportOnline {\n isOnline: boolean;\n changeStatusTimeInSeconds: number;\n}\n\nexport class CallbackResponse implements ICallbackResponse {\n success!: boolean;\n error?: string | undefined;\n\n constructor(data?: ICallbackResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.success = _data[\"success\"];\n this.error = _data[\"error\"];\n }\n }\n\n static fromJS(data: any): CallbackResponse {\n data = typeof data === 'object' ? data : {};\n let result = new CallbackResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"success\"] = this.success;\n data[\"error\"] = this.error;\n return data;\n }\n}\n\nexport interface ICallbackResponse {\n success: boolean;\n error?: string | undefined;\n}\n\nexport class CallbackRequest implements ICallbackRequest {\n caseTrackingId!: string;\n componentId!: string;\n callbackNumber!: string;\n name!: string;\n subject!: string;\n description!: string;\n chatbotSessionId?: number | undefined;\n externalUserId?: string | undefined;\n\n constructor(data?: ICallbackRequest) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.caseTrackingId = _data[\"caseTrackingId\"];\n this.componentId = _data[\"componentId\"];\n this.callbackNumber = _data[\"callbackNumber\"];\n this.name = _data[\"name\"];\n this.subject = _data[\"subject\"];\n this.description = _data[\"description\"];\n this.chatbotSessionId = _data[\"chatbotSessionId\"];\n this.externalUserId = _data[\"externalUserId\"];\n }\n }\n\n static fromJS(data: any): CallbackRequest {\n data = typeof data === 'object' ? data : {};\n let result = new CallbackRequest();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"caseTrackingId\"] = this.caseTrackingId;\n data[\"componentId\"] = this.componentId;\n data[\"callbackNumber\"] = this.callbackNumber;\n data[\"name\"] = this.name;\n data[\"subject\"] = this.subject;\n data[\"description\"] = this.description;\n data[\"chatbotSessionId\"] = this.chatbotSessionId;\n data[\"externalUserId\"] = this.externalUserId;\n return data;\n }\n}\n\nexport interface ICallbackRequest {\n caseTrackingId: string;\n componentId: string;\n callbackNumber: string;\n name: string;\n subject: string;\n description: string;\n chatbotSessionId?: number | undefined;\n externalUserId?: string | undefined;\n}\n\nexport class NewCaseResponse implements INewCaseResponse {\n caseTrackingId!: string;\n\n constructor(data?: INewCaseResponse) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.caseTrackingId = _data[\"caseTrackingId\"];\n }\n }\n\n static fromJS(data: any): NewCaseResponse {\n data = typeof data === 'object' ? data : {};\n let result = new NewCaseResponse();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"caseTrackingId\"] = this.caseTrackingId;\n return data;\n }\n}\n\nexport interface INewCaseResponse {\n caseTrackingId: string;\n}\n\nexport class NewCaseRequest implements INewCaseRequest {\n chatbotSessionId?: number | undefined;\n impersonationAccess?: boolean;\n\n constructor(data?: INewCaseRequest) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.chatbotSessionId = _data[\"chatbotSessionId\"];\n this.impersonationAccess = _data[\"impersonationAccess\"];\n }\n }\n\n static fromJS(data: any): NewCaseRequest {\n data = typeof data === 'object' ? data : {};\n let result = new NewCaseRequest();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"chatbotSessionId\"] = this.chatbotSessionId;\n data[\"impersonationAccess\"] = this.impersonationAccess;\n return data;\n }\n}\n\nexport interface INewCaseRequest {\n chatbotSessionId?: number | undefined;\n impersonationAccess?: boolean;\n}\n\nexport class ImpersonationConsentDto implements IImpersonationConsentDto {\n id?: string;\n active?: boolean | undefined;\n type?: ImpersonationConsentType | undefined;\n userId?: number;\n expiredAt?: Date;\n impersonators?: string[];\n comment?: string | undefined;\n\n constructor(data?: IImpersonationConsentDto) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"];\n this.active = _data[\"active\"];\n this.type = _data[\"type\"];\n this.userId = _data[\"userId\"];\n this.expiredAt = _data[\"expiredAt\"] ? new Date(_data[\"expiredAt\"].toString()) : <any>undefined;\n if (Array.isArray(_data[\"impersonators\"])) {\n this.impersonators = [] as any;\n for (let item of _data[\"impersonators\"])\n this.impersonators!.push(item);\n }\n this.comment = _data[\"comment\"];\n }\n }\n\n static fromJS(data: any): ImpersonationConsentDto {\n data = typeof data === 'object' ? data : {};\n let result = new ImpersonationConsentDto();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id;\n data[\"active\"] = this.active;\n data[\"type\"] = this.type;\n data[\"userId\"] = this.userId;\n data[\"expiredAt\"] = this.expiredAt ? this.expiredAt.toISOString() : <any>undefined;\n if (Array.isArray(this.impersonators)) {\n data[\"impersonators\"] = [];\n for (let item of this.impersonators)\n data[\"impersonators\"].push(item);\n }\n data[\"comment\"] = this.comment;\n return data;\n }\n}\n\nexport interface IImpersonationConsentDto {\n id?: string;\n active?: boolean | undefined;\n type?: ImpersonationConsentType | undefined;\n userId?: number;\n expiredAt?: Date;\n impersonators?: string[];\n comment?: string | undefined;\n}\n\nexport enum ImpersonationConsentType {\n Unknown = 0,\n TenantLevel = 10,\n CaseLevel = 20,\n}\n\nexport class MakeTokenRequest implements IMakeTokenRequest {\n validity?: string;\n claims?: { [key: string]: any; };\n\n constructor(data?: IMakeTokenRequest) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (<any>this)[property] = (<any>data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.validity = _data[\"validity\"];\n if (_data[\"claims\"]) {\n this.claims = {} as any;\n for (let key in _data[\"claims\"]) {\n if (_data[\"claims\"].hasOwnProperty(key))\n (<any>this.claims)![key] = _data[\"claims\"][key];\n }\n }\n }\n }\n\n static fromJS(data: any): MakeTokenRequest {\n data = typeof data === 'object' ? data : {};\n let result = new MakeTokenRequest();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"validity\"] = this.validity;\n if (this.claims) {\n data[\"claims\"] = {};\n for (let key in this.claims) {\n if (this.claims.hasOwnProperty(key))\n (<any>data[\"claims\"])[key] = (<any>this.claims)[key];\n }\n }\n return data;\n }\n}\n\nexport interface IMakeTokenRequest {\n validity?: string;\n claims?: { [key: string]: any; };\n}\n\nexport interface FileParameter {\n data: any;\n fileName: string;\n}\n\nexport interface FileResponse {\n data: Blob;\n status: number;\n fileName?: string;\n headers?: { [name: string]: any };\n}\n\nexport class ApiException extends Error {\n message: string;\n status: number;\n response: string;\n headers: { [key: string]: any; };\n result: any;\n\n constructor(message: string, status: number, response: string, headers: { [key: string]: any; }, result: any) {\n super();\n\n this.message = message;\n this.status = status;\n this.response = response;\n this.headers = headers;\n this.result = result;\n }\n\n protected isApiException = true;\n\n static isApiException(obj: any): obj is ApiException {\n return obj.isApiException === true;\n }\n}\n\nfunction throwException(message: string, status: number, response: string, headers: { [key: string]: any; }, result?: any): any {\n if (result !== null && result !== undefined)\n throw result;\n else\n throw new ApiException(message, status, response, headers, null);\n}\n\nfunction isAxiosError(obj: any): obj is AxiosError {\n return obj && obj.isAxiosError === true;\n}"],"names":["axios","ChatClient","getSettings","signal","url_","baseUrl","replace","options_","method","url","headers","instance","request","catch","_error","isAxiosError","response","then","_response","processGetSettings","status","_headers","k","hasOwnProperty","_responseText","data","result200","resultData200","ChatbotUserSettings","fromJS","Promise","resolve","throwException","getFilterOptions","processGetFilterOptions","FilterOptions","sendUserMessage","userMessage","content_","JSON","stringify","processSendUserMessage","BotMessage","sendBotMessageFeedback","sessionId","botMessageId","feedback","Error","undefined","encodeURIComponent","processSendBotMessageFeedback","sendSessionFeedback","processSendSessionFeedback","updateSessionCategory","category","subCategory","processUpdateSessionCategory","createSession","sessionSource","processCreateSession","ChatbotSession","closeSession","processCloseSession","refreshAuthCookies","responseType","processRefreshAuthCookies","contentDisposition","fileNameMatch","exec","fileName","length","decodeURIComponent","Blob","type","jsonParseReviver","create","ConfigurationClient","getWidgetConfiguration","processGetWidgetConfiguration","WidgetConfiguration","getComponents","processGetComponents","SupportComponents","getInbentaToken","processGetInbentaToken","InbentaAccessToken","getContextHelp","processGetContextHelp","Array","isArray","item","push","PageRecommendations","testError","code","processTestError","EnterpriseHubClient","getUserData","processGetUserData","HelpCenterUserData","getAuthToken","processGetAuthToken","SalesforceOpsClient","generateCases","webRequest","processGenerateCases","CaseGenerationResponse","result400","resultData400","SupportClient","getCompanyCaseFilters","processGetCompanyCaseFilters","CaseFilters","getCompanyCases","statuses","contactIds","sorting","priorityToken","caseNumberToken","accountIds","forEach","processGetCompanyCases","CaseResults","getPersonalCaseFilters","processGetPersonalCaseFilters","getPersonalCases","processGetPersonalCases","getCaseDetails","caseId","processGetCaseDetails","CaseDetails","sendEmailComment","replyRef","email","username","subject","body","attachments","FormData","append","toString","item_","processSendEmailComment","EmailResult","sendEmail","caseTrackingId","description","htmlDescription","componentId","chatbotSessionId","tenantId","externalUserId","recipients","processSendEmail","getCallbackOnline","processGetCallbackOnline","SupportOnline","getChatOnline","processGetChatOnline","isPhoneNumberValid","phoneNumber","processIsPhoneNumberValid","requestCallback","reqRequest","processRequestCallback","CallbackResponse","requestEmergencyCallback","processRequestEmergencyCallback","getTenantLevelImpersonationConsent","processGetTenantLevelImpersonationConsent","ImpersonationConsent","provideTenantLevelImpersonationConsent","processProvideTenantLevelImpersonationConsent","revokeTenantLevelImpersonationConsent","processRevokeTenantLevelImpersonationConsent","registerNewCase","processRegisterNewCase","NewCaseResponse","provideCaseLevelImpersonationConsent","processProvideCaseLevelImpersonationConsent","revokeCaseLevelImpersonationConsent","processRevokeCaseLevelImpersonationConsent","registerImpersonationConsent","caseTitle","processRegisterImpersonationConsent","ImpersonationConsentDto","predictSupportComponent","processPredictSupportComponent","TestOpsClient","makeToken","makeTokenRequest","processMakeToken","UserClient","ensureCreated","processEnsureCreated","init","_data","isInternal","feedbackUrl","showFilters","buildVersion","BuildVersion","result","toJSON","property","number","date","Date","releaseNotesUrl","toISOString","EmailMessage","contentTypes","FilterOption","productAreas","sources","id","displayName","Message","timestampUtc","text","error","isTransientError","retryAfter","guardFlag","isGuardrailed","scoredUrls","ScoredUrl","botVersion","metadata","userMessageId","score","title","UserMessage","requestParams","key","source","MessageSource","isControlGroup","filters","FilterSelections","includeHistory","area","MessageFeedback","linkUrl","options","rating","FeedbackOptions","MessageFeedbackRatings","SessionFeedback","SessionFeedbackRatings","createdUtc","closedUtc","botId","SessionSource","fullstorySessionId","analytics","AnalyticsSettings","chatbotConfiguration","ChatbotConfiguration","chatbotVersion","contentful","ContentfulSettings","featureFlags","FeatureFlags","environment","freshdeskToken","salesforce","SalesforceSettings","search","SearchSettings","supportFlow","SupportFlowSettings","tenantState","gtag","GtagSettings","contentGroup","referrer","ChatbotEnabledArea","ChatbotVersion","space","accessToken","host","enableQuickAnswerModernDesign","quickAnswerConfiguration","QuickAnswerConfiguration","enablePreSupportChatbot","impersonationControlPhase2","newExcitingFeature","askSupportButtonText","showOnboardingMessage","enableCategoryDetection","showSupportChatTimeoutNotification","multiTurnEnabled","multiTurnButtonIcon","multiTurnButtonText","ServiceEnvironment","orgId","chatButtonId","chatDeploymentId","chatDeploymentUri","chatUri","chatProxyUri","chatEmbeddedUri","SearchSource","name","enableChatQueuePosition","helpCenterPendoGuidesEnabled","helpCenterFloatingChatEnabled","enableHelpCenterLiveAgentChatV2","enableVisualIvr","showCompanyCases","isEnterpriseHub","showPersonalCases","supportFlowSoftTimeout","supportFlowHardTimeout","impersonationConsentDurationHours","contactField","contactId","supportFlowVersion","supportType","supportWorkingHours","SupportWorkingHours","helpCenterChatbotQuickAnswer","HelpCenterChatbotQuickAnswer","enableEmailComposer","helpCenterSupportFlowStepOrder","SupportFlow","SupportTypeMode","callback","WorkingHoursSchedule","chat","workingHours","WorkingHours","message","start","finish","enabled","SupportFlowStepOrder","items","SupportComponent","categoryTopicMapping","SupportCategoryTopicMapping","button","context","channels","subComponents","SupportChannel","label","topics","expiration","expires_in","apis","InbentaApis","apiKey","knowledge","ticketing","path","exact","recommendations","Recommendation","resource","Resource","links","Link","articleId","scrollTo","users","HelpCenterUserModel","tenantName","globalUserId","createdCount","CaseGenerationRequest","newCount","pendingCount","solvedCount","closedCount","contacts","CaseContactFilter","accounts","CaseAccount","anyOpen","CaseResultItem","done","caseNumber","origin","channel","priority","component","createdDate","contact","CaseContact","account","impersonationConsent","surveyUrl","CasePriority","isPermitted","expiredAt","CaseSortingPriority","SortingOption","lastModifiedDate","owner","CaseOwner","messages","CaseMessage","chatTranscript","commentingOptions","replySubject","isAgent","htmlBody","CaseAttachment","messageDate","downloadUrl","CommentingOptions","succeeded","isOnline","changeStatusTimeInSeconds","success","CallbackRequest","callbackNumber","NewCaseRequest","impersonationAccess","active","userId","impersonators","comment","ImpersonationConsentType","MakeTokenRequest","validity","claims","ApiException","isApiException","obj"],"mappings":"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"}