@oxyfoo/whymeet-types 0.0.1

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.
@@ -0,0 +1,794 @@
1
+ import type { Profile } from '../Models/Profile.js';
2
+ import type { MatchCandidate, MatchRequest } from '../Models/Match.js';
3
+ import type { Conversation, Message } from '../Models/Conversation.js';
4
+ import type { SearchFilters } from '../Models/Search.js';
5
+ import type { Notification } from '../Models/Notification.js';
6
+ import type { UserSettings, DiscoveryPreferences, VisibilityPreferences } from '../Models/Settings.js';
7
+ import type { TagSuggestion } from '../Models/Tag.js';
8
+ import type { UserSubscription, UserBoost, TokenBalance, BoostPack, SubscriptionPlatform } from '../Models/Subscription.js';
9
+ import type { ReportReason, ReportSourceType } from '../Models/Report.js';
10
+ import type { BlockedUser } from '../Models/Block.js';
11
+ import type { Activity, ActivitySummary, ActivitySearchFilters } from '../Models/Activity.js';
12
+ import type { IntentionKey, InterestCategoryKey } from '../Models/Intention.js';
13
+ export interface WSRequest_Handshake {
14
+ command: 'handshake';
15
+ payload: {
16
+ version: string;
17
+ };
18
+ }
19
+ export interface WSRequest_GetProfile {
20
+ command: 'get-profile';
21
+ payload: Record<string, never>;
22
+ }
23
+ export interface WSRequest_UpdateProfile {
24
+ command: 'update-profile';
25
+ payload: {
26
+ data: Partial<Profile>;
27
+ };
28
+ }
29
+ export interface WSRequest_GetCandidates {
30
+ command: 'get-candidates';
31
+ payload: {
32
+ filters?: SearchFilters;
33
+ };
34
+ }
35
+ export interface WSRequest_GetCandidateCounts {
36
+ command: 'get-candidate-counts';
37
+ payload: Record<string, never>;
38
+ }
39
+ export interface WSRequest_Like {
40
+ command: 'like';
41
+ payload: {
42
+ candidateId: string;
43
+ };
44
+ }
45
+ export interface WSRequest_Skip {
46
+ command: 'skip';
47
+ payload: {
48
+ candidateId: string;
49
+ };
50
+ }
51
+ export interface WSRequest_Star {
52
+ command: 'star';
53
+ payload: {
54
+ candidateId: string;
55
+ };
56
+ }
57
+ export interface WSRequest_Search {
58
+ command: 'search';
59
+ payload: {
60
+ filters: SearchFilters;
61
+ };
62
+ }
63
+ export interface WSRequest_GetConversations {
64
+ command: 'get-conversations';
65
+ payload: Record<string, never>;
66
+ }
67
+ export interface WSRequest_GetMessages {
68
+ command: 'get-messages';
69
+ payload: {
70
+ conversationId: string;
71
+ cursor?: string;
72
+ limit?: number;
73
+ };
74
+ }
75
+ export interface WSRequest_SendMessage {
76
+ command: 'send-message';
77
+ payload: {
78
+ conversationId: string;
79
+ text: string;
80
+ };
81
+ }
82
+ export interface WSRequest_GetRequests {
83
+ command: 'get-requests';
84
+ payload: Record<string, never>;
85
+ }
86
+ export interface WSRequest_AcceptRequest {
87
+ command: 'accept-request';
88
+ payload: {
89
+ senderId: string;
90
+ };
91
+ }
92
+ export interface WSRequest_DeclineRequest {
93
+ command: 'decline-request';
94
+ payload: {
95
+ senderId: string;
96
+ };
97
+ }
98
+ export interface WSRequest_GetNotifications {
99
+ command: 'get-notifications';
100
+ payload: Record<string, never>;
101
+ }
102
+ export interface WSRequest_MarkNotificationRead {
103
+ command: 'mark-notification-read';
104
+ payload: {
105
+ notificationId: string;
106
+ };
107
+ }
108
+ export interface WSRequest_BlockUser {
109
+ command: 'block-user';
110
+ payload: {
111
+ userId: string;
112
+ };
113
+ }
114
+ export interface WSRequest_ReportUser {
115
+ command: 'report-user';
116
+ payload: {
117
+ userId: string;
118
+ reason: ReportReason;
119
+ sourceType: ReportSourceType;
120
+ sourceId?: string;
121
+ message?: string;
122
+ };
123
+ }
124
+ export interface WSRequest_AppealSuspension {
125
+ command: 'appeal-suspension';
126
+ payload: {
127
+ message?: string;
128
+ };
129
+ }
130
+ export interface WSRequest_Unmatch {
131
+ command: 'unmatch';
132
+ payload: {
133
+ userId: string;
134
+ };
135
+ }
136
+ export interface WSRequest_GetSettings {
137
+ command: 'get-settings';
138
+ payload: Record<string, never>;
139
+ }
140
+ export interface WSRequest_UpdateSettings {
141
+ command: 'update-settings';
142
+ payload: {
143
+ data: Partial<UserSettings>;
144
+ };
145
+ }
146
+ export interface WSRequest_TagSuggest {
147
+ command: 'tag-suggest';
148
+ payload: {
149
+ query: string;
150
+ type: 'interest' | 'skill';
151
+ limit?: number;
152
+ };
153
+ }
154
+ export interface WSRequest_GetPreferences {
155
+ command: 'get-preferences';
156
+ payload: Record<string, never>;
157
+ }
158
+ export interface WSRequest_UpdatePreferences {
159
+ command: 'update-preferences';
160
+ payload: {
161
+ discovery?: Partial<DiscoveryPreferences>;
162
+ visibility?: Partial<VisibilityPreferences>;
163
+ syncVisibility?: boolean;
164
+ };
165
+ }
166
+ export interface WSRequest_DeleteAccount {
167
+ command: 'delete-account';
168
+ payload: {
169
+ confirmation: string;
170
+ };
171
+ }
172
+ export interface WSRequest_RegisterPushToken {
173
+ command: 'register-push-token';
174
+ payload: {
175
+ token: string;
176
+ provider: 'fcm';
177
+ };
178
+ }
179
+ export interface WSRequest_MarkRead {
180
+ command: 'mark-read';
181
+ payload: {
182
+ conversationId: string;
183
+ };
184
+ }
185
+ export interface WSRequest_GetUserProfile {
186
+ command: 'get-user-profile';
187
+ payload: {
188
+ userId: string;
189
+ };
190
+ }
191
+ export interface WSRequest_CreateActivity {
192
+ command: 'create-activity';
193
+ payload: {
194
+ title: string;
195
+ description: string;
196
+ category: InterestCategoryKey;
197
+ dateTime?: string;
198
+ locationName: string;
199
+ latitude?: number;
200
+ longitude?: number;
201
+ maxParticipants?: number;
202
+ };
203
+ }
204
+ export interface WSRequest_UpdateActivity {
205
+ command: 'update-activity';
206
+ payload: {
207
+ activityId: string;
208
+ data: {
209
+ title?: string;
210
+ description?: string;
211
+ category?: InterestCategoryKey;
212
+ dateTime?: string | null;
213
+ locationName?: string;
214
+ latitude?: number | null;
215
+ longitude?: number | null;
216
+ maxParticipants?: number | null;
217
+ };
218
+ };
219
+ }
220
+ export interface WSRequest_CancelActivity {
221
+ command: 'cancel-activity';
222
+ payload: {
223
+ activityId: string;
224
+ };
225
+ }
226
+ export interface WSRequest_GetActivity {
227
+ command: 'get-activity';
228
+ payload: {
229
+ activityId: string;
230
+ };
231
+ }
232
+ export interface WSRequest_JoinActivity {
233
+ command: 'join-activity';
234
+ payload: {
235
+ activityId: string;
236
+ };
237
+ }
238
+ export interface WSRequest_LeaveActivity {
239
+ command: 'leave-activity';
240
+ payload: {
241
+ activityId: string;
242
+ };
243
+ }
244
+ export interface WSRequest_GetActivities {
245
+ command: 'get-activities';
246
+ payload: {
247
+ filters?: ActivitySearchFilters;
248
+ };
249
+ }
250
+ export interface WSRequest_GetActivityCounts {
251
+ command: 'get-activity-counts';
252
+ payload: Record<string, never>;
253
+ }
254
+ export interface WSRequest_SearchActivities {
255
+ command: 'search-activities';
256
+ payload: {
257
+ filters: ActivitySearchFilters;
258
+ };
259
+ }
260
+ export interface WSRequest_ReportActivity {
261
+ command: 'report-activity';
262
+ payload: {
263
+ activityId: string;
264
+ reason: ReportReason;
265
+ message?: string;
266
+ };
267
+ }
268
+ export interface WSRequest_GetBlockedUsers {
269
+ command: 'get-blocked-users';
270
+ payload: Record<string, never>;
271
+ }
272
+ export interface WSRequest_UnblockUser {
273
+ command: 'unblock-user';
274
+ payload: {
275
+ userId: string;
276
+ };
277
+ }
278
+ export interface WSRequest_GetSubscription {
279
+ command: 'get-subscription';
280
+ payload: Record<string, never>;
281
+ }
282
+ export interface WSRequest_ValidateReceipt {
283
+ command: 'validate-receipt';
284
+ payload: {
285
+ receipt: string;
286
+ platform: SubscriptionPlatform;
287
+ productId: string;
288
+ };
289
+ }
290
+ export interface WSRequest_GetTokenBalance {
291
+ command: 'get-token-balance';
292
+ payload: Record<string, never>;
293
+ }
294
+ export interface WSRequest_SearchWithToken {
295
+ command: 'search-with-token';
296
+ payload: {
297
+ filters: SearchFilters;
298
+ };
299
+ }
300
+ export interface WSRequest_PreviewSearch {
301
+ command: 'preview-search';
302
+ payload: {
303
+ filters: SearchFilters;
304
+ };
305
+ }
306
+ export interface WSRequest_PurchaseBoost {
307
+ command: 'purchase-boost';
308
+ payload: {
309
+ receipt: string;
310
+ platform: SubscriptionPlatform;
311
+ boostPack: BoostPack;
312
+ };
313
+ }
314
+ export interface WSRequest_GetBoostStatus {
315
+ command: 'get-boost-status';
316
+ payload: Record<string, never>;
317
+ }
318
+ export type WSClientRequest = WSRequest_Handshake | WSRequest_GetProfile | WSRequest_UpdateProfile | WSRequest_GetCandidates | WSRequest_GetCandidateCounts | WSRequest_GetSubIntentionCounts | WSRequest_GetPopularTags | WSRequest_Like | WSRequest_Skip | WSRequest_Star | WSRequest_Search | WSRequest_GetConversations | WSRequest_GetMessages | WSRequest_SendMessage | WSRequest_GetRequests | WSRequest_AcceptRequest | WSRequest_DeclineRequest | WSRequest_GetNotifications | WSRequest_MarkNotificationRead | WSRequest_BlockUser | WSRequest_ReportUser | WSRequest_Unmatch | WSRequest_AppealSuspension | WSRequest_GetSettings | WSRequest_UpdateSettings | WSRequest_TagSuggest | WSRequest_GetPreferences | WSRequest_UpdatePreferences | WSRequest_DeleteAccount | WSRequest_RegisterPushToken | WSRequest_GetSubscription | WSRequest_ValidateReceipt | WSRequest_GetTokenBalance | WSRequest_SearchWithToken | WSRequest_PreviewSearch | WSRequest_PurchaseBoost | WSRequest_GetBoostStatus | WSRequest_MarkRead | WSRequest_GetUserProfile | WSRequest_CreateActivity | WSRequest_UpdateActivity | WSRequest_CancelActivity | WSRequest_GetActivity | WSRequest_JoinActivity | WSRequest_LeaveActivity | WSRequest_GetActivities | WSRequest_GetActivityCounts | WSRequest_SearchActivities | WSRequest_ReportActivity | WSRequest_GetBlockedUsers | WSRequest_UnblockUser;
319
+ export type WSClientCommand = WSClientRequest['command'];
320
+ export interface WSResponse_Handshake {
321
+ command: 'handshake';
322
+ payload: {
323
+ success: boolean;
324
+ serverVersion: string;
325
+ };
326
+ }
327
+ export interface WSResponse_GetProfile {
328
+ command: 'get-profile';
329
+ payload: {
330
+ user: Profile;
331
+ } | {
332
+ error: string;
333
+ };
334
+ }
335
+ export interface WSResponse_UpdateProfile {
336
+ command: 'update-profile';
337
+ payload: {
338
+ user: Profile;
339
+ } | {
340
+ error: string;
341
+ };
342
+ }
343
+ export interface WSResponse_GetCandidates {
344
+ command: 'get-candidates';
345
+ payload: {
346
+ candidates: MatchCandidate[];
347
+ totalAvailable: number;
348
+ swipesRemaining: number;
349
+ dailySwipeLimit: number;
350
+ } | {
351
+ error: string;
352
+ };
353
+ }
354
+ export interface WSResponse_GetCandidateCounts {
355
+ command: 'get-candidate-counts';
356
+ payload: {
357
+ counts: Record<string, number>;
358
+ } | {
359
+ error: string;
360
+ };
361
+ }
362
+ export interface WSRequest_GetSubIntentionCounts {
363
+ command: 'get-subintention-counts';
364
+ payload: {
365
+ intention: IntentionKey;
366
+ };
367
+ }
368
+ export interface WSResponse_GetSubIntentionCounts {
369
+ command: 'get-subintention-counts';
370
+ payload: {
371
+ counts: Record<string, number>;
372
+ } | {
373
+ error: string;
374
+ };
375
+ }
376
+ export interface WSRequest_GetPopularTags {
377
+ command: 'get-popular-tags';
378
+ payload: {
379
+ intention: IntentionKey;
380
+ subCategories: string[];
381
+ };
382
+ }
383
+ export interface WSResponse_GetPopularTags {
384
+ command: 'get-popular-tags';
385
+ payload: {
386
+ tags: string[];
387
+ } | {
388
+ error: string;
389
+ };
390
+ }
391
+ export interface WSResponse_Like {
392
+ command: 'like';
393
+ payload: {
394
+ matched: boolean;
395
+ conversationId?: string;
396
+ } | {
397
+ error: string;
398
+ };
399
+ }
400
+ export interface WSResponse_Skip {
401
+ command: 'skip';
402
+ payload: {
403
+ success: boolean;
404
+ };
405
+ }
406
+ export interface WSResponse_Star {
407
+ command: 'star';
408
+ payload: {
409
+ success: boolean;
410
+ } | {
411
+ error: string;
412
+ };
413
+ }
414
+ export interface WSResponse_Search {
415
+ command: 'search';
416
+ payload: {
417
+ results: MatchCandidate[];
418
+ tokensRemaining: number;
419
+ totalCount: number;
420
+ } | {
421
+ error: string;
422
+ };
423
+ }
424
+ export interface WSResponse_GetConversations {
425
+ command: 'get-conversations';
426
+ payload: {
427
+ conversations: Conversation[];
428
+ } | {
429
+ error: string;
430
+ };
431
+ }
432
+ export interface WSResponse_GetMessages {
433
+ command: 'get-messages';
434
+ payload: {
435
+ messages: Message[];
436
+ hasMore: boolean;
437
+ } | {
438
+ error: string;
439
+ };
440
+ }
441
+ export interface WSResponse_SendMessage {
442
+ command: 'send-message';
443
+ payload: {
444
+ message: Message;
445
+ } | {
446
+ error: string;
447
+ };
448
+ }
449
+ export interface WSResponse_GetRequests {
450
+ command: 'get-requests';
451
+ payload: {
452
+ requests: MatchRequest[];
453
+ } | {
454
+ error: string;
455
+ };
456
+ }
457
+ export interface WSResponse_AcceptRequest {
458
+ command: 'accept-request';
459
+ payload: {
460
+ conversationId: string;
461
+ } | {
462
+ error: string;
463
+ };
464
+ }
465
+ export interface WSResponse_DeclineRequest {
466
+ command: 'decline-request';
467
+ payload: {
468
+ success: boolean;
469
+ } | {
470
+ error: string;
471
+ };
472
+ }
473
+ export interface WSResponse_GetNotifications {
474
+ command: 'get-notifications';
475
+ payload: {
476
+ notifications: Notification[];
477
+ } | {
478
+ error: string;
479
+ };
480
+ }
481
+ export interface WSResponse_MarkNotificationRead {
482
+ command: 'mark-notification-read';
483
+ payload: {
484
+ success: boolean;
485
+ } | {
486
+ error: string;
487
+ };
488
+ }
489
+ export interface WSResponse_BlockUser {
490
+ command: 'block-user';
491
+ payload: {
492
+ success: boolean;
493
+ } | {
494
+ error: string;
495
+ };
496
+ }
497
+ export interface WSResponse_ReportUser {
498
+ command: 'report-user';
499
+ payload: {
500
+ success: boolean;
501
+ } | {
502
+ error: string;
503
+ };
504
+ }
505
+ export interface WSResponse_AppealSuspension {
506
+ command: 'appeal-suspension';
507
+ payload: {
508
+ success: boolean;
509
+ } | {
510
+ error: string;
511
+ };
512
+ }
513
+ export interface WSResponse_Unmatch {
514
+ command: 'unmatch';
515
+ payload: {
516
+ success: boolean;
517
+ } | {
518
+ error: string;
519
+ };
520
+ }
521
+ export interface WSResponse_GetSettings {
522
+ command: 'get-settings';
523
+ payload: {
524
+ settings: UserSettings;
525
+ } | {
526
+ error: string;
527
+ };
528
+ }
529
+ export interface WSResponse_UpdateSettings {
530
+ command: 'update-settings';
531
+ payload: {
532
+ settings: UserSettings;
533
+ } | {
534
+ error: string;
535
+ };
536
+ }
537
+ export interface WSResponse_TagSuggest {
538
+ command: 'tag-suggest';
539
+ payload: {
540
+ suggestions: TagSuggestion[];
541
+ } | {
542
+ error: string;
543
+ };
544
+ }
545
+ export interface WSResponse_GetPreferences {
546
+ command: 'get-preferences';
547
+ payload: {
548
+ discovery: DiscoveryPreferences;
549
+ visibility: VisibilityPreferences;
550
+ syncVisibility: boolean;
551
+ } | {
552
+ error: string;
553
+ };
554
+ }
555
+ export interface WSResponse_UpdatePreferences {
556
+ command: 'update-preferences';
557
+ payload: {
558
+ discovery: DiscoveryPreferences;
559
+ visibility: VisibilityPreferences;
560
+ syncVisibility: boolean;
561
+ } | {
562
+ error: string;
563
+ };
564
+ }
565
+ export interface WSResponse_DeleteAccount {
566
+ command: 'delete-account';
567
+ payload: {
568
+ success: boolean;
569
+ } | {
570
+ error: string;
571
+ };
572
+ }
573
+ export interface WSResponse_RegisterPushToken {
574
+ command: 'register-push-token';
575
+ payload: {
576
+ success: boolean;
577
+ } | {
578
+ error: string;
579
+ };
580
+ }
581
+ export interface WSResponse_GetSubscription {
582
+ command: 'get-subscription';
583
+ payload: {
584
+ subscription: UserSubscription | null;
585
+ isPremium: boolean;
586
+ } | {
587
+ error: string;
588
+ };
589
+ }
590
+ export interface WSResponse_ValidateReceipt {
591
+ command: 'validate-receipt';
592
+ payload: {
593
+ subscription: UserSubscription;
594
+ isPremium: boolean;
595
+ boost: UserBoost;
596
+ } | {
597
+ error: string;
598
+ };
599
+ }
600
+ export interface WSResponse_GetTokenBalance {
601
+ command: 'get-token-balance';
602
+ payload: {
603
+ balance: TokenBalance;
604
+ } | {
605
+ error: string;
606
+ };
607
+ }
608
+ export interface WSResponse_SearchWithToken {
609
+ command: 'search-with-token';
610
+ payload: {
611
+ results: MatchCandidate[];
612
+ tokensRemaining: number;
613
+ totalCount: number;
614
+ } | {
615
+ error: string;
616
+ };
617
+ }
618
+ export interface WSResponse_PreviewSearch {
619
+ command: 'preview-search';
620
+ payload: {
621
+ results: MatchCandidate[];
622
+ totalCount: number;
623
+ } | {
624
+ error: string;
625
+ };
626
+ }
627
+ export interface WSResponse_PurchaseBoost {
628
+ command: 'purchase-boost';
629
+ payload: {
630
+ boost: UserBoost;
631
+ } | {
632
+ error: string;
633
+ };
634
+ }
635
+ export interface WSResponse_GetBoostStatus {
636
+ command: 'get-boost-status';
637
+ payload: {
638
+ boost: UserBoost;
639
+ } | {
640
+ error: string;
641
+ };
642
+ }
643
+ export interface WSResponse_MarkRead {
644
+ command: 'mark-read';
645
+ payload: {
646
+ success: boolean;
647
+ } | {
648
+ error: string;
649
+ };
650
+ }
651
+ export interface WSResponse_GetUserProfile {
652
+ command: 'get-user-profile';
653
+ payload: {
654
+ candidate: MatchCandidate;
655
+ } | {
656
+ error: string;
657
+ };
658
+ }
659
+ export interface WSResponse_CreateActivity {
660
+ command: 'create-activity';
661
+ payload: {
662
+ activity: Activity;
663
+ } | {
664
+ error: string;
665
+ };
666
+ }
667
+ export interface WSResponse_UpdateActivity {
668
+ command: 'update-activity';
669
+ payload: {
670
+ activity: Activity;
671
+ } | {
672
+ error: string;
673
+ };
674
+ }
675
+ export interface WSResponse_CancelActivity {
676
+ command: 'cancel-activity';
677
+ payload: {
678
+ success: boolean;
679
+ } | {
680
+ error: string;
681
+ };
682
+ }
683
+ export interface WSResponse_GetActivity {
684
+ command: 'get-activity';
685
+ payload: {
686
+ activity: Activity;
687
+ } | {
688
+ error: string;
689
+ };
690
+ }
691
+ export interface WSResponse_JoinActivity {
692
+ command: 'join-activity';
693
+ payload: {
694
+ activity: Activity;
695
+ conversationId: string;
696
+ } | {
697
+ error: string;
698
+ };
699
+ }
700
+ export interface WSResponse_LeaveActivity {
701
+ command: 'leave-activity';
702
+ payload: {
703
+ success: boolean;
704
+ } | {
705
+ error: string;
706
+ };
707
+ }
708
+ export interface WSResponse_GetActivities {
709
+ command: 'get-activities';
710
+ payload: {
711
+ activities: ActivitySummary[];
712
+ totalCount: number;
713
+ } | {
714
+ error: string;
715
+ };
716
+ }
717
+ export interface WSResponse_GetActivityCounts {
718
+ command: 'get-activity-counts';
719
+ payload: {
720
+ counts: Record<string, number>;
721
+ } | {
722
+ error: string;
723
+ };
724
+ }
725
+ export interface WSResponse_SearchActivities {
726
+ command: 'search-activities';
727
+ payload: {
728
+ activities: ActivitySummary[];
729
+ totalCount: number;
730
+ } | {
731
+ error: string;
732
+ };
733
+ }
734
+ export interface WSResponse_ReportActivity {
735
+ command: 'report-activity';
736
+ payload: {
737
+ success: boolean;
738
+ } | {
739
+ error: string;
740
+ };
741
+ }
742
+ export interface WSResponse_GetBlockedUsers {
743
+ command: 'get-blocked-users';
744
+ payload: {
745
+ blockedUsers: BlockedUser[];
746
+ } | {
747
+ error: string;
748
+ };
749
+ }
750
+ export interface WSResponse_UnblockUser {
751
+ command: 'unblock-user';
752
+ payload: {
753
+ success: boolean;
754
+ } | {
755
+ error: string;
756
+ };
757
+ }
758
+ export type WSServerResponse = WSResponse_Handshake | WSResponse_GetProfile | WSResponse_UpdateProfile | WSResponse_GetCandidates | WSResponse_GetCandidateCounts | WSResponse_GetSubIntentionCounts | WSResponse_GetPopularTags | WSResponse_Like | WSResponse_Skip | WSResponse_Star | WSResponse_Search | WSResponse_GetConversations | WSResponse_GetMessages | WSResponse_SendMessage | WSResponse_GetRequests | WSResponse_AcceptRequest | WSResponse_DeclineRequest | WSResponse_GetNotifications | WSResponse_MarkNotificationRead | WSResponse_BlockUser | WSResponse_ReportUser | WSResponse_Unmatch | WSResponse_AppealSuspension | WSResponse_GetSettings | WSResponse_UpdateSettings | WSResponse_TagSuggest | WSResponse_GetPreferences | WSResponse_UpdatePreferences | WSResponse_DeleteAccount | WSResponse_RegisterPushToken | WSResponse_GetSubscription | WSResponse_ValidateReceipt | WSResponse_GetTokenBalance | WSResponse_SearchWithToken | WSResponse_PreviewSearch | WSResponse_PurchaseBoost | WSResponse_GetBoostStatus | WSResponse_CreateActivity | WSResponse_UpdateActivity | WSResponse_CancelActivity | WSResponse_GetActivity | WSResponse_JoinActivity | WSResponse_LeaveActivity | WSResponse_GetActivities | WSResponse_GetActivityCounts | WSResponse_SearchActivities | WSResponse_ReportActivity | WSResponse_MarkRead | WSResponse_GetUserProfile | WSResponse_GetBlockedUsers | WSResponse_UnblockUser;
759
+ export interface WSEvent_NewMessage {
760
+ event: 'new-message';
761
+ payload: {
762
+ conversationId: string;
763
+ message: Message;
764
+ };
765
+ }
766
+ export interface WSEvent_NewMatch {
767
+ event: 'new-match';
768
+ payload: {
769
+ conversationId: string;
770
+ participant: Profile;
771
+ };
772
+ }
773
+ export interface WSEvent_Notification {
774
+ event: 'notification';
775
+ payload: {
776
+ notification: Notification;
777
+ };
778
+ }
779
+ export interface WSEvent_MarkRead {
780
+ event: 'mark-read';
781
+ payload: {
782
+ conversationId: string;
783
+ };
784
+ }
785
+ export interface WSEvent_Suspended {
786
+ event: 'suspended';
787
+ payload: Record<string, never>;
788
+ }
789
+ export type WSServerEvent = WSEvent_NewMessage | WSEvent_NewMatch | WSEvent_Notification | WSEvent_MarkRead | WSEvent_Suspended;
790
+ export interface WSEnvelope<T = WSClientRequest | WSServerResponse | WSServerEvent> {
791
+ id: string;
792
+ timestamp: number;
793
+ data: T;
794
+ }