stream-chat 8.25.1 → 8.27.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/src/types.ts CHANGED
@@ -41,6 +41,8 @@ export type DefaultGenerics = {
41
41
  commandType: LiteralStringForUnion;
42
42
  eventType: UR;
43
43
  messageType: UR;
44
+ pollOptionType: UR;
45
+ pollType: UR;
44
46
  reactionType: UR;
45
47
  userType: UR;
46
48
  };
@@ -51,6 +53,8 @@ export type ExtendableGenerics = {
51
53
  commandType: string;
52
54
  eventType: UR;
53
55
  messageType: UR;
56
+ pollOptionType: UR;
57
+ pollType: UR;
54
58
  reactionType: UR;
55
59
  userType: UR;
56
60
  };
@@ -93,6 +97,7 @@ export type AppSettingsAPIResponse<StreamChatGenerics extends ExtendableGenerics
93
97
  message_retention?: string;
94
98
  mutes?: boolean;
95
99
  name?: string;
100
+ polls?: boolean;
96
101
  push_notifications?: boolean;
97
102
  quotes?: boolean;
98
103
  reactions?: boolean;
@@ -288,6 +293,12 @@ export type ChannelResponse<
288
293
  updated_at?: string;
289
294
  };
290
295
 
296
+ export type QueryReactionsOptions = Pager;
297
+
298
+ export type QueryReactionsAPIResponse<StreamChatGenerics extends ExtendableGenerics = DefaultGenerics> = APIResponse & {
299
+ reactions: ReactionResponse<StreamChatGenerics>[];
300
+ };
301
+
291
302
  export type QueryChannelsAPIResponse<StreamChatGenerics extends ExtendableGenerics = DefaultGenerics> = APIResponse & {
292
303
  channels: Omit<ChannelAPIResponse<StreamChatGenerics>, keyof APIResponse>[];
293
304
  };
@@ -452,6 +463,8 @@ export type FormatMessageResponse<StreamChatGenerics extends ExtendableGenerics
452
463
  commandType: StreamChatGenerics['commandType'];
453
464
  eventType: StreamChatGenerics['eventType'];
454
465
  messageType: {};
466
+ pollOptionType: StreamChatGenerics['pollOptionType'];
467
+ pollType: StreamChatGenerics['pollType'];
455
468
  reactionType: StreamChatGenerics['reactionType'];
456
469
  userType: StreamChatGenerics['userType'];
457
470
  }>,
@@ -635,6 +648,7 @@ export type MessageResponseBase<
635
648
  pin_expires?: string | null;
636
649
  pinned_at?: string | null;
637
650
  pinned_by?: UserResponse<StreamChatGenerics> | null;
651
+ poll?: PollResponse<StreamChatGenerics>;
638
652
  reaction_counts?: { [key: string]: number } | null;
639
653
  reaction_scores?: { [key: string]: number } | null;
640
654
  reply_count?: number;
@@ -890,6 +904,7 @@ export type CreateChannelOptions<StreamChatGenerics extends ExtendableGenerics =
890
904
  mutes?: boolean;
891
905
  name?: string;
892
906
  permissions?: PermissionObject[];
907
+ polls?: boolean;
893
908
  push_notifications?: boolean;
894
909
  quotes?: boolean;
895
910
  reactions?: boolean;
@@ -1159,6 +1174,8 @@ export type Event<StreamChatGenerics extends ExtendableGenerics = DefaultGeneric
1159
1174
  mode?: string;
1160
1175
  online?: boolean;
1161
1176
  parent_id?: string;
1177
+ poll?: PollResponse<StreamChatGenerics>;
1178
+ poll_vote?: PollVote<StreamChatGenerics>;
1162
1179
  queriedChannels?: {
1163
1180
  channels: ChannelAPIResponse<StreamChatGenerics>[];
1164
1181
  isLatestMessageSet?: boolean;
@@ -1343,6 +1360,26 @@ export type BannedUsersFilters = QueryFilters<
1343
1360
  }
1344
1361
  >;
1345
1362
 
1363
+ export type ReactionFilters<StreamChatGenerics extends ExtendableGenerics = DefaultGenerics> = QueryFilters<
1364
+ {
1365
+ user_id?:
1366
+ | RequireOnlyOne<Pick<QueryFilter<ReactionResponse<StreamChatGenerics>['user_id']>, '$eq' | '$in'>>
1367
+ | PrimitiveFilter<ReactionResponse<StreamChatGenerics>['user_id']>;
1368
+ } & {
1369
+ type?:
1370
+ | RequireOnlyOne<Pick<QueryFilter<ReactionResponse<StreamChatGenerics>['type']>, '$eq'>>
1371
+ | PrimitiveFilter<ReactionResponse<StreamChatGenerics>['type']>;
1372
+ } & {
1373
+ created_at?:
1374
+ | RequireOnlyOne<Pick<QueryFilter<PollResponse['created_at']>, '$eq' | '$gt' | '$lt' | '$gte' | '$lte'>>
1375
+ | PrimitiveFilter<PollResponse['created_at']>;
1376
+ } & {
1377
+ [Key in keyof Omit<ReactionResponse<StreamChatGenerics>, 'user_id' | 'type' | 'created_at'>]: RequireOnlyOne<
1378
+ QueryFilter<ReactionResponse<StreamChatGenerics>[Key]>
1379
+ >;
1380
+ }
1381
+ >;
1382
+
1346
1383
  export type ChannelFilters<StreamChatGenerics extends ExtendableGenerics = DefaultGenerics> = QueryFilters<
1347
1384
  ContainsOperator<StreamChatGenerics['channelType']> & {
1348
1385
  members?:
@@ -1365,6 +1402,8 @@ export type ChannelFilters<StreamChatGenerics extends ExtendableGenerics = Defau
1365
1402
  commandType: StreamChatGenerics['commandType'];
1366
1403
  eventType: StreamChatGenerics['eventType'];
1367
1404
  messageType: StreamChatGenerics['messageType'];
1405
+ pollOptionType: StreamChatGenerics['pollOptionType'];
1406
+ pollType: StreamChatGenerics['pollType'];
1368
1407
  reactionType: StreamChatGenerics['reactionType'];
1369
1408
  userType: StreamChatGenerics['userType'];
1370
1409
  }>,
@@ -1378,6 +1417,8 @@ export type ChannelFilters<StreamChatGenerics extends ExtendableGenerics = Defau
1378
1417
  commandType: StreamChatGenerics['commandType'];
1379
1418
  eventType: StreamChatGenerics['eventType'];
1380
1419
  messageType: StreamChatGenerics['messageType'];
1420
+ pollOptionType: StreamChatGenerics['pollOptionType'];
1421
+ pollType: StreamChatGenerics['pollType'];
1381
1422
  reactionType: StreamChatGenerics['reactionType'];
1382
1423
  userType: StreamChatGenerics['userType'];
1383
1424
  }>[Key]
@@ -1390,6 +1431,8 @@ export type ChannelFilters<StreamChatGenerics extends ExtendableGenerics = Defau
1390
1431
  commandType: StreamChatGenerics['commandType'];
1391
1432
  eventType: StreamChatGenerics['eventType'];
1392
1433
  messageType: StreamChatGenerics['messageType'];
1434
+ pollOptionType: StreamChatGenerics['pollOptionType'];
1435
+ pollType: StreamChatGenerics['pollType'];
1393
1436
  reactionType: StreamChatGenerics['reactionType'];
1394
1437
  userType: StreamChatGenerics['userType'];
1395
1438
  }>[Key]
@@ -1397,6 +1440,94 @@ export type ChannelFilters<StreamChatGenerics extends ExtendableGenerics = Defau
1397
1440
  }
1398
1441
  >;
1399
1442
 
1443
+ export type QueryPollsOptions = Pager;
1444
+
1445
+ export type VotesFiltersOptions = {
1446
+ is_answer?: boolean;
1447
+ option_id?: string;
1448
+ user_id?: string;
1449
+ };
1450
+
1451
+ export type QueryVotesOptions = Pager;
1452
+
1453
+ export type QueryPollsFilters = QueryFilters<
1454
+ {
1455
+ id?: RequireOnlyOne<Pick<QueryFilter<PollResponse['id']>, '$eq' | '$in'>> | PrimitiveFilter<PollResponse['id']>;
1456
+ } & {
1457
+ user_id?:
1458
+ | RequireOnlyOne<Pick<QueryFilter<VotesFiltersOptions['user_id']>, '$eq' | '$in'>>
1459
+ | PrimitiveFilter<VotesFiltersOptions['user_id']>;
1460
+ } & {
1461
+ is_closed?:
1462
+ | RequireOnlyOne<Pick<QueryFilter<PollResponse['is_closed']>, '$eq'>>
1463
+ | PrimitiveFilter<PollResponse['is_closed']>;
1464
+ } & {
1465
+ max_votes_allowed?:
1466
+ | RequireOnlyOne<
1467
+ Pick<QueryFilter<PollResponse['max_votes_allowed']>, '$eq' | '$ne' | '$gt' | '$lt' | '$gte' | '$lte'>
1468
+ >
1469
+ | PrimitiveFilter<PollResponse['max_votes_allowed']>;
1470
+ } & {
1471
+ allow_answers?:
1472
+ | RequireOnlyOne<Pick<QueryFilter<PollResponse['allow_answers']>, '$eq'>>
1473
+ | PrimitiveFilter<PollResponse['allow_answers']>;
1474
+ } & {
1475
+ allow_user_suggested_options?:
1476
+ | RequireOnlyOne<Pick<QueryFilter<PollResponse['allow_user_suggested_options']>, '$eq'>>
1477
+ | PrimitiveFilter<PollResponse['allow_user_suggested_options']>;
1478
+ } & {
1479
+ voting_visibility?:
1480
+ | RequireOnlyOne<Pick<QueryFilter<PollResponse['voting_visibility']>, '$eq'>>
1481
+ | PrimitiveFilter<PollResponse['voting_visibility']>;
1482
+ } & {
1483
+ created_at?:
1484
+ | RequireOnlyOne<Pick<QueryFilter<PollResponse['created_at']>, '$eq' | '$gt' | '$lt' | '$gte' | '$lte'>>
1485
+ | PrimitiveFilter<PollResponse['created_at']>;
1486
+ } & {
1487
+ created_by_id?:
1488
+ | RequireOnlyOne<Pick<QueryFilter<PollResponse['created_by_id']>, '$eq' | '$in'>>
1489
+ | PrimitiveFilter<PollResponse['created_by_id']>;
1490
+ } & {
1491
+ updated_at?:
1492
+ | RequireOnlyOne<Pick<QueryFilter<PollResponse['updated_at']>, '$eq' | '$gt' | '$lt' | '$gte' | '$lte'>>
1493
+ | PrimitiveFilter<PollResponse['updated_at']>;
1494
+ } & {
1495
+ name?:
1496
+ | RequireOnlyOne<Pick<QueryFilter<PollResponse['name']>, '$eq' | '$in'>>
1497
+ | PrimitiveFilter<PollResponse['name']>;
1498
+ }
1499
+ >;
1500
+
1501
+ export type QueryVotesFilters = QueryFilters<
1502
+ {
1503
+ id?: RequireOnlyOne<Pick<QueryFilter<PollResponse['id']>, '$eq' | '$in'>> | PrimitiveFilter<PollResponse['id']>;
1504
+ } & {
1505
+ option_id?:
1506
+ | RequireOnlyOne<Pick<QueryFilter<VotesFiltersOptions['option_id']>, '$eq' | '$in'>>
1507
+ | PrimitiveFilter<VotesFiltersOptions['option_id']>;
1508
+ } & {
1509
+ is_answer?:
1510
+ | RequireOnlyOne<Pick<QueryFilter<VotesFiltersOptions['is_answer']>, '$eq'>>
1511
+ | PrimitiveFilter<VotesFiltersOptions['is_answer']>;
1512
+ } & {
1513
+ user_id?:
1514
+ | RequireOnlyOne<Pick<QueryFilter<VotesFiltersOptions['user_id']>, '$eq' | '$in'>>
1515
+ | PrimitiveFilter<VotesFiltersOptions['user_id']>;
1516
+ } & {
1517
+ created_at?:
1518
+ | RequireOnlyOne<Pick<QueryFilter<PollResponse['created_at']>, '$eq' | '$gt' | '$lt' | '$gte' | '$lte'>>
1519
+ | PrimitiveFilter<PollResponse['created_at']>;
1520
+ } & {
1521
+ created_by_id?:
1522
+ | RequireOnlyOne<Pick<QueryFilter<PollResponse['created_by_id']>, '$eq' | '$in'>>
1523
+ | PrimitiveFilter<PollResponse['created_by_id']>;
1524
+ } & {
1525
+ updated_at?:
1526
+ | RequireOnlyOne<Pick<QueryFilter<PollResponse['updated_at']>, '$eq' | '$gt' | '$lt' | '$gte' | '$lte'>>
1527
+ | PrimitiveFilter<PollResponse['updated_at']>;
1528
+ }
1529
+ >;
1530
+
1400
1531
  export type ContainsOperator<CustomType = {}> = {
1401
1532
  [Key in keyof CustomType]?: CustomType[Key] extends (infer ContainType)[]
1402
1533
  ?
@@ -1429,6 +1560,8 @@ export type MessageFilters<StreamChatGenerics extends ExtendableGenerics = Defau
1429
1560
  commandType: StreamChatGenerics['commandType'];
1430
1561
  eventType: StreamChatGenerics['eventType'];
1431
1562
  messageType: {};
1563
+ pollOptionType: StreamChatGenerics['pollOptionType'];
1564
+ pollType: StreamChatGenerics['pollType'];
1432
1565
  reactionType: StreamChatGenerics['reactionType'];
1433
1566
  userType: StreamChatGenerics['userType'];
1434
1567
  }>,
@@ -1442,6 +1575,8 @@ export type MessageFilters<StreamChatGenerics extends ExtendableGenerics = Defau
1442
1575
  commandType: StreamChatGenerics['commandType'];
1443
1576
  eventType: StreamChatGenerics['eventType'];
1444
1577
  messageType: {};
1578
+ pollOptionType: StreamChatGenerics['pollOptionType'];
1579
+ pollType: StreamChatGenerics['pollType'];
1445
1580
  reactionType: StreamChatGenerics['reactionType'];
1446
1581
  userType: StreamChatGenerics['userType'];
1447
1582
  }>[Key]
@@ -1454,6 +1589,8 @@ export type MessageFilters<StreamChatGenerics extends ExtendableGenerics = Defau
1454
1589
  commandType: StreamChatGenerics['commandType'];
1455
1590
  eventType: StreamChatGenerics['eventType'];
1456
1591
  messageType: {};
1592
+ pollOptionType: StreamChatGenerics['pollOptionType'];
1593
+ pollType: StreamChatGenerics['pollType'];
1457
1594
  reactionType: StreamChatGenerics['reactionType'];
1458
1595
  userType: StreamChatGenerics['userType'];
1459
1596
  }>[Key]
@@ -1532,6 +1669,8 @@ export type UserFilters<StreamChatGenerics extends ExtendableGenerics = DefaultG
1532
1669
  commandType: StreamChatGenerics['commandType'];
1533
1670
  eventType: StreamChatGenerics['eventType'];
1534
1671
  messageType: StreamChatGenerics['messageType'];
1672
+ pollOptionType: StreamChatGenerics['pollOptionType'];
1673
+ pollType: StreamChatGenerics['pollType'];
1535
1674
  reactionType: StreamChatGenerics['reactionType'];
1536
1675
  userType: {};
1537
1676
  }>,
@@ -1545,6 +1684,8 @@ export type UserFilters<StreamChatGenerics extends ExtendableGenerics = DefaultG
1545
1684
  commandType: StreamChatGenerics['commandType'];
1546
1685
  eventType: StreamChatGenerics['eventType'];
1547
1686
  messageType: StreamChatGenerics['messageType'];
1687
+ pollOptionType: StreamChatGenerics['pollOptionType'];
1688
+ pollType: StreamChatGenerics['pollType'];
1548
1689
  reactionType: StreamChatGenerics['reactionType'];
1549
1690
  userType: {};
1550
1691
  }>[Key]
@@ -1557,6 +1698,8 @@ export type UserFilters<StreamChatGenerics extends ExtendableGenerics = DefaultG
1557
1698
  commandType: StreamChatGenerics['commandType'];
1558
1699
  eventType: StreamChatGenerics['eventType'];
1559
1700
  messageType: StreamChatGenerics['messageType'];
1701
+ pollOptionType: StreamChatGenerics['pollOptionType'];
1702
+ pollType: StreamChatGenerics['pollType'];
1560
1703
  reactionType: StreamChatGenerics['reactionType'];
1561
1704
  userType: {};
1562
1705
  }>[Key]
@@ -1572,6 +1715,16 @@ export type BannedUsersSort = BannedUsersSortBase | Array<BannedUsersSortBase>;
1572
1715
 
1573
1716
  export type BannedUsersSortBase = { created_at?: AscDesc };
1574
1717
 
1718
+ export type ReactionSort<StreamChatGenerics extends ExtendableGenerics = DefaultGenerics> =
1719
+ | ReactionSortBase<StreamChatGenerics>
1720
+ | Array<ReactionSortBase<StreamChatGenerics>>;
1721
+
1722
+ export type ReactionSortBase<StreamChatGenerics extends ExtendableGenerics = DefaultGenerics> = Sort<
1723
+ StreamChatGenerics['reactionType']
1724
+ > & {
1725
+ created_at?: AscDesc;
1726
+ };
1727
+
1575
1728
  export type ChannelSort<StreamChatGenerics extends ExtendableGenerics = DefaultGenerics> =
1576
1729
  | ChannelSortBase<StreamChatGenerics>
1577
1730
  | Array<ChannelSortBase<StreamChatGenerics>>;
@@ -1631,6 +1784,26 @@ export type QuerySort<StreamChatGenerics extends ExtendableGenerics = DefaultGen
1631
1784
  | SearchMessageSort<StreamChatGenerics>
1632
1785
  | UserSort<StreamChatGenerics>;
1633
1786
 
1787
+ export type PollSort = PollSortBase | Array<PollSortBase>;
1788
+
1789
+ export type PollSortBase = {
1790
+ created_at?: AscDesc;
1791
+ id?: AscDesc;
1792
+ is_closed?: AscDesc;
1793
+ name?: AscDesc;
1794
+ updated_at?: AscDesc;
1795
+ };
1796
+
1797
+ export type VoteSort = VoteSortBase | Array<VoteSortBase>;
1798
+
1799
+ export type VoteSortBase = {
1800
+ created_at?: AscDesc;
1801
+ id?: AscDesc;
1802
+ is_closed?: AscDesc;
1803
+ name?: AscDesc;
1804
+ updated_at?: AscDesc;
1805
+ };
1806
+
1634
1807
  /**
1635
1808
  * Base Types
1636
1809
  */
@@ -1820,6 +1993,7 @@ export type ChannelConfigFields = {
1820
1993
  message_retention?: string;
1821
1994
  mutes?: boolean;
1822
1995
  name?: string;
1996
+ polls?: boolean;
1823
1997
  push_notifications?: boolean;
1824
1998
  quotes?: boolean;
1825
1999
  reactions?: boolean;
@@ -2103,7 +2277,8 @@ export type EndpointName =
2103
2277
  | 'ListImports'
2104
2278
  | 'UpsertPushProvider'
2105
2279
  | 'DeletePushProvider'
2106
- | 'ListPushProviders';
2280
+ | 'ListPushProviders'
2281
+ | 'CreatePoll';
2107
2282
 
2108
2283
  export type ExportChannelRequest = {
2109
2284
  id: string;
@@ -2203,6 +2378,7 @@ export type MessageBase<
2203
2378
  pin_expires?: string | null;
2204
2379
  pinned?: boolean;
2205
2380
  pinned_at?: string | null;
2381
+ poll_id?: string;
2206
2382
  quoted_message_id?: string;
2207
2383
  show_in_channel?: boolean;
2208
2384
  silent?: boolean;
@@ -2479,8 +2655,8 @@ export type DeleteType = 'soft' | 'hard' | 'pruning';
2479
2655
  DeleteUserOptions specifies a collection of one or more `user_ids` to be deleted.
2480
2656
 
2481
2657
  `user`:
2482
- - soft: marks user as deleted and retains all user data
2483
- - pruning: marks user as deleted and nullifies user information
2658
+ - soft: marks user as deleted and retains all user data
2659
+ - pruning: marks user as deleted and nullifies user information
2484
2660
  - hard: deletes user completely - this requires hard option for messages and conversation as well
2485
2661
  `conversations`:
2486
2662
  - soft: marks all conversation channels as deleted (same effect as Delete Channels with 'hard' option disabled)
@@ -2743,3 +2919,152 @@ export class ErrorFromResponse<T> extends Error {
2743
2919
  response?: AxiosResponse<T>;
2744
2920
  status?: number;
2745
2921
  }
2922
+
2923
+ export type QueryPollsResponse<StreamChatGenerics extends ExtendableGenerics = DefaultGenerics> = {
2924
+ polls: PollResponse<StreamChatGenerics>[];
2925
+ next?: string;
2926
+ };
2927
+
2928
+ export type CreatePollAPIResponse<StreamChatGenerics extends ExtendableGenerics = DefaultGenerics> = {
2929
+ poll: PollResponse<StreamChatGenerics>;
2930
+ };
2931
+
2932
+ export type GetPollAPIResponse<StreamChatGenerics extends ExtendableGenerics = DefaultGenerics> = {
2933
+ poll: PollResponse<StreamChatGenerics>;
2934
+ };
2935
+
2936
+ export type UpdatePollAPIResponse<StreamChatGenerics extends ExtendableGenerics = DefaultGenerics> = {
2937
+ poll: PollResponse<StreamChatGenerics>;
2938
+ };
2939
+
2940
+ export type PollResponse<
2941
+ StreamChatGenerics extends ExtendableGenerics = DefaultGenerics
2942
+ > = StreamChatGenerics['pollType'] & {
2943
+ answers_count: number;
2944
+ created_at: string;
2945
+ created_by: UserResponse<StreamChatGenerics> | null;
2946
+ created_by_id: string;
2947
+ enforce_unique_vote: boolean;
2948
+ id: string;
2949
+ latest_answers: PollVote<StreamChatGenerics>[];
2950
+ latest_votes_by_option: Record<string, PollVote<StreamChatGenerics>[]>;
2951
+ max_votes_allowed: number;
2952
+ name: string;
2953
+ options: PollOption<StreamChatGenerics>[];
2954
+ updated_at: string;
2955
+ vote_count: number;
2956
+ vote_counts_by_option: Record<string, number>;
2957
+ allow_answers?: boolean;
2958
+ allow_user_suggested_options?: boolean;
2959
+ channel?: ChannelAPIResponse<StreamChatGenerics> | null;
2960
+ cid?: string;
2961
+ description?: string;
2962
+ is_closed?: boolean;
2963
+ own_votes?: PollVote<StreamChatGenerics>[];
2964
+ voting_visibility?: VotingVisibility;
2965
+ };
2966
+
2967
+ export type PollOption<StreamChatGenerics extends ExtendableGenerics = DefaultGenerics> = {
2968
+ created_at: string;
2969
+ id: string;
2970
+ poll_id: string;
2971
+ text: string;
2972
+ updated_at: string;
2973
+ vote_count: number;
2974
+ votes?: PollVote<StreamChatGenerics>[];
2975
+ };
2976
+
2977
+ export enum VotingVisibility {
2978
+ anonymous = 'anonymous',
2979
+ public = 'public',
2980
+ }
2981
+
2982
+ export type PollData<
2983
+ StreamChatGenerics extends ExtendableGenerics = DefaultGenerics
2984
+ > = StreamChatGenerics['pollType'] & {
2985
+ name: string;
2986
+ allow_answers?: boolean;
2987
+ allow_user_suggested_options?: boolean;
2988
+ description?: string;
2989
+ enforce_unique_vote?: boolean;
2990
+ id?: string;
2991
+ is_closed?: boolean;
2992
+ max_votes_allowed?: number;
2993
+ options?: PollOptionData<StreamChatGenerics>[];
2994
+ user_id?: string;
2995
+ voting_visibility?: VotingVisibility;
2996
+ };
2997
+
2998
+ export type PartialPollUpdate<StreamChatGenerics extends ExtendableGenerics = DefaultGenerics> = {
2999
+ // id: string;
3000
+ set?: Partial<PollResponse<StreamChatGenerics>>;
3001
+ unset?: Array<keyof PollResponse<StreamChatGenerics>>;
3002
+ };
3003
+
3004
+ export type PollOptionData<
3005
+ StreamChatGenerics extends ExtendableGenerics = DefaultGenerics
3006
+ > = StreamChatGenerics['pollType'] & {
3007
+ text: string;
3008
+ id?: string;
3009
+ position?: number;
3010
+ };
3011
+
3012
+ export type PartialPollOptionUpdate<StreamChatGenerics extends ExtendableGenerics = DefaultGenerics> = {
3013
+ set?: Partial<PollOptionResponse<StreamChatGenerics>>;
3014
+ unset?: Array<keyof PollOptionResponse<StreamChatGenerics>>;
3015
+ };
3016
+
3017
+ export type PollVoteData = {
3018
+ answer_text?: string;
3019
+ is_answer?: boolean;
3020
+ option_id?: string;
3021
+ };
3022
+
3023
+ export type PollPaginationOptions = {
3024
+ limit?: number;
3025
+ next?: string;
3026
+ };
3027
+
3028
+ export type CreatePollOptionAPIResponse<StreamChatGenerics extends ExtendableGenerics = DefaultGenerics> = {
3029
+ poll_option: PollOptionResponse<StreamChatGenerics>;
3030
+ };
3031
+
3032
+ export type GetPollOptionAPIResponse<
3033
+ StreamChatGenerics extends ExtendableGenerics = DefaultGenerics
3034
+ > = CreatePollOptionAPIResponse<StreamChatGenerics>;
3035
+ export type UpdatePollOptionAPIResponse<
3036
+ StreamChatGenerics extends ExtendableGenerics = DefaultGenerics
3037
+ > = CreatePollOptionAPIResponse<StreamChatGenerics>;
3038
+
3039
+ export type PollOptionResponse<
3040
+ StreamChatGenerics extends ExtendableGenerics = DefaultGenerics
3041
+ > = StreamChatGenerics['pollType'] & {
3042
+ created_at: string;
3043
+ id: string;
3044
+ poll_id: string;
3045
+ position: number;
3046
+ text: string;
3047
+ updated_at: string;
3048
+ vote_count: number;
3049
+ votes?: PollVote<StreamChatGenerics>[];
3050
+ };
3051
+
3052
+ export type PollVote<StreamChatGenerics extends ExtendableGenerics = DefaultGenerics> = {
3053
+ created_at: string;
3054
+ id: string;
3055
+ is_answer: boolean;
3056
+ poll_id: string;
3057
+ user_id: string;
3058
+ answer_text?: string;
3059
+ option_id?: string;
3060
+ user?: UserResponse<StreamChatGenerics>;
3061
+ };
3062
+
3063
+ export type PollVotesAPIResponse<StreamChatGenerics extends ExtendableGenerics = DefaultGenerics> = {
3064
+ votes: PollVote<StreamChatGenerics>[];
3065
+ next?: string;
3066
+ };
3067
+
3068
+ export type CastVoteAPIResponse<StreamChatGenerics extends ExtendableGenerics = DefaultGenerics> = {
3069
+ vote: PollVote<StreamChatGenerics>;
3070
+ };