@trii/types 2.10.713 → 2.10.715

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 (350) hide show
  1. package/dist/Automations/Events/Event.d.ts +3 -3
  2. package/dist/Contacts/CommunicationEndpoint.d.ts +8 -8
  3. package/dist/Conversations/Conversation.d.ts +8 -8
  4. package/dist/Conversations/DashBoard/dashboardForms.d.ts +44 -0
  5. package/dist/Conversations/DashBoard/dashboardForms.js +24 -0
  6. package/dist/Conversations/InboxCounters.d.ts +18 -0
  7. package/dist/Conversations/InboxCounters.js +2 -0
  8. package/dist/Conversations/InboxMongo.d.ts +12 -12
  9. package/dist/Conversations/Routing.d.ts +10 -10
  10. package/dist/Tickets/Automation.d.ts +2 -2
  11. package/dist/Tickets/Sla.d.ts +65 -0
  12. package/dist/src/AI/Credential.d.ts +13 -0
  13. package/dist/src/AI/Credential.js +2 -0
  14. package/dist/src/AI/Documents/Document.d.ts +36 -0
  15. package/dist/src/AI/Documents/Document.js +15 -0
  16. package/dist/src/AI/Documents/Store.d.ts +25 -0
  17. package/dist/src/AI/Documents/Store.js +10 -0
  18. package/dist/src/AI/Map.d.ts +13 -0
  19. package/dist/src/AI/Map.js +2 -0
  20. package/dist/src/AI/Provider.d.ts +6 -0
  21. package/dist/src/AI/Provider.js +2 -0
  22. package/dist/src/AI/Threads/API.d.ts +55 -0
  23. package/dist/src/AI/Threads/API.js +2 -0
  24. package/dist/src/AI/Threads/Message.d.ts +61 -0
  25. package/dist/src/AI/Threads/Message.js +2 -0
  26. package/dist/src/AI/Threads/Thread.d.ts +22 -0
  27. package/dist/src/AI/Threads/Thread.js +2 -0
  28. package/dist/src/AI/Threads/index.d.ts +3 -0
  29. package/dist/src/AI/Threads/index.js +19 -0
  30. package/dist/src/AI/aiModuleStatus.d.ts +3 -0
  31. package/dist/src/AI/aiModuleStatus.js +2 -0
  32. package/dist/src/AI/index.d.ts +4 -0
  33. package/dist/src/AI/index.js +20 -0
  34. package/dist/src/Accounts/accounts.d.ts +88 -0
  35. package/dist/src/Accounts/accounts.js +24 -0
  36. package/dist/src/Accounts/device.d.ts +31 -0
  37. package/dist/src/Accounts/device.js +19 -0
  38. package/dist/src/Accounts/index.d.ts +2 -0
  39. package/dist/src/Accounts/index.js +18 -0
  40. package/dist/src/ApiResponses/index.d.ts +9 -0
  41. package/dist/src/ApiResponses/index.js +2 -0
  42. package/dist/src/AuditLogs/auditLog.d.ts +9 -0
  43. package/dist/src/AuditLogs/auditLog.js +2 -0
  44. package/dist/src/AuditLogs/auditLogType.d.ts +5 -0
  45. package/dist/src/AuditLogs/auditLogType.js +9 -0
  46. package/dist/src/AuditLogs/index.d.ts +2 -0
  47. package/dist/src/AuditLogs/index.js +18 -0
  48. package/dist/src/Calendar/Calendar.d.ts +18 -0
  49. package/dist/src/Calendar/Calendar.js +2 -0
  50. package/dist/src/Calendar/Common.d.ts +77 -0
  51. package/dist/src/Calendar/Common.js +16 -0
  52. package/dist/src/Calendar/Event.d.ts +64 -0
  53. package/dist/src/Calendar/Event.js +16 -0
  54. package/dist/src/Calendar/Events.d.ts +61 -0
  55. package/dist/src/Calendar/Events.js +5 -0
  56. package/dist/src/Calendar/Task.d.ts +12 -0
  57. package/dist/src/Calendar/Task.js +2 -0
  58. package/dist/src/Calendar/Tasks.d.ts +18 -0
  59. package/dist/src/Calendar/Tasks.js +5 -0
  60. package/dist/src/Calendar/index.d.ts +3 -0
  61. package/dist/src/Calendar/index.js +19 -0
  62. package/dist/src/Calls/Audio.d.ts +17 -0
  63. package/dist/src/Calls/Audio.js +8 -0
  64. package/dist/src/Calls/Call.d.ts +59 -0
  65. package/dist/src/Calls/Call.js +25 -0
  66. package/dist/src/Calls/Codecs.d.ts +5 -0
  67. package/dist/src/Calls/Codecs.js +21 -0
  68. package/dist/src/Calls/Extension.d.ts +24 -0
  69. package/dist/src/Calls/Extension.js +2 -0
  70. package/dist/src/Calls/Options.d.ts +5 -0
  71. package/dist/src/Calls/Options.js +2 -0
  72. package/dist/src/Calls/Queue.d.ts +52 -0
  73. package/dist/src/Calls/Queue.js +12 -0
  74. package/dist/src/Calls/RingGroup.d.ts +46 -0
  75. package/dist/src/Calls/RingGroup.js +27 -0
  76. package/dist/src/Calls/Transport.d.ts +6 -0
  77. package/dist/src/Calls/Transport.js +11 -0
  78. package/dist/src/Calls/Trunk.d.ts +31 -0
  79. package/dist/src/Calls/Trunk.js +2 -0
  80. package/dist/src/Calls/index.d.ts +6 -0
  81. package/dist/src/Calls/index.js +22 -0
  82. package/dist/src/Collections/Api.d.ts +41 -0
  83. package/dist/src/Collections/Api.js +2 -0
  84. package/dist/src/Collections/Commission.d.ts +52 -0
  85. package/dist/src/Collections/Commission.js +10 -0
  86. package/dist/src/Collections/Common.d.ts +78 -0
  87. package/dist/src/Collections/Common.js +39 -0
  88. package/dist/src/Collections/Dashboard.d.ts +27 -0
  89. package/dist/src/Collections/Dashboard.js +2 -0
  90. package/dist/src/Collections/Debt.d.ts +97 -0
  91. package/dist/src/Collections/Debt.js +12 -0
  92. package/dist/src/Collections/Interest.d.ts +38 -0
  93. package/dist/src/Collections/Interest.js +25 -0
  94. package/dist/src/Collections/Payment.d.ts +87 -0
  95. package/dist/src/Collections/Payment.js +21 -0
  96. package/dist/src/Collections/PaymentPlan.d.ts +87 -0
  97. package/dist/src/Collections/PaymentPlan.js +21 -0
  98. package/dist/src/Collections/PaymentPlanConfiguration.d.ts +100 -0
  99. package/dist/src/Collections/PaymentPlanConfiguration.js +34 -0
  100. package/dist/src/Collections/Portfolio.d.ts +52 -0
  101. package/dist/src/Collections/Portfolio.js +12 -0
  102. package/dist/src/Collections/Promise.d.ts +49 -0
  103. package/dist/src/Collections/Promise.js +25 -0
  104. package/dist/src/Collections/index.d.ts +11 -0
  105. package/dist/src/Collections/index.js +27 -0
  106. package/dist/src/Common/API/AuthApiKey.d.ts +5 -0
  107. package/dist/src/Common/API/AuthApiKey.js +2 -0
  108. package/dist/src/Common/API/AuthBasic.d.ts +4 -0
  109. package/dist/src/Common/API/AuthBasic.js +2 -0
  110. package/dist/src/Common/API/AuthBearer.d.ts +5 -0
  111. package/dist/src/Common/API/AuthBearer.js +2 -0
  112. package/dist/src/Common/API/AuthType.d.ts +6 -0
  113. package/dist/src/Common/API/AuthType.js +10 -0
  114. package/dist/src/Common/API/Method.d.ts +4 -0
  115. package/dist/src/Common/API/Method.js +8 -0
  116. package/dist/src/Common/API/index.d.ts +5 -0
  117. package/dist/src/Common/API/index.js +21 -0
  118. package/dist/src/Common/Channels/Channel.d.ts +99 -0
  119. package/dist/src/Common/Channels/Channel.js +20 -0
  120. package/dist/src/Common/Channels/ChannelAccount.d.ts +35 -0
  121. package/dist/src/Common/Channels/ChannelAccount.js +17 -0
  122. package/dist/src/Common/Channels/ChannelType.d.ts +24 -0
  123. package/dist/src/Common/Channels/ChannelType.js +28 -0
  124. package/dist/src/Common/Channels/Email.d.ts +62 -0
  125. package/dist/src/Common/Channels/Email.js +36 -0
  126. package/dist/src/Common/Channels/Facebook.d.ts +25 -0
  127. package/dist/src/Common/Channels/Facebook.js +6 -0
  128. package/dist/src/Common/Channels/Form.d.ts +118 -0
  129. package/dist/src/Common/Channels/Form.js +32 -0
  130. package/dist/src/Common/Channels/GoogleBusiness.d.ts +20 -0
  131. package/dist/src/Common/Channels/GoogleBusiness.js +9 -0
  132. package/dist/src/Common/Channels/Instagram.d.ts +29 -0
  133. package/dist/src/Common/Channels/Instagram.js +14 -0
  134. package/dist/src/Common/Channels/MercadoLibre.d.ts +27 -0
  135. package/dist/src/Common/Channels/MercadoLibre.js +9 -0
  136. package/dist/src/Common/Channels/Pbx.d.ts +2 -0
  137. package/dist/src/Common/Channels/Pbx.js +6 -0
  138. package/dist/src/Common/Channels/Permission.d.ts +6 -0
  139. package/dist/src/Common/Channels/Permission.js +6 -0
  140. package/dist/src/Common/Channels/RCS.d.ts +37 -0
  141. package/dist/src/Common/Channels/RCS.js +9 -0
  142. package/dist/src/Common/Channels/Sip.d.ts +2 -0
  143. package/dist/src/Common/Channels/Sip.js +6 -0
  144. package/dist/src/Common/Channels/Sms.d.ts +46 -0
  145. package/dist/src/Common/Channels/Sms.js +16 -0
  146. package/dist/src/Common/Channels/WebChat.d.ts +62 -0
  147. package/dist/src/Common/Channels/WebChat.js +19 -0
  148. package/dist/src/Common/Channels/WhatsApp.d.ts +89 -0
  149. package/dist/src/Common/Channels/WhatsApp.js +18 -0
  150. package/dist/src/Common/Channels/index.d.ts +16 -0
  151. package/dist/src/Common/Channels/index.js +32 -0
  152. package/dist/src/Common/EventsQueue/Data/postComment.d.ts +26 -0
  153. package/dist/src/Common/EventsQueue/Data/postComment.js +2 -0
  154. package/dist/src/Common/EventsQueue/EmailTemplate.d.ts +10 -0
  155. package/dist/src/Common/EventsQueue/EmailTemplate.js +2 -0
  156. package/dist/src/Common/EventsQueue/EventQueue.d.ts +13 -0
  157. package/dist/src/Common/EventsQueue/EventQueue.js +2 -0
  158. package/dist/src/Common/EventsQueue/UserUpdate.d.ts +8 -0
  159. package/dist/src/Common/EventsQueue/UserUpdate.js +2 -0
  160. package/dist/src/Common/EventsQueue/index.d.ts +3 -0
  161. package/dist/src/Common/EventsQueue/index.js +19 -0
  162. package/dist/src/Common/Logs/Log.d.ts +18 -0
  163. package/dist/src/Common/Logs/Log.js +13 -0
  164. package/dist/src/Common/Logs/index.d.ts +1 -0
  165. package/dist/src/Common/Logs/index.js +17 -0
  166. package/dist/src/Common/Messages/MediaFile.d.ts +5 -0
  167. package/dist/src/Common/Messages/MediaFile.js +2 -0
  168. package/dist/src/Common/Messages/Message.d.ts +423 -0
  169. package/dist/src/Common/Messages/Message.js +62 -0
  170. package/dist/src/Common/Messages/Template.d.ts +86 -0
  171. package/dist/src/Common/Messages/Template.js +26 -0
  172. package/dist/src/Common/Messages/index.d.ts +3 -0
  173. package/dist/src/Common/Messages/index.js +19 -0
  174. package/dist/src/Common/Notifications/Notification.d.ts +19 -0
  175. package/dist/src/Common/Notifications/Notification.js +10 -0
  176. package/dist/src/Common/Notifications/UserNotificationsConfig.d.ts +33 -0
  177. package/dist/src/Common/Notifications/UserNotificationsConfig.js +18 -0
  178. package/dist/src/Common/Notifications/index.d.ts +2 -0
  179. package/dist/src/Common/Notifications/index.js +18 -0
  180. package/dist/src/Common/Schedules/Schedules.d.ts +32 -0
  181. package/dist/src/Common/Schedules/Schedules.js +2 -0
  182. package/dist/src/Common/Schedules/index.d.ts +1 -0
  183. package/dist/src/Common/Schedules/index.js +17 -0
  184. package/dist/src/Common/index.d.ts +6 -0
  185. package/dist/src/Common/index.js +42 -0
  186. package/dist/src/Contacts/DuplicateContact.d.ts +11 -0
  187. package/dist/src/Contacts/DuplicateContact.js +2 -0
  188. package/dist/src/Contacts/File.d.ts +17 -0
  189. package/dist/src/Contacts/File.js +2 -0
  190. package/dist/src/Contacts/Import.d.ts +18 -0
  191. package/dist/src/Contacts/Import.js +2 -0
  192. package/dist/src/Contacts/Label.d.ts +9 -0
  193. package/dist/src/Contacts/Label.js +2 -0
  194. package/dist/src/Contacts/Note.d.ts +15 -0
  195. package/dist/src/Contacts/Note.js +2 -0
  196. package/dist/src/Contacts/Relationship.d.ts +28 -0
  197. package/dist/src/Contacts/Relationship.js +16 -0
  198. package/dist/src/Contacts/contacts.d.ts +269 -0
  199. package/dist/src/Contacts/contacts.js +54 -0
  200. package/dist/src/Contacts/index.d.ts +9 -0
  201. package/dist/src/Contacts/index.js +25 -0
  202. package/dist/src/Contacts/options.d.ts +5 -0
  203. package/dist/src/Contacts/options.js +2 -0
  204. package/dist/src/Contacts/segments.d.ts +52 -0
  205. package/dist/src/Contacts/segments.js +53 -0
  206. package/dist/src/Conversations/Conversation.d.ts +167 -0
  207. package/dist/src/Conversations/Conversation.js +56 -0
  208. package/dist/src/Conversations/DashBoard/dashboard.d.ts +115 -0
  209. package/dist/src/Conversations/DashBoard/dashboard.js +65 -0
  210. package/dist/src/Conversations/DashBoard/dashboardChannels.d.ts +5 -0
  211. package/dist/src/Conversations/DashBoard/dashboardChannels.js +6 -0
  212. package/dist/src/Conversations/DashBoard/dashboardForms.d.ts +44 -0
  213. package/dist/src/Conversations/DashBoard/dashboardForms.js +24 -0
  214. package/dist/src/Conversations/DashBoard/dashboardMessages.d.ts +13 -0
  215. package/dist/src/Conversations/DashBoard/dashboardMessages.js +9 -0
  216. package/dist/src/Conversations/Ending.d.ts +17 -0
  217. package/dist/src/Conversations/Ending.js +2 -0
  218. package/dist/src/Conversations/Flows/Definitions.d.ts +10 -0
  219. package/dist/src/Conversations/Flows/Definitions.js +2 -0
  220. package/dist/src/Conversations/Flows/Flow.d.ts +222 -0
  221. package/dist/src/Conversations/Flows/Flow.js +50 -0
  222. package/dist/src/Conversations/Flows/FlowInfo.d.ts +9 -0
  223. package/dist/src/Conversations/Flows/FlowInfo.js +2 -0
  224. package/dist/src/Conversations/Flows/Workflows/Workflow.d.ts +179 -0
  225. package/dist/src/Conversations/Flows/Workflows/Workflow.js +48 -0
  226. package/dist/src/Conversations/Flows/Workflows/index.d.ts +1 -0
  227. package/dist/src/Conversations/Flows/Workflows/index.js +17 -0
  228. package/dist/src/Conversations/Flows/index.d.ts +4 -0
  229. package/dist/src/Conversations/Flows/index.js +20 -0
  230. package/dist/src/Conversations/Groups/Group.d.ts +23 -0
  231. package/dist/src/Conversations/Groups/Group.js +8 -0
  232. package/dist/src/Conversations/Label.d.ts +10 -0
  233. package/dist/src/Conversations/Label.js +2 -0
  234. package/dist/src/Conversations/QuickResponse.d.ts +34 -0
  235. package/dist/src/Conversations/QuickResponse.js +2 -0
  236. package/dist/src/Conversations/SocialWalls.d.ts +72 -0
  237. package/dist/src/Conversations/SocialWalls.js +2 -0
  238. package/dist/src/Conversations/Survey.d.ts +19 -0
  239. package/dist/src/Conversations/Survey.js +9 -0
  240. package/dist/src/Conversations/WebHook.d.ts +22 -0
  241. package/dist/src/Conversations/WebHook.js +2 -0
  242. package/dist/src/Conversations/index.d.ts +13 -0
  243. package/dist/src/Conversations/index.js +52 -0
  244. package/dist/src/Docs/Document.d.ts +58 -0
  245. package/dist/src/Docs/Document.js +29 -0
  246. package/dist/src/Docs/Store.d.ts +37 -0
  247. package/dist/src/Docs/Store.js +17 -0
  248. package/dist/src/Docs/index.d.ts +2 -0
  249. package/dist/src/Docs/index.js +18 -0
  250. package/dist/src/Marketing/Campaign.d.ts +69 -0
  251. package/dist/src/Marketing/Campaign.js +30 -0
  252. package/dist/src/Marketing/Dashboard.d.ts +48 -0
  253. package/dist/src/Marketing/Dashboard.js +2 -0
  254. package/dist/src/Marketing/Options.d.ts +12 -0
  255. package/dist/src/Marketing/Options.js +9 -0
  256. package/dist/src/Marketing/Template.d.ts +19 -0
  257. package/dist/src/Marketing/Template.js +8 -0
  258. package/dist/src/Marketing/index.d.ts +4 -0
  259. package/dist/src/Marketing/index.js +20 -0
  260. package/dist/src/PublicAPI/apiKey.d.ts +12 -0
  261. package/dist/src/PublicAPI/apiKey.js +2 -0
  262. package/dist/src/Reports/ScheduledReport.d.ts +205 -0
  263. package/dist/src/Reports/ScheduledReport.js +57 -0
  264. package/dist/src/Reports/aiReport.d.ts +20 -0
  265. package/dist/src/Reports/aiReport.js +2 -0
  266. package/dist/src/Reports/apiResult.d.ts +5 -0
  267. package/dist/src/Reports/apiResult.js +2 -0
  268. package/dist/src/Reports/index.d.ts +3 -0
  269. package/dist/src/Reports/index.js +19 -0
  270. package/dist/src/Sales/Api.d.ts +40 -0
  271. package/dist/src/Sales/Api.js +2 -0
  272. package/dist/src/Sales/Common.d.ts +72 -0
  273. package/dist/src/Sales/Common.js +31 -0
  274. package/dist/src/Sales/Dashboard.d.ts +25 -0
  275. package/dist/src/Sales/Dashboard.js +2 -0
  276. package/dist/src/Sales/Lead.d.ts +99 -0
  277. package/dist/src/Sales/Lead.js +8 -0
  278. package/dist/src/Sales/index.d.ts +4 -0
  279. package/dist/src/Sales/index.js +20 -0
  280. package/dist/src/Security/Security.d.ts +5 -0
  281. package/dist/src/Security/Security.js +2 -0
  282. package/dist/src/Security/index.d.ts +1 -0
  283. package/dist/src/Security/index.js +17 -0
  284. package/dist/src/Shop/Cart/cart.d.ts +19 -0
  285. package/dist/src/Shop/Cart/cart.js +2 -0
  286. package/dist/src/Shop/index.d.ts +1 -0
  287. package/dist/src/Shop/index.js +17 -0
  288. package/dist/src/Spaces/Dashboard.d.ts +4 -0
  289. package/dist/src/Spaces/Dashboard.js +2 -0
  290. package/dist/src/Spaces/index.d.ts +2 -0
  291. package/dist/src/Spaces/index.js +18 -0
  292. package/dist/src/Spaces/spaces.d.ts +104 -0
  293. package/dist/src/Spaces/spaces.js +85 -0
  294. package/dist/src/Tickets/AI.d.ts +400 -0
  295. package/dist/src/Tickets/AI.js +113 -0
  296. package/dist/src/Tickets/AdvancedApi.d.ts +486 -0
  297. package/dist/src/Tickets/AdvancedApi.js +108 -0
  298. package/dist/src/Tickets/Api.d.ts +62 -0
  299. package/dist/src/Tickets/Api.js +8 -0
  300. package/dist/src/Tickets/Approval.d.ts +139 -0
  301. package/dist/src/Tickets/Approval.js +30 -0
  302. package/dist/src/Tickets/Automation.d.ts +237 -0
  303. package/dist/src/Tickets/Automation.js +74 -0
  304. package/dist/src/Tickets/Category.d.ts +53 -0
  305. package/dist/src/Tickets/Category.js +2 -0
  306. package/dist/src/Tickets/Common.d.ts +90 -0
  307. package/dist/src/Tickets/Common.js +38 -0
  308. package/dist/src/Tickets/Conversation.d.ts +68 -0
  309. package/dist/src/Tickets/Conversation.js +30 -0
  310. package/dist/src/Tickets/Dashboard.d.ts +408 -0
  311. package/dist/src/Tickets/Dashboard.js +206 -0
  312. package/dist/src/Tickets/Fields.d.ts +133 -0
  313. package/dist/src/Tickets/Fields.js +44 -0
  314. package/dist/src/Tickets/Layouts.d.ts +63 -0
  315. package/dist/src/Tickets/Layouts.js +22 -0
  316. package/dist/src/Tickets/Routing.d.ts +290 -0
  317. package/dist/src/Tickets/Routing.js +87 -0
  318. package/dist/src/Tickets/Satisfaction.d.ts +31 -0
  319. package/dist/src/Tickets/Satisfaction.js +9 -0
  320. package/dist/src/Tickets/Security.d.ts +302 -0
  321. package/dist/src/Tickets/Security.js +107 -0
  322. package/dist/src/Tickets/SelfService.d.ts +255 -0
  323. package/dist/src/Tickets/SelfService.js +56 -0
  324. package/dist/src/Tickets/Sla.d.ts +253 -0
  325. package/dist/src/Tickets/Sla.js +73 -0
  326. package/dist/src/Tickets/Task.d.ts +122 -0
  327. package/dist/src/Tickets/Task.js +17 -0
  328. package/dist/src/Tickets/Ticket.d.ts +133 -0
  329. package/dist/src/Tickets/Ticket.js +2 -0
  330. package/dist/src/Tickets/Views.d.ts +77 -0
  331. package/dist/src/Tickets/Views.js +23 -0
  332. package/dist/src/Tickets/Workflow.d.ts +109 -0
  333. package/dist/src/Tickets/Workflow.js +44 -0
  334. package/dist/src/Tickets/index.d.ts +20 -0
  335. package/dist/src/Tickets/index.js +36 -0
  336. package/dist/src/Users/Signature.d.ts +74 -0
  337. package/dist/src/Users/Signature.js +2 -0
  338. package/dist/src/Users/UserActivitySummary.d.ts +5 -0
  339. package/dist/src/Users/UserActivitySummary.js +2 -0
  340. package/dist/src/Users/UserProfile.d.ts +97 -0
  341. package/dist/src/Users/UserProfile.js +5 -0
  342. package/dist/src/Users/UserTrii.d.ts +102 -0
  343. package/dist/src/Users/UserTrii.js +10 -0
  344. package/dist/src/Users/UserType.d.ts +10 -0
  345. package/dist/src/Users/UserType.js +13 -0
  346. package/dist/src/Users/index.d.ts +5 -0
  347. package/dist/src/Users/index.js +21 -0
  348. package/dist/src/index.d.ts +20 -0
  349. package/dist/src/index.js +56 -0
  350. package/package.json +12 -12
@@ -0,0 +1,302 @@
1
+ import { ITicketAuditedEntity, TicketPropertyValue } from "./Common";
2
+ import { TicketConditionOperator } from "./Workflow";
3
+ export declare enum TicketSecurityResourceType {
4
+ TICKET = "TICKET",
5
+ CATEGORY = "CATEGORY",
6
+ VIEW = "VIEW",
7
+ FIELD = "FIELD",
8
+ COMMENT = "COMMENT",
9
+ ATTACHMENT = "ATTACHMENT",
10
+ REPORT = "REPORT",
11
+ EXPORT = "EXPORT",
12
+ CONFIGURATION = "CONFIGURATION"
13
+ }
14
+ export declare enum TicketSecurityOperation {
15
+ CREATE = "CREATE",
16
+ READ = "READ",
17
+ UPDATE = "UPDATE",
18
+ DELETE = "DELETE",
19
+ ASSIGN = "ASSIGN",
20
+ TRANSITION = "TRANSITION",
21
+ COMMENT_PUBLIC = "COMMENT_PUBLIC",
22
+ COMMENT_INTERNAL = "COMMENT_INTERNAL",
23
+ VIEW_INTERNAL_COMMENTS = "VIEW_INTERNAL_COMMENTS",
24
+ VIEW_PII = "VIEW_PII",
25
+ REDACT = "REDACT",
26
+ EXPORT = "EXPORT",
27
+ MANAGE = "MANAGE",
28
+ IMPERSONATE = "IMPERSONATE"
29
+ }
30
+ export declare enum TicketPolicyEffect {
31
+ ALLOW = "ALLOW",
32
+ DENY = "DENY"
33
+ }
34
+ export declare enum TicketPolicyConditionGroupOperator {
35
+ AND = "AND",
36
+ OR = "OR"
37
+ }
38
+ export declare enum TicketSensitivityLevel {
39
+ PUBLIC = "PUBLIC",
40
+ INTERNAL = "INTERNAL",
41
+ CONFIDENTIAL = "CONFIDENTIAL",
42
+ RESTRICTED = "RESTRICTED"
43
+ }
44
+ export declare enum TicketDataClassification {
45
+ PUBLIC = "PUBLIC",
46
+ INTERNAL = "INTERNAL",
47
+ CONFIDENTIAL = "CONFIDENTIAL",
48
+ PII = "PII",
49
+ SENSITIVE_PII = "SENSITIVE_PII",
50
+ FINANCIAL = "FINANCIAL",
51
+ HEALTH = "HEALTH",
52
+ LEGAL = "LEGAL"
53
+ }
54
+ export declare enum TicketMaskingStrategy {
55
+ NONE = "NONE",
56
+ FULL = "FULL",
57
+ PARTIAL = "PARTIAL",
58
+ HASH = "HASH",
59
+ TOKENIZE = "TOKENIZE"
60
+ }
61
+ export declare enum TicketRedactionStatus {
62
+ REQUESTED = "REQUESTED",
63
+ PROCESSING = "PROCESSING",
64
+ COMPLETED = "COMPLETED",
65
+ REJECTED = "REJECTED",
66
+ FAILED = "FAILED"
67
+ }
68
+ export declare enum TicketRetentionAction {
69
+ ARCHIVE = "ARCHIVE",
70
+ ANONYMIZE = "ANONYMIZE",
71
+ DELETE = "DELETE",
72
+ REVIEW = "REVIEW"
73
+ }
74
+ export declare enum TicketLegalHoldStatus {
75
+ ACTIVE = "ACTIVE",
76
+ RELEASED = "RELEASED"
77
+ }
78
+ export declare enum TicketAccessAuditAction {
79
+ READ = "READ",
80
+ SEARCH = "SEARCH",
81
+ DOWNLOAD_ATTACHMENT = "DOWNLOAD_ATTACHMENT",
82
+ EXPORT = "EXPORT",
83
+ VIEW_PII = "VIEW_PII",
84
+ REDACT = "REDACT",
85
+ IMPERSONATE = "IMPERSONATE",
86
+ DELEGATED_ACCESS = "DELEGATED_ACCESS"
87
+ }
88
+ export declare enum TicketDelegatedAccessStatus {
89
+ PENDING = "PENDING",
90
+ ACTIVE = "ACTIVE",
91
+ REVOKED = "REVOKED",
92
+ EXPIRED = "EXPIRED",
93
+ REJECTED = "REJECTED"
94
+ }
95
+ export interface ITicketSecuritySubject {
96
+ /** When every selector is false or empty, the subject matches nobody. */
97
+ allAuthenticated?: boolean;
98
+ allAgents?: boolean;
99
+ allCustomers?: boolean;
100
+ userIds?: string[];
101
+ roleIds?: string[];
102
+ groupIds?: string[];
103
+ organizationIds?: string[];
104
+ contactSegmentIds?: string[];
105
+ includeTicketRequester?: boolean;
106
+ includeAssignee?: boolean;
107
+ includeGroupMembers?: boolean;
108
+ }
109
+ export interface ITicketSecurityScope {
110
+ spaceIds?: string[];
111
+ brandIds?: string[];
112
+ organizationIds?: string[];
113
+ categoryIds?: string[];
114
+ assignedGroupIds?: string[];
115
+ channelIds?: string[];
116
+ sensitivityLevels?: TicketSensitivityLevel[];
117
+ }
118
+ export interface ITicketSecurityCondition {
119
+ fieldNameKey: string;
120
+ operator: TicketConditionOperator;
121
+ expectedValue?: TicketPropertyValue;
122
+ }
123
+ export interface ITicketSecurityConditionGroup {
124
+ operator: TicketPolicyConditionGroupOperator;
125
+ conditions?: ITicketSecurityCondition[];
126
+ groups?: ITicketSecurityConditionGroup[];
127
+ }
128
+ export interface ITicketFieldPermission {
129
+ fieldNameKey: string;
130
+ operations: TicketSecurityOperation[];
131
+ effect: TicketPolicyEffect;
132
+ maskingStrategy?: TicketMaskingStrategy;
133
+ }
134
+ export interface ITicketSecurityPolicy extends ITicketAuditedEntity {
135
+ name: string;
136
+ description?: string;
137
+ enabled: boolean;
138
+ priority: number;
139
+ effect: TicketPolicyEffect;
140
+ resourceTypes: TicketSecurityResourceType[];
141
+ operations: TicketSecurityOperation[];
142
+ subjects: ITicketSecuritySubject;
143
+ scope?: ITicketSecurityScope;
144
+ conditions?: ITicketSecurityConditionGroup;
145
+ fieldPermissions?: ITicketFieldPermission[];
146
+ validFrom?: Date;
147
+ validUntil?: Date;
148
+ }
149
+ export interface ITicketFieldSecurityDefinition extends ITicketAuditedEntity {
150
+ fieldNameKey: string;
151
+ classification: TicketDataClassification;
152
+ containsPii: boolean;
153
+ maskingStrategy: TicketMaskingStrategy;
154
+ searchableWhenMasked?: boolean;
155
+ exportable: boolean;
156
+ retentionPolicyId?: string;
157
+ }
158
+ export interface ITicketSecurityState {
159
+ sensitivity: TicketSensitivityLevel;
160
+ policyIds?: string[];
161
+ organizationId?: string;
162
+ brandId?: string;
163
+ restrictedGroupIds?: string[];
164
+ containsPii: boolean;
165
+ legalHold: boolean;
166
+ }
167
+ export interface ITicketRedactionRequest {
168
+ id: string;
169
+ spaceId: string;
170
+ ticketId: string;
171
+ fieldNameKeys?: string[];
172
+ messageIds?: string[];
173
+ attachmentIds?: string[];
174
+ reason: string;
175
+ requestedAt: Date;
176
+ requestedBy: string;
177
+ approvedAt?: Date;
178
+ approvedBy?: string;
179
+ status: TicketRedactionStatus;
180
+ completedAt?: Date;
181
+ error?: string;
182
+ }
183
+ export interface ITicketRetentionPolicy extends ITicketAuditedEntity {
184
+ name: string;
185
+ description?: string;
186
+ retentionDays: number;
187
+ action: TicketRetentionAction;
188
+ categoryIds?: string[];
189
+ dataClassifications?: TicketDataClassification[];
190
+ preserveAuditLog: boolean;
191
+ enabled: boolean;
192
+ }
193
+ export interface ITicketLegalHold {
194
+ id: string;
195
+ spaceId: string;
196
+ ticketId: string;
197
+ name: string;
198
+ reason: string;
199
+ status: TicketLegalHoldStatus;
200
+ placedAt: Date;
201
+ placedBy: string;
202
+ releasedAt?: Date;
203
+ releasedBy?: string;
204
+ externalMatterId?: string;
205
+ }
206
+ export interface ITicketAccessAuditEvent {
207
+ id: string;
208
+ spaceId: string;
209
+ ticketId?: string;
210
+ actorId: string;
211
+ effectiveUserId: string;
212
+ action: TicketAccessAuditAction;
213
+ resourceType: TicketSecurityResourceType;
214
+ resourceId?: string;
215
+ fieldNameKeys?: string[];
216
+ purpose?: string;
217
+ ipAddress?: string;
218
+ userAgent?: string;
219
+ correlationId?: string;
220
+ occurredAt: Date;
221
+ allowed: boolean;
222
+ policyIds?: string[];
223
+ denialReason?: string;
224
+ }
225
+ export interface ITicketImpersonationSession {
226
+ id: string;
227
+ spaceId: string;
228
+ actorId: string;
229
+ impersonatedUserId: string;
230
+ reason: string;
231
+ approvedBy?: string;
232
+ startedAt: Date;
233
+ expiresAt: Date;
234
+ endedAt?: Date;
235
+ }
236
+ export interface ITicketDelegatedAccess {
237
+ id: string;
238
+ spaceId: string;
239
+ grantorId: string;
240
+ delegateId: string;
241
+ operations: TicketSecurityOperation[];
242
+ scope?: ITicketSecurityScope;
243
+ status: TicketDelegatedAccessStatus;
244
+ reason?: string;
245
+ requestedAt: Date;
246
+ startsAt: Date;
247
+ expiresAt: Date;
248
+ approvedBy?: string;
249
+ revokedAt?: Date;
250
+ revokedBy?: string;
251
+ }
252
+ export interface ITicketAuthorizationRequest {
253
+ actorId: string;
254
+ effectiveUserId?: string;
255
+ operation: TicketSecurityOperation;
256
+ resourceType: TicketSecurityResourceType;
257
+ resourceId?: string;
258
+ ticketId?: string;
259
+ fieldNameKeys?: string[];
260
+ context?: {
261
+ [key: string]: TicketPropertyValue;
262
+ };
263
+ }
264
+ export interface ITicketAuthorizationDecision {
265
+ allowed: boolean;
266
+ policyIds: string[];
267
+ deniedFieldNameKeys?: string[];
268
+ maskedFieldNameKeys?: string[];
269
+ reason?: string;
270
+ evaluatedAt: Date;
271
+ }
272
+ export interface ICreateTicketRedactionRequestDto {
273
+ expectedVersion: number;
274
+ fieldNameKeys?: string[];
275
+ messageIds?: string[];
276
+ attachmentIds?: string[];
277
+ reason: string;
278
+ }
279
+ export interface ICreateTicketLegalHoldDto {
280
+ expectedVersion: number;
281
+ name: string;
282
+ reason: string;
283
+ externalMatterId?: string;
284
+ }
285
+ export interface IReleaseTicketLegalHoldDto {
286
+ expectedVersion: number;
287
+ legalHoldId: string;
288
+ reason: string;
289
+ }
290
+ export interface ICreateTicketDelegatedAccessDto {
291
+ delegateId: string;
292
+ operations: TicketSecurityOperation[];
293
+ scope?: ITicketSecurityScope;
294
+ reason?: string;
295
+ startsAt: Date;
296
+ expiresAt: Date;
297
+ }
298
+ export interface IStartTicketImpersonationDto {
299
+ impersonatedUserId: string;
300
+ reason: string;
301
+ expiresAt: Date;
302
+ }
@@ -0,0 +1,107 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TicketDelegatedAccessStatus = exports.TicketAccessAuditAction = exports.TicketLegalHoldStatus = exports.TicketRetentionAction = exports.TicketRedactionStatus = exports.TicketMaskingStrategy = exports.TicketDataClassification = exports.TicketSensitivityLevel = exports.TicketPolicyConditionGroupOperator = exports.TicketPolicyEffect = exports.TicketSecurityOperation = exports.TicketSecurityResourceType = void 0;
4
+ var TicketSecurityResourceType;
5
+ (function (TicketSecurityResourceType) {
6
+ TicketSecurityResourceType["TICKET"] = "TICKET";
7
+ TicketSecurityResourceType["CATEGORY"] = "CATEGORY";
8
+ TicketSecurityResourceType["VIEW"] = "VIEW";
9
+ TicketSecurityResourceType["FIELD"] = "FIELD";
10
+ TicketSecurityResourceType["COMMENT"] = "COMMENT";
11
+ TicketSecurityResourceType["ATTACHMENT"] = "ATTACHMENT";
12
+ TicketSecurityResourceType["REPORT"] = "REPORT";
13
+ TicketSecurityResourceType["EXPORT"] = "EXPORT";
14
+ TicketSecurityResourceType["CONFIGURATION"] = "CONFIGURATION";
15
+ })(TicketSecurityResourceType || (exports.TicketSecurityResourceType = TicketSecurityResourceType = {}));
16
+ var TicketSecurityOperation;
17
+ (function (TicketSecurityOperation) {
18
+ TicketSecurityOperation["CREATE"] = "CREATE";
19
+ TicketSecurityOperation["READ"] = "READ";
20
+ TicketSecurityOperation["UPDATE"] = "UPDATE";
21
+ TicketSecurityOperation["DELETE"] = "DELETE";
22
+ TicketSecurityOperation["ASSIGN"] = "ASSIGN";
23
+ TicketSecurityOperation["TRANSITION"] = "TRANSITION";
24
+ TicketSecurityOperation["COMMENT_PUBLIC"] = "COMMENT_PUBLIC";
25
+ TicketSecurityOperation["COMMENT_INTERNAL"] = "COMMENT_INTERNAL";
26
+ TicketSecurityOperation["VIEW_INTERNAL_COMMENTS"] = "VIEW_INTERNAL_COMMENTS";
27
+ TicketSecurityOperation["VIEW_PII"] = "VIEW_PII";
28
+ TicketSecurityOperation["REDACT"] = "REDACT";
29
+ TicketSecurityOperation["EXPORT"] = "EXPORT";
30
+ TicketSecurityOperation["MANAGE"] = "MANAGE";
31
+ TicketSecurityOperation["IMPERSONATE"] = "IMPERSONATE";
32
+ })(TicketSecurityOperation || (exports.TicketSecurityOperation = TicketSecurityOperation = {}));
33
+ var TicketPolicyEffect;
34
+ (function (TicketPolicyEffect) {
35
+ TicketPolicyEffect["ALLOW"] = "ALLOW";
36
+ TicketPolicyEffect["DENY"] = "DENY";
37
+ })(TicketPolicyEffect || (exports.TicketPolicyEffect = TicketPolicyEffect = {}));
38
+ var TicketPolicyConditionGroupOperator;
39
+ (function (TicketPolicyConditionGroupOperator) {
40
+ TicketPolicyConditionGroupOperator["AND"] = "AND";
41
+ TicketPolicyConditionGroupOperator["OR"] = "OR";
42
+ })(TicketPolicyConditionGroupOperator || (exports.TicketPolicyConditionGroupOperator = TicketPolicyConditionGroupOperator = {}));
43
+ var TicketSensitivityLevel;
44
+ (function (TicketSensitivityLevel) {
45
+ TicketSensitivityLevel["PUBLIC"] = "PUBLIC";
46
+ TicketSensitivityLevel["INTERNAL"] = "INTERNAL";
47
+ TicketSensitivityLevel["CONFIDENTIAL"] = "CONFIDENTIAL";
48
+ TicketSensitivityLevel["RESTRICTED"] = "RESTRICTED";
49
+ })(TicketSensitivityLevel || (exports.TicketSensitivityLevel = TicketSensitivityLevel = {}));
50
+ var TicketDataClassification;
51
+ (function (TicketDataClassification) {
52
+ TicketDataClassification["PUBLIC"] = "PUBLIC";
53
+ TicketDataClassification["INTERNAL"] = "INTERNAL";
54
+ TicketDataClassification["CONFIDENTIAL"] = "CONFIDENTIAL";
55
+ TicketDataClassification["PII"] = "PII";
56
+ TicketDataClassification["SENSITIVE_PII"] = "SENSITIVE_PII";
57
+ TicketDataClassification["FINANCIAL"] = "FINANCIAL";
58
+ TicketDataClassification["HEALTH"] = "HEALTH";
59
+ TicketDataClassification["LEGAL"] = "LEGAL";
60
+ })(TicketDataClassification || (exports.TicketDataClassification = TicketDataClassification = {}));
61
+ var TicketMaskingStrategy;
62
+ (function (TicketMaskingStrategy) {
63
+ TicketMaskingStrategy["NONE"] = "NONE";
64
+ TicketMaskingStrategy["FULL"] = "FULL";
65
+ TicketMaskingStrategy["PARTIAL"] = "PARTIAL";
66
+ TicketMaskingStrategy["HASH"] = "HASH";
67
+ TicketMaskingStrategy["TOKENIZE"] = "TOKENIZE";
68
+ })(TicketMaskingStrategy || (exports.TicketMaskingStrategy = TicketMaskingStrategy = {}));
69
+ var TicketRedactionStatus;
70
+ (function (TicketRedactionStatus) {
71
+ TicketRedactionStatus["REQUESTED"] = "REQUESTED";
72
+ TicketRedactionStatus["PROCESSING"] = "PROCESSING";
73
+ TicketRedactionStatus["COMPLETED"] = "COMPLETED";
74
+ TicketRedactionStatus["REJECTED"] = "REJECTED";
75
+ TicketRedactionStatus["FAILED"] = "FAILED";
76
+ })(TicketRedactionStatus || (exports.TicketRedactionStatus = TicketRedactionStatus = {}));
77
+ var TicketRetentionAction;
78
+ (function (TicketRetentionAction) {
79
+ TicketRetentionAction["ARCHIVE"] = "ARCHIVE";
80
+ TicketRetentionAction["ANONYMIZE"] = "ANONYMIZE";
81
+ TicketRetentionAction["DELETE"] = "DELETE";
82
+ TicketRetentionAction["REVIEW"] = "REVIEW";
83
+ })(TicketRetentionAction || (exports.TicketRetentionAction = TicketRetentionAction = {}));
84
+ var TicketLegalHoldStatus;
85
+ (function (TicketLegalHoldStatus) {
86
+ TicketLegalHoldStatus["ACTIVE"] = "ACTIVE";
87
+ TicketLegalHoldStatus["RELEASED"] = "RELEASED";
88
+ })(TicketLegalHoldStatus || (exports.TicketLegalHoldStatus = TicketLegalHoldStatus = {}));
89
+ var TicketAccessAuditAction;
90
+ (function (TicketAccessAuditAction) {
91
+ TicketAccessAuditAction["READ"] = "READ";
92
+ TicketAccessAuditAction["SEARCH"] = "SEARCH";
93
+ TicketAccessAuditAction["DOWNLOAD_ATTACHMENT"] = "DOWNLOAD_ATTACHMENT";
94
+ TicketAccessAuditAction["EXPORT"] = "EXPORT";
95
+ TicketAccessAuditAction["VIEW_PII"] = "VIEW_PII";
96
+ TicketAccessAuditAction["REDACT"] = "REDACT";
97
+ TicketAccessAuditAction["IMPERSONATE"] = "IMPERSONATE";
98
+ TicketAccessAuditAction["DELEGATED_ACCESS"] = "DELEGATED_ACCESS";
99
+ })(TicketAccessAuditAction || (exports.TicketAccessAuditAction = TicketAccessAuditAction = {}));
100
+ var TicketDelegatedAccessStatus;
101
+ (function (TicketDelegatedAccessStatus) {
102
+ TicketDelegatedAccessStatus["PENDING"] = "PENDING";
103
+ TicketDelegatedAccessStatus["ACTIVE"] = "ACTIVE";
104
+ TicketDelegatedAccessStatus["REVOKED"] = "REVOKED";
105
+ TicketDelegatedAccessStatus["EXPIRED"] = "EXPIRED";
106
+ TicketDelegatedAccessStatus["REJECTED"] = "REJECTED";
107
+ })(TicketDelegatedAccessStatus || (exports.TicketDelegatedAccessStatus = TicketDelegatedAccessStatus = {}));
@@ -0,0 +1,255 @@
1
+ import { ChannelType } from "../Common/Channels/ChannelType";
2
+ import { ITicketAuditedEntity, ITicketProperty, TicketPriority } from "./Common";
3
+ import { ITicketMessageReference } from "./Conversation";
4
+ export declare enum TicketPortalAuthenticationMode {
5
+ PUBLIC = "PUBLIC",
6
+ OPTIONAL = "OPTIONAL",
7
+ REQUIRED = "REQUIRED"
8
+ }
9
+ export declare enum TicketRequestDraftStatus {
10
+ DRAFT = "DRAFT",
11
+ VALIDATING = "VALIDATING",
12
+ READY = "READY",
13
+ SUBMITTED = "SUBMITTED",
14
+ EXPIRED = "EXPIRED",
15
+ CANCELLED = "CANCELLED"
16
+ }
17
+ export declare enum TicketCustomerAction {
18
+ COMMENT = "COMMENT",
19
+ ADD_ATTACHMENT = "ADD_ATTACHMENT",
20
+ CANCEL = "CANCEL",
21
+ REOPEN = "REOPEN",
22
+ COMPLETE_FORM = "COMPLETE_FORM",
23
+ APPROVE = "APPROVE"
24
+ }
25
+ export declare enum TicketAudienceRuleEffect {
26
+ ALLOW = "ALLOW",
27
+ DENY = "DENY"
28
+ }
29
+ export declare enum TicketNotificationEvent {
30
+ CREATED = "CREATED",
31
+ PUBLIC_REPLY = "PUBLIC_REPLY",
32
+ PUBLIC_STATUS_CHANGED = "PUBLIC_STATUS_CHANGED",
33
+ ACTION_REQUIRED = "ACTION_REQUIRED",
34
+ RESOLVED = "RESOLVED",
35
+ REOPENED = "REOPENED",
36
+ SATISFACTION_REQUESTED = "SATISFACTION_REQUESTED"
37
+ }
38
+ export declare enum TicketDeflectionOutcome {
39
+ SUGGESTION_SHOWN = "SUGGESTION_SHOWN",
40
+ ARTICLE_OPENED = "ARTICLE_OPENED",
41
+ KNOWN_ISSUE_OPENED = "KNOWN_ISSUE_OPENED",
42
+ ABANDONED = "ABANDONED",
43
+ TICKET_CREATED = "TICKET_CREATED"
44
+ }
45
+ export declare enum TicketKnowledgeReferenceType {
46
+ ARTICLE = "ARTICLE",
47
+ COLLECTION = "COLLECTION",
48
+ FOLDER = "FOLDER"
49
+ }
50
+ export interface ITicketPortal extends ITicketAuditedEntity {
51
+ name: string;
52
+ slug: string;
53
+ title: string;
54
+ description?: string;
55
+ logoUrl?: string;
56
+ faviconUrl?: string;
57
+ primaryColor?: string;
58
+ defaultLocale: string;
59
+ supportedLocales?: string[];
60
+ authenticationMode: TicketPortalAuthenticationMode;
61
+ allowTicketCreation: boolean;
62
+ allowTicketTracking: boolean;
63
+ allowComments: boolean;
64
+ allowReopen: boolean;
65
+ allowCancellation: boolean;
66
+ termsDocumentId?: string;
67
+ privacyDocumentId?: string;
68
+ enabled: boolean;
69
+ }
70
+ export interface ITicketRequestType extends ITicketAuditedEntity {
71
+ name: string;
72
+ description?: string;
73
+ categoryId: string;
74
+ icon?: string;
75
+ formId: string;
76
+ formVersion?: number;
77
+ workflowId?: string;
78
+ defaultPriority?: TicketPriority;
79
+ defaultAssignedGroupId?: string;
80
+ slaPolicyId?: string;
81
+ publicStatusSchemeId?: string;
82
+ fieldDefinitionIds?: string[];
83
+ layoutIds?: string[];
84
+ audiencePolicyId?: string;
85
+ enabled: boolean;
86
+ }
87
+ export interface IServiceCatalog extends ITicketAuditedEntity {
88
+ portalId: string;
89
+ name: string;
90
+ description?: string;
91
+ order?: number;
92
+ enabled: boolean;
93
+ }
94
+ export interface IServiceCatalogSection extends ITicketAuditedEntity {
95
+ catalogId: string;
96
+ parentSectionId?: string;
97
+ name: string;
98
+ description?: string;
99
+ icon?: string;
100
+ order: number;
101
+ enabled: boolean;
102
+ }
103
+ export interface IServiceCatalogItem extends ITicketAuditedEntity {
104
+ catalogId: string;
105
+ sectionId?: string;
106
+ requestTypeId: string;
107
+ name: string;
108
+ shortDescription?: string;
109
+ imageUrl?: string;
110
+ order: number;
111
+ estimatedDeliveryMinutes?: number;
112
+ audiencePolicyId?: string;
113
+ enabled: boolean;
114
+ }
115
+ export interface ITicketAudienceRule {
116
+ id: string;
117
+ effect: TicketAudienceRuleEffect;
118
+ authenticatedOnly?: boolean;
119
+ organizationIds?: string[];
120
+ contactSegmentIds?: string[];
121
+ contactIds?: string[];
122
+ roleIds?: string[];
123
+ countries?: string[];
124
+ }
125
+ export interface ITicketAudiencePolicy extends ITicketAuditedEntity {
126
+ name: string;
127
+ description?: string;
128
+ defaultEffect: TicketAudienceRuleEffect;
129
+ rules: ITicketAudienceRule[];
130
+ enabled: boolean;
131
+ }
132
+ export interface ITicketRequestDraft {
133
+ id: string;
134
+ spaceId: string;
135
+ portalId: string;
136
+ requestTypeId: string;
137
+ contactId?: string;
138
+ formId: string;
139
+ formVersion?: number;
140
+ formSubmissionId?: string;
141
+ status: TicketRequestDraftStatus;
142
+ createdAt: Date;
143
+ updatedAt?: Date;
144
+ expiresAt: Date;
145
+ submittedTicketId?: string;
146
+ }
147
+ export interface ITicketPublicStatus extends ITicketAuditedEntity {
148
+ name: string;
149
+ description?: string;
150
+ color?: string;
151
+ icon?: string;
152
+ order: number;
153
+ }
154
+ export interface ITicketPublicStatusMapping extends ITicketAuditedEntity {
155
+ schemeId: string;
156
+ publicStatusId: string;
157
+ internalStatusIds: string[];
158
+ }
159
+ export interface ITicketPublicStatusScheme extends ITicketAuditedEntity {
160
+ name: string;
161
+ description?: string;
162
+ defaultPublicStatusId?: string;
163
+ enabled: boolean;
164
+ }
165
+ /** Safe customer projection; internal activity, notes, routing and SLA details are intentionally excluded. */
166
+ export interface ICustomerTicketView {
167
+ id: string;
168
+ number: number;
169
+ title: string;
170
+ description?: string;
171
+ requestTypeId?: string;
172
+ categoryId: string;
173
+ publicStatus: ITicketPublicStatus;
174
+ priority?: TicketPriority;
175
+ publicProperties?: ITicketProperty[];
176
+ createdAt: Date;
177
+ updatedAt?: Date;
178
+ resolvedAt?: Date;
179
+ messages?: ITicketMessageReference[];
180
+ availableActions: TicketCustomerAction[];
181
+ }
182
+ /** Reference only. Article content and lifecycle remain authoritative in Docs/Knowledge. */
183
+ export interface ITicketKnowledgeReference extends ITicketAuditedEntity {
184
+ referenceType: TicketKnowledgeReferenceType;
185
+ documentId: string;
186
+ portalIds?: string[];
187
+ requestTypeIds?: string[];
188
+ categoryIds?: string[];
189
+ locales?: string[];
190
+ audiencePolicyId?: string;
191
+ order?: number;
192
+ enabled: boolean;
193
+ }
194
+ /** Rules may work globally at portal level and become more specific by request type/category. */
195
+ export interface ITicketDeflectionRule extends ITicketAuditedEntity {
196
+ name: string;
197
+ portalId: string;
198
+ requestTypeIds?: string[];
199
+ categoryIds?: string[];
200
+ knowledgeReferenceIds?: string[];
201
+ includeKnownIssues?: boolean;
202
+ minimumScore?: number;
203
+ maximumSuggestions?: number;
204
+ audiencePolicyId?: string;
205
+ enabled: boolean;
206
+ }
207
+ export interface ITicketDeflectionSuggestion {
208
+ knowledgeReferenceId?: string;
209
+ knownIssueTicketId?: string;
210
+ score?: number;
211
+ position: number;
212
+ }
213
+ export interface ITicketDeflectionEvent {
214
+ id: string;
215
+ spaceId: string;
216
+ portalId: string;
217
+ sessionId: string;
218
+ contactId?: string;
219
+ requestTypeId?: string;
220
+ categoryId?: string;
221
+ query: string;
222
+ suggestions: ITicketDeflectionSuggestion[];
223
+ selectedKnowledgeReferenceId?: string;
224
+ selectedKnownIssueTicketId?: string;
225
+ outcome: TicketDeflectionOutcome;
226
+ createdTicketId?: string;
227
+ occurredAt: Date;
228
+ }
229
+ export interface ITicketCustomerNotificationPreference {
230
+ id: string;
231
+ spaceId: string;
232
+ contactId: string;
233
+ portalId?: string;
234
+ locale?: string;
235
+ channelTypes: ChannelType[];
236
+ enabledEvents: TicketNotificationEvent[];
237
+ mutedTicketIds?: string[];
238
+ updatedAt: Date;
239
+ }
240
+ export interface ICreateTicketRequestDraftDto {
241
+ portalId: string;
242
+ requestTypeId: string;
243
+ contactId?: string;
244
+ }
245
+ export interface ISubmitTicketRequestDto {
246
+ draftId: string;
247
+ formSubmissionId: string;
248
+ idempotencyKey: string;
249
+ }
250
+ export interface ICustomerTicketActionDto {
251
+ action: TicketCustomerAction;
252
+ comment?: string;
253
+ attachmentIds?: string[];
254
+ formSubmissionId?: string;
255
+ }