@cometchat/chat-sdk-javascript 4.0.0 → 4.0.2

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 (72) hide show
  1. package/{dist/index.d.ts → CometChat.d.ts} +444 -32
  2. package/CometChat.js +1 -0
  3. package/LICENSE.md +3 -0
  4. package/{readme.md → README.md} +8 -8
  5. package/package.json +31 -42
  6. package/dist/CometChat.js +0 -1
  7. package/dist/package.json +0 -36
  8. package/dist/type/index.d.ts +0 -10
  9. package/dist/type/lib/BannedMembersRequest.d.ts +0 -60
  10. package/dist/type/lib/BlockedUsersRequest.d.ts +0 -67
  11. package/dist/type/lib/CallSettings.d.ts +0 -429
  12. package/dist/type/lib/CometChat.d.ts +0 -1975
  13. package/dist/type/lib/CometChatErrorConstants.d.ts +0 -124
  14. package/dist/type/lib/CometChatHelper.d.ts +0 -26
  15. package/dist/type/lib/Constants.d.ts +0 -973
  16. package/dist/type/lib/ConversationRequest.d.ts +0 -89
  17. package/dist/type/lib/GroupMembersRequest.d.ts +0 -61
  18. package/dist/type/lib/GroupsRequest.d.ts +0 -78
  19. package/dist/type/lib/Helper.d.ts +0 -47
  20. package/dist/type/lib/ListenerHandlers.d.ts +0 -101
  21. package/dist/type/lib/MessagesRequest.d.ts +0 -188
  22. package/dist/type/lib/UsersRequest.d.ts +0 -142
  23. package/dist/type/lib/WebSockets/WSConnectionHelper.d.ts +0 -41
  24. package/dist/type/lib/WebSockets/WSConstants.d.ts +0 -71
  25. package/dist/type/lib/WebSockets/WSHelper.d.ts +0 -3
  26. package/dist/type/lib/controllers/CallController.d.ts +0 -151
  27. package/dist/type/lib/controllers/ConversationController.d.ts +0 -14
  28. package/dist/type/lib/controllers/GroupMemberController.d.ts +0 -10
  29. package/dist/type/lib/controllers/GroupsController.d.ts +0 -9
  30. package/dist/type/lib/controllers/MessageController.d.ts +0 -18
  31. package/dist/type/lib/controllers/PresenceController.d.ts +0 -0
  32. package/dist/type/lib/controllers/TypingNotificationController.d.ts +0 -14
  33. package/dist/type/lib/controllers/UserAuthController.d.ts +0 -10
  34. package/dist/type/lib/controllers/UsersController.d.ts +0 -9
  35. package/dist/type/lib/localStore/KeyStore.d.ts +0 -45
  36. package/dist/type/lib/localStore/MessageListenerEventMaping.d.ts +0 -56
  37. package/dist/type/lib/localStore/MessagesStore.d.ts +0 -72
  38. package/dist/type/lib/localStore/UserStore.d.ts +0 -72
  39. package/dist/type/lib/localStore/store.d.ts +0 -61
  40. package/dist/type/lib/models/Action.d.ts +0 -159
  41. package/dist/type/lib/models/AppSettings.d.ts +0 -135
  42. package/dist/type/lib/models/BaseMessage.d.ts +0 -259
  43. package/dist/type/lib/models/CCExtension.d.ts +0 -15
  44. package/dist/type/lib/models/Call.d.ts +0 -159
  45. package/dist/type/lib/models/CometChatAuthEvent.d.ts +0 -25
  46. package/dist/type/lib/models/CometChatEvent.d.ts +0 -25
  47. package/dist/type/lib/models/CometChatMessageEvent.d.ts +0 -9
  48. package/dist/type/lib/models/CometChatPingEvent.d.ts +0 -6
  49. package/dist/type/lib/models/CometChatPresenceEvent.d.ts +0 -15
  50. package/dist/type/lib/models/CometChatReceiptEvent.d.ts +0 -14
  51. package/dist/type/lib/models/CometChatTransientEvent.d.ts +0 -11
  52. package/dist/type/lib/models/CometChatTypingEvent.d.ts +0 -14
  53. package/dist/type/lib/models/ConversationModel.d.ts +0 -73
  54. package/dist/type/lib/models/CustomError.d.ts +0 -13
  55. package/dist/type/lib/models/CustomMessage.d.ts +0 -71
  56. package/dist/type/lib/models/ErrorModel.d.ts +0 -12
  57. package/dist/type/lib/models/Group.d.ts +0 -190
  58. package/dist/type/lib/models/GroupMember.d.ts +0 -43
  59. package/dist/type/lib/models/Listner.d.ts +0 -258
  60. package/dist/type/lib/models/MediaDevice.d.ts +0 -36
  61. package/dist/type/lib/models/MediaMessage.d.ts +0 -115
  62. package/dist/type/lib/models/MessageReceipt.d.ts +0 -99
  63. package/dist/type/lib/models/RTCUser.d.ts +0 -18
  64. package/dist/type/lib/models/TextMessage.d.ts +0 -84
  65. package/dist/type/lib/models/TransientMessage.d.ts +0 -48
  66. package/dist/type/lib/models/TypingNotification.d.ts +0 -52
  67. package/dist/type/lib/models/UserModel.d.ts +0 -177
  68. package/dist/type/lib/models/UserPresence.d.ts +0 -0
  69. package/dist/type/lib/models/attachment.d.ts +0 -74
  70. package/dist/type/lib/rest-api/EndPointUtils.d.ts +0 -9
  71. package/dist/type/lib/rest-api/EndpointFactory.d.ts +0 -28
  72. package/dist/type/lib/rest-api/HttpHelper.d.ts +0 -10
@@ -51,6 +51,8 @@ export class CometChat {
51
51
  };
52
52
  KEY_CONVERSATION_STARTER: string;
53
53
  KEY_SMART_REPLIES: string;
54
+ KEY_CONVERSATION_SUMMARY: string;
55
+ KEY_BOT_REPLY: string;
54
56
  };
55
57
  };
56
58
  static CallConstants: {
@@ -305,6 +307,7 @@ export class CometChat {
305
307
  ACTION: string;
306
308
  CALL: string;
307
309
  CUSTOM: string;
310
+ INTERACTIVE: string;
308
311
  };
309
312
  RECEIVER_TYPE: {
310
313
  USER: string;
@@ -333,6 +336,14 @@ export class CometChat {
333
336
  CUSTOM_DATA: string;
334
337
  CUSTOM_SUB_TYPE: string;
335
338
  RESOURCE: string;
339
+ MENTIONS: string;
340
+ INTERACTIVE_DATA: string;
341
+ INTERACTION_GOAL: string;
342
+ INTERACTIONS: string;
343
+ ALLOW_SENDER_INTERACTION: string;
344
+ ELEMENT_ID: string;
345
+ INTERACTED_AT: string;
346
+ ELEMENT_IDS: string;
336
347
  };
337
348
  KNOWN_MEDIA_TYPE: {
338
349
  IMAGE: any[];
@@ -374,6 +385,10 @@ export class CometChat {
374
385
  HIDE_DELETED_MESSAGES: string;
375
386
  WITH_TAGS: string;
376
387
  TAGS: string;
388
+ MY_MENTIONS_ONLY: string;
389
+ MENTIONS_WITH_TAG_INFO: string;
390
+ MENTIONS_WITH_BLOCKED_INFO: string;
391
+ ONLY_INTERACTION_GOAL_COMPLETED: string;
377
392
  };
378
393
  };
379
394
  };
@@ -675,6 +690,7 @@ export class CometChat {
675
690
  KEY_APP_SETTINGS: string;
676
691
  KEY_APP_ID: string;
677
692
  KEY_DEVICE_ID: string;
693
+ KEY_SESSION_ID: string;
678
694
  KEY_MESSAGE_LISTENER_LIST: string;
679
695
  };
680
696
  static SDKHeader: {
@@ -935,6 +951,7 @@ export class CometChat {
935
951
  MSG_VER_PRE: string;
936
952
  MSG_VER_POST: string;
937
953
  };
954
+ static GoalType: typeof GoalType;
938
955
  static CometChatException: typeof CometChatException;
939
956
  static TextMessage: typeof TextMessage;
940
957
  static MediaMessage: typeof MediaMessage;
@@ -944,6 +961,10 @@ export class CometChat {
944
961
  static Call: typeof Call;
945
962
  static TypingIndicator: typeof TypingIndicator;
946
963
  static TransientMessage: typeof TransientMessage;
964
+ static InteractiveMessage: typeof InteractiveMessage;
965
+ static InteractionGoal: typeof InteractionGoal;
966
+ static Interaction: typeof Interaction;
967
+ static InteractionReceipt: typeof InteractionReceipt;
947
968
  static Group: typeof Group;
948
969
  static User: typeof User;
949
970
  static GroupMember: typeof GroupMember;
@@ -997,6 +1018,7 @@ export class CometChat {
997
1018
  static CATEGORY_ACTION: string;
998
1019
  static CATEGORY_CALL: string;
999
1020
  static CATEGORY_CUSTOM: string;
1021
+ static CATEGORY_INTERACTIVE: string;
1000
1022
  static ACTION_TYPE: {
1001
1023
  MEMBER_ADDED: string;
1002
1024
  MEMBER_JOINED: string;
@@ -1193,11 +1215,11 @@ export class CometChat {
1193
1215
  *--------------------------------------------------------------------**/
1194
1216
  /**
1195
1217
  * Function to send message.
1196
- * @param {TextMessage | MediaMessage | CustomMessage | any} message
1218
+ * @param {TextMessage | MediaMessage | CustomMessage | InteractiveMessage |any} message
1197
1219
  * @returns {Message | any}
1198
1220
  * @memberof CometChat
1199
1221
  */
1200
- static sendMessage(message: TextMessage | MediaMessage | CustomMessage | any): Promise<TextMessage | MediaMessage | CustomMessage | BaseMessage>;
1222
+ static sendMessage(message: TextMessage | MediaMessage | CustomMessage | InteractiveMessage | any): Promise<TextMessage | MediaMessage | CustomMessage | BaseMessage>;
1201
1223
  /**
1202
1224
  * Function to send a message to user.
1203
1225
  * @internal
@@ -1229,6 +1251,14 @@ export class CometChat {
1229
1251
  * @memberof CometChat
1230
1252
  */
1231
1253
  static sendCustomMessage(message: CustomMessage): Promise<TextMessage | BaseMessage | MediaMessage | CustomMessage>;
1254
+ /**
1255
+ *
1256
+ * Function to send a interactive message.
1257
+ * @param {InteractiveMessage} message
1258
+ * @returns {Message | any}
1259
+ * @memberof CometChat
1260
+ */
1261
+ static sendInteractiveMessage(message: InteractiveMessage): Promise<TextMessage | BaseMessage | MediaMessage | CustomMessage>;
1232
1262
  /**
1233
1263
  *
1234
1264
  * Function to get the last delivered message id from local storage.
@@ -1264,6 +1294,13 @@ export class CometChat {
1264
1294
  * @memberof CometChat
1265
1295
  */
1266
1296
  static markAsDelivered(...args: any): any;
1297
+ /**
1298
+ * Mark all the messages after the specified message id as unread.
1299
+ * @param {TextMessage | MediaMessage | CustomMessage | BaseMessage | any} message
1300
+ * @returns {Promise<string>}
1301
+ * @memberof CometChat
1302
+ **/
1303
+ static markAsUnread(message: TextMessage | MediaMessage | CustomMessage | any): Promise<string | CometChatException>;
1267
1304
  /**
1268
1305
  * Send a transient message.
1269
1306
  * @param {string} uid
@@ -1284,7 +1321,7 @@ export class CometChat {
1284
1321
  * @returns {Message | any}
1285
1322
  * @memberof CometChat
1286
1323
  */
1287
- static getMessageDetails(messageId: string | any): Promise<TextMessage | MediaMessage | CustomMessage | BaseMessage>;
1324
+ static getMessageDetails(messageId: string | any): Promise<TextMessage | MediaMessage | CustomMessage | InteractiveMessage | BaseMessage>;
1288
1325
  /**
1289
1326
  * Function to fetch message receipt details for the provided messageID.
1290
1327
  * @param {string | any} messageId
@@ -1756,6 +1793,14 @@ export class CometChat {
1756
1793
  * @memberof CometChat
1757
1794
  */
1758
1795
  static isExtensionEnabled(extensionId: string): Promise<boolean>;
1796
+ /**
1797
+ *
1798
+ * Returns a boolean value which indicates if the AI Feature is enabled or not.
1799
+ * @param {string} featureKey
1800
+ * @returns {Promise<boolean>}
1801
+ * @memberof CometChat
1802
+ */
1803
+ static isAIFeatureEnabled(featureKey: string): Promise<boolean>;
1759
1804
  /**
1760
1805
  * Returns an object of CCExtension Class which has the details of the extension.
1761
1806
  *
@@ -1798,18 +1843,40 @@ export class CometChat {
1798
1843
  * Function to get conversation starter for a particular conversation.
1799
1844
  * @param {string} receiverId
1800
1845
  * @param {string} receiverType
1801
- * @returns {Promise<Object>}
1846
+ * @param {Object} configuration
1847
+ * @returns {Promise<Array<string>>}
1802
1848
  * @memberof CometChat
1803
1849
  */
1804
- static getConversationStarter(receiverId: string, receiverType: string): Promise<Object>;
1850
+ static getConversationStarter(receiverId: string, receiverType: string, configuration?: Object): Promise<Array<string>>;
1805
1851
  /**
1806
- * Function to get smart reply in a particular conversation.
1852
+ * Function to get smart replies in a conversation.
1807
1853
  * @param {string} receiverId
1808
1854
  * @param {string} receiverType
1855
+ * @param {Object} configuration
1809
1856
  * @returns {Promise<Object>}
1810
1857
  * @memberof CometChat
1811
1858
  */
1812
- static getSmartReply(receiverId: string, receiverType: string): Promise<Object>;
1859
+ static getSmartReplies(receiverId: string, receiverType: string, configuration?: Object): Promise<Object>;
1860
+ /**
1861
+ * Function to get assistance from a bot in a particular conversation.
1862
+ * @param {string} receiverId
1863
+ * @param {string} receiverType
1864
+ * @param {string} botUID
1865
+ * @param {string} question
1866
+ * @param {Object} configuration
1867
+ * @returns {Promise<string>}
1868
+ * @memberof CometChat
1869
+ */
1870
+ static askBot(receiverId: string, receiverType: string, botUID: string, question: string, configuration?: Object): Promise<string>;
1871
+ /**
1872
+ * Function to get summary of a conversation.
1873
+ * @param {string} receiverId
1874
+ * @param {string} receiverType
1875
+ * @param {Object} configuration
1876
+ * @returns {Promise<string>}
1877
+ * @memberof CometChat
1878
+ */
1879
+ static getConversationSummary(receiverId: string, receiverType: string, configuration?: Object): Promise<string>;
1813
1880
  /**
1814
1881
  * Function to set resource, platform and language variable.
1815
1882
  * @param {string} resource
@@ -1818,6 +1885,17 @@ export class CometChat {
1818
1885
  * @memberof CometChat
1819
1886
  */
1820
1887
  static setSource(resource: string, platform: string, language: string): void;
1888
+ /**
1889
+ * Function to set demo app details.
1890
+ * @internal
1891
+ * @memberof CometChat
1892
+ */
1893
+ static setDemoMetaInfo(details: {
1894
+ name: string;
1895
+ type: string;
1896
+ version: string;
1897
+ platform: string;
1898
+ }): void;
1821
1899
  /**
1822
1900
  * Function to clear local storage.
1823
1901
  * @internal
@@ -1854,6 +1932,13 @@ export class CometChat {
1854
1932
  * @returns
1855
1933
  */
1856
1934
  internalLogout(pushToLoginListener?: boolean): Promise<unknown>;
1935
+ /**
1936
+ * Mark the element of a message as interacted.
1937
+ * @param {string} messageId
1938
+ * @param {string} elementId
1939
+ * @memberof CometChat
1940
+ */
1941
+ static markAsInteracted(messageId: string | any, elementId: string): Promise<string>;
1857
1942
  }
1858
1943
 
1859
1944
  /**
@@ -1877,7 +1962,7 @@ export interface UserObj {
1877
1962
  avatar: string;
1878
1963
  lastActiveAt: number;
1879
1964
  link: string;
1880
- metadata: string;
1965
+ metadata: object;
1881
1966
  role: string;
1882
1967
  status: string;
1883
1968
  statusMessage: string;
@@ -1950,14 +2035,14 @@ export class User {
1950
2035
  setLink(link: string): string;
1951
2036
  /**
1952
2037
  * Method to get metadata of the user.
1953
- * @returns {string}
2038
+ * @returns {object}
1954
2039
  */
1955
- getMetadata(): string;
2040
+ getMetadata(): object;
1956
2041
  /**
1957
2042
  * Method to set metadata of the user.
1958
- * @param {string} metadata
2043
+ * @param {object} metadata
1959
2044
  */
1960
- setMetadata(metadata: string): void;
2045
+ setMetadata(metadata: object): void;
1961
2046
  /**
1962
2047
  * Method to get role of the user.
1963
2048
  * @returns {string}
@@ -2053,6 +2138,7 @@ export class MediaMessage extends BaseMessage implements Message {
2053
2138
  ACTION: string;
2054
2139
  CALL: string;
2055
2140
  CUSTOM: string;
2141
+ INTERACTIVE: string;
2056
2142
  };
2057
2143
  private url;
2058
2144
  private file;
@@ -2178,6 +2264,8 @@ export class BaseMessage implements Message {
2178
2264
  protected deletedBy: string;
2179
2265
  protected replyCount: number;
2180
2266
  protected rawMessage: Object;
2267
+ protected mentionedUsers?: User[];
2268
+ protected mentionedMe?: boolean;
2181
2269
  constructor(receiverId: string, messageType: string, receiverType: string, category: MessageCategory);
2182
2270
  /**
2183
2271
  * Get ID of the message
@@ -2393,6 +2481,26 @@ export class BaseMessage implements Message {
2393
2481
  * Set the raw JSON of the message.
2394
2482
  */
2395
2483
  setRawMessage(rawMessage: Object): void;
2484
+ /**
2485
+ * @param {User[]} mentionedUsers
2486
+ * Set the array of mentioned users
2487
+ */
2488
+ setMentionedUsers(mentionedUsers: User[]): void;
2489
+ /**
2490
+ * Get the array of mentioned users
2491
+ * @returns
2492
+ */
2493
+ getMentionedUsers(): User[];
2494
+ /**
2495
+ * @param {boolean} hasMentionedMe
2496
+ * Method to set if the user was mentioned in the message
2497
+ */
2498
+ setHasMentionedMe(hasMentionedMe: boolean): void;
2499
+ /**
2500
+ * Method to check if the user was mentioned in the message
2501
+ * @returns
2502
+ */
2503
+ hasMentionedMe(): boolean;
2396
2504
  }
2397
2505
 
2398
2506
  /**
@@ -2556,6 +2664,7 @@ export const LOCAL_STORE: {
2556
2664
  KEY_APP_SETTINGS: string;
2557
2665
  KEY_APP_ID: string;
2558
2666
  KEY_DEVICE_ID: string;
2667
+ KEY_SESSION_ID: string;
2559
2668
  KEY_MESSAGE_LISTENER_LIST: string;
2560
2669
  };
2561
2670
  export const ResponseConstants: {
@@ -2596,6 +2705,8 @@ export const ResponseConstants: {
2596
2705
  };
2597
2706
  KEY_CONVERSATION_STARTER: string;
2598
2707
  KEY_SMART_REPLIES: string;
2708
+ KEY_CONVERSATION_SUMMARY: string;
2709
+ KEY_BOT_REPLY: string;
2599
2710
  };
2600
2711
  };
2601
2712
  export const DELIVERY_RECEIPTS: {
@@ -2635,6 +2746,7 @@ export const MessageConstatnts: {
2635
2746
  ACTION: string;
2636
2747
  CALL: string;
2637
2748
  CUSTOM: string;
2749
+ INTERACTIVE: string;
2638
2750
  };
2639
2751
  RECEIVER_TYPE: {
2640
2752
  USER: string;
@@ -2663,6 +2775,14 @@ export const MessageConstatnts: {
2663
2775
  CUSTOM_DATA: string;
2664
2776
  CUSTOM_SUB_TYPE: string;
2665
2777
  RESOURCE: string;
2778
+ MENTIONS: string;
2779
+ INTERACTIVE_DATA: string;
2780
+ INTERACTION_GOAL: string;
2781
+ INTERACTIONS: string;
2782
+ ALLOW_SENDER_INTERACTION: string;
2783
+ ELEMENT_ID: string;
2784
+ INTERACTED_AT: string;
2785
+ ELEMENT_IDS: string;
2666
2786
  };
2667
2787
  KNOWN_MEDIA_TYPE: {
2668
2788
  IMAGE: any[];
@@ -2704,6 +2824,10 @@ export const MessageConstatnts: {
2704
2824
  HIDE_DELETED_MESSAGES: string;
2705
2825
  WITH_TAGS: string;
2706
2826
  TAGS: string;
2827
+ MY_MENTIONS_ONLY: string;
2828
+ MENTIONS_WITH_TAG_INFO: string;
2829
+ MENTIONS_WITH_BLOCKED_INFO: string;
2830
+ ONLY_INTERACTION_GOAL_COMPLETED: string;
2707
2831
  };
2708
2832
  };
2709
2833
  };
@@ -2720,7 +2844,14 @@ export enum MessageCategory {
2720
2844
  ACTION = "action",
2721
2845
  MESSAGE = "message",
2722
2846
  CALL = "call",
2723
- CUSTOM = "custom"
2847
+ CUSTOM = "custom",
2848
+ INTERACTIVE = "interactive"
2849
+ }
2850
+ export enum GoalType {
2851
+ ANY_ACTION = "anyAction",
2852
+ ANY_OF = "anyOf",
2853
+ ALL_OF = "allOf",
2854
+ NONE = "none"
2724
2855
  }
2725
2856
  export const TYPING_NOTIFICATION: {
2726
2857
  RECEIVER_ID: string;
@@ -3273,6 +3404,18 @@ export const AIErrors: {
3273
3404
  message: string;
3274
3405
  details: string;
3275
3406
  };
3407
+ NO_CONVERSATION_SUMMARY: {
3408
+ code: string;
3409
+ name: string;
3410
+ message: string;
3411
+ details: string;
3412
+ };
3413
+ NO_ASSISTANCE: {
3414
+ code: string;
3415
+ name: string;
3416
+ message: string;
3417
+ details: string;
3418
+ };
3276
3419
  };
3277
3420
  export const ExtensionErrors: {
3278
3421
  INVALID_EXTENSION: {
@@ -3288,6 +3431,14 @@ export const ExtensionErrors: {
3288
3431
  details: {};
3289
3432
  };
3290
3433
  };
3434
+ export const AIFeatureError: {
3435
+ INVALID_AI_FEATURE: {
3436
+ code: string;
3437
+ name: string;
3438
+ message: string;
3439
+ details: {};
3440
+ };
3441
+ };
3291
3442
  export const MessageErrors: {
3292
3443
  INVALID_RECEIVER_TYPE: {
3293
3444
  code: string;
@@ -3447,6 +3598,10 @@ export const ONLINE_MEMBER_COUNT_API: {
3447
3598
  export const ADDITIONAL_CONSTANTS: {
3448
3599
  SECURE_URL_PROPERTY: string;
3449
3600
  };
3601
+ export const AI_FEATURE_ACCESSIBLE = "features.ai.accessible";
3602
+ export const AI_FEATURE_ENABLED = "features.ai.enabled";
3603
+ export const AI_SLUG_ACCESSIBLE = "features.ai.%s.accessible";
3604
+ export const AI_SLUG_ENABLED = "features.ai.%s.enabled";
3450
3605
 
3451
3606
  /**
3452
3607
  *
@@ -3554,14 +3709,14 @@ export class Group {
3554
3709
  setOwner(owner: string): void;
3555
3710
  /**
3556
3711
  * Method to get metadata of the group.
3557
- * @returns {string}
3712
+ * @returns {object}
3558
3713
  */
3559
- getMetadata(): string;
3714
+ getMetadata(): object;
3560
3715
  /**
3561
3716
  * Method to set metadata of the group.
3562
- * @param {string} metadata
3717
+ * @param {object} metadata
3563
3718
  */
3564
- setMetadata(metadata: string): void;
3719
+ setMetadata(metadata: object): void;
3565
3720
  /**
3566
3721
  * Method to get the created at timestamp of the group.
3567
3722
  * @returns {number}
@@ -3679,6 +3834,14 @@ export class MessageListener {
3679
3834
  * This event is triggered when a transient message is received.
3680
3835
  */
3681
3836
  onTransientMessageReceived?: Function;
3837
+ /**
3838
+ * This event is triggered when a interactive message is received.
3839
+ */
3840
+ onInteractiveMessageReceived?: Function;
3841
+ /**
3842
+ * This event is triggered when a interaction goal is completd .
3843
+ */
3844
+ onInteractionGoalCompleted?: Function;
3682
3845
  constructor(...args: any[]);
3683
3846
  }
3684
3847
  export class CallListener {
@@ -3920,6 +4083,7 @@ export class Call extends BaseMessage implements Message {
3920
4083
  ACTION: string;
3921
4084
  CALL: string;
3922
4085
  CUSTOM: string;
4086
+ INTERACTIVE: string;
3923
4087
  };
3924
4088
  static readonly ACTION_TYPE: {
3925
4089
  TYPE_MEMBER_JOINED: string;
@@ -3988,12 +4152,12 @@ export class Call extends BaseMessage implements Message {
3988
4152
  * Get JSONObject of data set by developer.
3989
4153
  * @returns
3990
4154
  */
3991
- getMetadata(): any;
4155
+ getMetadata(): object;
3992
4156
  /**
3993
- * @param {any} metadata
4157
+ * @param {object} metadata
3994
4158
  * Set metadata of the call message.
3995
4159
  */
3996
- setMetadata(metadata: any): void;
4160
+ setMetadata(metadata: object): void;
3997
4161
  /**
3998
4162
  * Get sender of the message.
3999
4163
  * @returns {User}
@@ -4204,6 +4368,7 @@ export class Action extends BaseMessage implements Message {
4204
4368
  ACTION: string;
4205
4369
  CALL: string;
4206
4370
  CUSTOM: string;
4371
+ INTERACTIVE: string;
4207
4372
  };
4208
4373
  static readonly ACTION_TYPE: {
4209
4374
  TYPE_MEMBER_JOINED: string;
@@ -4317,14 +4482,14 @@ export class Action extends BaseMessage implements Message {
4317
4482
  setActionFor(actionFor: User | Group | BaseMessage): void;
4318
4483
  /**
4319
4484
  * Method to get the metadata of the action message.
4320
- * @returns {any}
4485
+ * @returns {object}
4321
4486
  */
4322
- getMetadata(): any;
4487
+ getMetadata(): object;
4323
4488
  /**
4324
- * @param {any} metadata
4489
+ * @param {object} metadata
4325
4490
  * Method to get the metadata of the action message.
4326
4491
  */
4327
- setMetadata(metadata: any): void;
4492
+ setMetadata(metadata: object): void;
4328
4493
  }
4329
4494
 
4330
4495
  export class GroupsRequest {
@@ -4706,6 +4871,10 @@ export class MessagesRequestBuilder {
4706
4871
  /** @private */ HideDeletedMessages?: boolean;
4707
4872
  /** @private */ tags?: Array<String>;
4708
4873
  /** @private */ WithTags?: boolean;
4874
+ /** @private */ interactionGoalCompletedOnly?: boolean;
4875
+ /** @private */ ListMentionedMessages?: boolean;
4876
+ /** @private */ mentionsWithUserTags?: boolean;
4877
+ /** @private */ mentionsWithBlockedRelation?: boolean;
4709
4878
  /**
4710
4879
  * A method to set limit for the number of messages returned in a single iteration. A maximum of 100 messages can fetched in a single iteration.
4711
4880
  * @param {number} limit
@@ -4820,6 +4989,30 @@ export class MessagesRequestBuilder {
4820
4989
  * @returns
4821
4990
  */
4822
4991
  withTags(withTags: boolean): this;
4992
+ /**
4993
+ * A method to get the list of message with mentions
4994
+ * @param {boolean} listMentionedMessages
4995
+ * @returns
4996
+ */
4997
+ myMentionsOnly(listMentionedMessages?: boolean): this;
4998
+ /**
4999
+ * A method to include the user tags when getting the list of message with mentions
5000
+ * @param {boolean} mentionsWithUserTags
5001
+ * @returns
5002
+ */
5003
+ mentionsWithTagInfo(mentionsWithUserTags?: boolean): this;
5004
+ /**
5005
+ * A method to include the blocked relation when getting the list of message with mentions
5006
+ * @param {boolean} mentionsWithBlockedRelation
5007
+ * @returns
5008
+ */
5009
+ mentionsWithBlockedInfo(mentionsWithBlockedRelation?: boolean): this;
5010
+ /**
5011
+ * A method to get only interacted messages.
5012
+ * @param {boolean} interactionGoalCompletedOnly
5013
+ * @returns
5014
+ */
5015
+ setInteractionGoalCompletedOnly(interactionGoalCompletedOnly?: boolean): this;
4823
5016
  /**
4824
5017
  * This method will return an object of the MessagesRequest class.
4825
5018
  * @returns {MessagesRequest}
@@ -4855,14 +5048,14 @@ export class TypingIndicator {
4855
5048
  setReceiverId(receiverId: string): void;
4856
5049
  /**
4857
5050
  * Method to get metadata of the transient message.
4858
- * @returns {string}
5051
+ * @returns {object}
4859
5052
  */
4860
- getMetadata(): string;
5053
+ getMetadata(): object;
4861
5054
  /**
4862
5055
  * Method to set metadata of the transient message.
4863
- * @param {string} meta
5056
+ * @param {object} meta
4864
5057
  */
4865
- setMetadata(meta: string): void;
5058
+ setMetadata(meta: object): void;
4866
5059
  /**
4867
5060
  * Method to get sender of the transient message.
4868
5061
  * @returns {User}
@@ -5174,20 +5367,20 @@ export class CometChatHelper {
5174
5367
  /**
5175
5368
  * Takes JSONMessage as an input and will return an Object of BaseMessage Class.
5176
5369
  * @param {Object} message
5177
- * @returns {TextMessage | MediaMessage | CustomMessage | BaseMessage}
5370
+ * @returns {TextMessage | MediaMessage | CustomMessage | InteractiveMessage | BaseMessage}
5178
5371
  * @memberof CometChatHelper
5179
5372
  */
5180
- static processMessage(message: Object): Promise<TextMessage | MediaMessage | CustomMessage | BaseMessage>;
5373
+ static processMessage(message: Object): Promise<TextMessage | MediaMessage | CustomMessage | InteractiveMessage | BaseMessage>;
5181
5374
  /**-------------------------------------------------------------------*
5182
5375
  * Message related functions provided by CometChat class *
5183
5376
  *--------------------------------------------------------------------**/
5184
5377
  /**
5185
5378
  * Takes a Message Object and converts it into Conversation Object.
5186
- * @param {TextMessage | MediaMessage | CustomMessage} message
5379
+ * @param {TextMessage | MediaMessage | CustomMessage | InteractiveMessage} message
5187
5380
  * @returns {Conversation} conversation
5188
5381
  * @memberof CometChat
5189
5382
  */
5190
- static getConversationFromMessage(message: TextMessage | MediaMessage | CustomMessage | any): Promise<Conversation>;
5383
+ static getConversationFromMessage(message: TextMessage | MediaMessage | CustomMessage | InteractiveMessage | any): Promise<Conversation>;
5191
5384
  }
5192
5385
 
5193
5386
  /**
@@ -5815,6 +6008,225 @@ export class TransientMessage {
5815
6008
  setSender(sender: User): void;
5816
6009
  }
5817
6010
 
6011
+ /**
6012
+ *
6013
+ * @module InteractiveMessage
6014
+ */
6015
+ export class InteractiveMessage extends BaseMessage implements Message {
6016
+ /** @private */ static readonly TYPE: {
6017
+ TEXT: string;
6018
+ MEDIA: string;
6019
+ IMAGE: string;
6020
+ VIDEO: string;
6021
+ AUDIO: string;
6022
+ FILE: string;
6023
+ CUSTOM: string;
6024
+ };
6025
+ /** @private */ static readonly RECEIVER_TYPE: {
6026
+ USER: string;
6027
+ GROUP: string;
6028
+ };
6029
+ /** @private */ static readonly CATEGORY: {
6030
+ MESSAGE: string;
6031
+ ACTION: string;
6032
+ CALL: string;
6033
+ CUSTOM: string;
6034
+ INTERACTIVE: string;
6035
+ };
6036
+ private interactiveData;
6037
+ private interactionGoal;
6038
+ private data?;
6039
+ private interactions?;
6040
+ private tags?;
6041
+ private allowSenderInteraction?;
6042
+ constructor(...args: any[]);
6043
+ /**
6044
+ * Method to get sender of the message.
6045
+ * @returns {User}
6046
+ */
6047
+ getSender(): User;
6048
+ /**
6049
+ * Method to get interactive data of the message.
6050
+ * @returns {Object}
6051
+ */
6052
+ getInteractiveData(): Object;
6053
+ /**
6054
+ * Method to set interactive data of interactive message.
6055
+ * @param {Object} interactiveData
6056
+ */
6057
+ setInteractiveData(interactiveData: Object): void;
6058
+ /**
6059
+ * Method to get receiver of the message.
6060
+ * @returns {User|Group}
6061
+ */
6062
+ getReceiver(): User | Group;
6063
+ /**
6064
+ * Method to interaction goal of the message.
6065
+ * @returns {InteractionGoal}
6066
+ */
6067
+ getInteractionGoal(): InteractionGoal;
6068
+ /**
6069
+ * Method to set interaction goal of interactive message.
6070
+ * @param {InteractionGoal} interactionGoal
6071
+ */
6072
+ setInteractionGoal(interactionGoal: InteractionGoal): void;
6073
+ /**
6074
+ * Method to get interactions on the message.
6075
+ * @returns {Array<Interaction>}
6076
+ */
6077
+ getInteractions(): Array<Interaction>;
6078
+ /**
6079
+ * Method to set interactions of interactive message.
6080
+ * @param {Array<Interaction>} interactions
6081
+ */
6082
+ setInteractions(interactions: Array<Interaction>): void;
6083
+ /**
6084
+ * Method to get metadata of the message.
6085
+ * @returns {Object}
6086
+ */
6087
+ getMetadata(): Object;
6088
+ /**
6089
+ * Method to set sender metadata of the message.
6090
+ * @returns {User}
6091
+ */
6092
+ setMetadata(metadata: Object): void;
6093
+ /**
6094
+ * Method to get data of the message.
6095
+ * @returns {any}
6096
+ */
6097
+ getData(): any;
6098
+ /**
6099
+ * Method to get tags of the message.
6100
+ * @returns {Array<String>}
6101
+ */
6102
+ getTags(): Array<String>;
6103
+ /**
6104
+ * Get the set tags fo the message .
6105
+ * @returns {Array<String>}
6106
+ */
6107
+ setTags(tags: Array<String>): void;
6108
+ /**
6109
+ * @param {boolean} flag
6110
+ * Set the flag if sender is allowed to interact with the with the message.
6111
+ */
6112
+ setIsSenderInteractionAllowed(flag: boolean): void;
6113
+ /**
6114
+ * Get the flag which signifies if sender interaction is allowed .
6115
+ * @returns {boolean}
6116
+ */
6117
+ getIsSenderInteractionAllowed(flag: boolean): boolean;
6118
+ }
6119
+
6120
+ /**
6121
+ *
6122
+ * @module InteractionGoal
6123
+ */
6124
+ export class InteractionGoal {
6125
+ constructor(type: GoalType, elementIds: Array<String>);
6126
+ /**
6127
+ * Get the type of the interaction goal.
6128
+ * @returns {GoalType}
6129
+ */
6130
+ getType(): GoalType;
6131
+ /**
6132
+ * @param {GoalType} type
6133
+ * Set the type of goal for the message.
6134
+ */
6135
+ setType(type: GoalType): void;
6136
+ /**
6137
+ * Get the element ids of the interacttion goal.
6138
+ * @returns {Array<String>}
6139
+ */
6140
+ getElementIds(): Array<String>;
6141
+ /**
6142
+ * @param {Array<String>} elementIds
6143
+ * Set the element id for the intearction goal.
6144
+ */
6145
+ setElementIds(elementIds: Array<String>): void;
6146
+ }
6147
+
6148
+ export class Interaction {
6149
+ constructor(elementId: string, interactedAt: number);
6150
+ /**
6151
+ * Get the element id of the interaction.
6152
+ * @returns {string}
6153
+ */
6154
+ getElementId(): string;
6155
+ /**
6156
+ * Get the time of the interaction.
6157
+ * @returns {number}
6158
+ */
6159
+ getInteractedAt(): number;
6160
+ /**
6161
+ * @param {string} elementId
6162
+ * Set the element id.
6163
+ */
6164
+ setElementId(elementId: string): void;
6165
+ /**
6166
+ * @param {number} interactedAt
6167
+ * Set the time of intertaction .
6168
+ */
6169
+ setInteractedAt(interactedAt: number): void;
6170
+ static getInteractionFromJSON(message: any): Interaction;
6171
+ }
6172
+
6173
+ /**
6174
+ *
6175
+ * @module InteractionReceipt
6176
+ */
6177
+ export class InteractionReceipt {
6178
+ /**
6179
+ * Method to get receiver type of the interaction receipt.
6180
+ * @returns {string}
6181
+ */
6182
+ getReceiverType(): string;
6183
+ /**
6184
+ * Method to set receiver type of the interaction receipt.
6185
+ * @param {string} receiverType
6186
+ */
6187
+ setReceiverType(receiverType: string): void;
6188
+ /**
6189
+ * Method to get sender of the interaction receipt.
6190
+ * @returns {User}
6191
+ */
6192
+ getSender(): User;
6193
+ /**
6194
+ * Method to set sender of the interaction receipt.
6195
+ * @param {User} sender
6196
+ */
6197
+ setSender(sender: User): void;
6198
+ /**
6199
+ * Method to get receiver id of the interaction receipt.
6200
+ * @returns {string}
6201
+ */
6202
+ getReceiveId(): string;
6203
+ /**
6204
+ * Method to set receiver of the interaction receipt.
6205
+ * @param {string} receiverId
6206
+ */
6207
+ setReceiverId(receiverId: string): void;
6208
+ /**
6209
+ * Method to get the message ID.
6210
+ * @returns {string}
6211
+ */
6212
+ getMessageId(): string;
6213
+ /**
6214
+ * Method to set the message ID.
6215
+ * @param {string} messageId
6216
+ */
6217
+ setMessageId(messageId: string): void;
6218
+ /**
6219
+ * Method to get the interactions.
6220
+ * @returns { Array<Interaction>}
6221
+ */
6222
+ getInteractions(): Array<Interaction>;
6223
+ /**
6224
+ * Method to set the interactions.
6225
+ * @param {Array<Interaction>} interactions
6226
+ */
6227
+ setInteractions(interactions: Array<Interaction>): void;
6228
+ }
6229
+
5818
6230
  /**
5819
6231
  *
5820
6232
  *