@tivio/sdk-react 9.1.2 → 9.1.3-alpha2

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.
@@ -11,19 +11,30 @@ import { default as React_2 } from 'react';
11
11
  import { RecommendationsQuery } from '@algolia/recommend';
12
12
  import type { TagManagerArgs } from 'react-gtm-module';
13
13
 
14
+ export declare interface ActivatedPromotionResponse {
15
+ id: string;
16
+ isFree: boolean;
17
+ videoId?: string;
18
+ }
19
+
20
+ export declare type ActivateVoucherResponse = string | {
21
+ activatedPromotions: ActivatedPromotionResponse[];
22
+ };
23
+
24
+ export declare type AddEditCommentResponse = {
25
+ id: string;
26
+ error?: string;
27
+ };
28
+
14
29
  /**
15
30
  * @public
16
31
  */
17
- export declare interface AddCommentOptions {
18
- parentCommentId?: string;
32
+ export declare interface AddMessageOptions {
33
+ parentMessageId?: string;
19
34
  text: string;
20
35
  videoTime?: number;
21
36
  }
22
37
 
23
- export declare type AddEditCommentResponse = {
24
- id: string;
25
- };
26
-
27
38
  /**
28
39
  * @public
29
40
  */
@@ -232,15 +243,32 @@ export declare type AdvertisementAnalyticParams = {
232
243
  videoId: string;
233
244
  };
234
245
 
246
+ /**
247
+ * Represents age range (inclusive).
248
+ */
249
+ export declare type AgeRange = {
250
+ from: number;
251
+ /**
252
+ * If not set, we assume the range is not closed and {@property to} is set to infinity
253
+ * (there are no values to represent {@link Infinity} in firestore, so we use undefined instead).
254
+ */
255
+ to?: number;
256
+ /**
257
+ * If set, we assume that this is a profile for kids only (e.g. 0-12).
258
+ * This value can only be `true` or not specified (undefined).
259
+ */
260
+ kidsOnly?: true;
261
+ };
262
+
235
263
  /**
236
264
  * @public
237
265
  */
238
266
  export declare enum ALGOLIA_INDEX_NAME {
239
267
  VIDEOS = "videos",
268
+ VIDEOS_FOR_EPG = "videos_for_epg",
240
269
  VIDEOSDESC = "videos_created_desc",
241
270
  TAGS = "tags",
242
- TV_CHANNELS = "tvChannels",
243
- USERS = "users"
271
+ TV_CHANNELS = "tvChannels"
244
272
  }
245
273
 
246
274
  export declare interface AllStargazeCreatorsWithVoucherSubscriptionsResponse {
@@ -312,6 +340,12 @@ export declare interface AnalyticsInterface {
312
340
  }) => void;
313
341
  }
314
342
 
343
+ export declare enum AnswerStatus {
344
+ SELECTED = "SELECTED",
345
+ CORRECT = "CORRECT",
346
+ WRONG = "WRONG"
347
+ }
348
+
315
349
  /**
316
350
  * @public
317
351
  */
@@ -373,6 +407,9 @@ export declare interface Article extends RowItem, MonetizableItem, ReactableCont
373
407
  blocks: ArticleBlock[];
374
408
  cover: string;
375
409
  organizationId?: string;
410
+ detailBanner?: string;
411
+ episodeNumber?: number;
412
+ seasonNumber?: number;
376
413
  }
377
414
 
378
415
  /**
@@ -385,6 +422,8 @@ export declare interface ArticleBlock {
385
422
  imageUrl?: string;
386
423
  textContent?: string;
387
424
  videoId?: string;
425
+ isOverflowImage?: boolean;
426
+ imageDescription?: string;
388
427
  }
389
428
 
390
429
  export declare interface ArticleBlockField extends Omit<ArticleBlock, 'textContent' | 'htmlContent'> {
@@ -395,12 +434,14 @@ export declare interface ArticleBlockField extends Omit<ArticleBlock, 'textConte
395
434
  /**
396
435
  * @public
397
436
  */
398
- export declare type ArticleBlockType = 'PARAGRAPH' | 'IMAGE' | 'VIDEO' | 'HEADING' | 'PAYWALL';
437
+ export declare type ArticleBlockType = 'PARAGRAPH' | 'IMAGE' | 'VIDEO' | 'HEADING' | 'PAYWALL' | 'BLOCK_QUOTE';
399
438
 
400
439
  export declare interface ArticleTileSpecificData {
401
440
  organizationId: string;
402
441
  blocks: ArticleBlockField[];
403
442
  assets?: AssetsField;
443
+ description?: Translation;
444
+ monetizations?: TileMonetizationData[];
404
445
  }
405
446
 
406
447
  /**
@@ -503,6 +544,9 @@ export declare interface BannerProps {
503
544
  organizationLogoLandscape?: string;
504
545
  organizationHandle?: string;
505
546
  organizationProfilePhoto?: string;
547
+ bottomComponent?: BottomComponent;
548
+ showDescriptionAsTitle?: boolean;
549
+ hideTitle?: boolean;
506
550
  }
507
551
 
508
552
  /**
@@ -526,6 +570,11 @@ export declare type BetOffer = {
526
570
  time: Date;
527
571
  };
528
572
 
573
+ /**
574
+ * @public
575
+ */
576
+ export declare type BottomComponent = 'dateOfPublication' | 'description' | undefined;
577
+
529
578
  /**
530
579
  * @public
531
580
  */
@@ -555,6 +604,8 @@ export declare interface ButtonOptions {
555
604
  backgroundImage: string;
556
605
  borderRadius: string | number;
557
606
  color?: string;
607
+ padding?: string;
608
+ maxWidth?: string;
558
609
  }
559
610
 
560
611
  /**
@@ -562,6 +613,12 @@ export declare interface ButtonOptions {
562
613
  */
563
614
  export declare type Callback<T = any> = (arg?: T) => void;
564
615
 
616
+ export declare interface CancellingMonetizationsSummaryItem {
617
+ date: number;
618
+ monetizationId: string;
619
+ cancellingUsers: number;
620
+ }
621
+
565
622
  /**
566
623
  * @public
567
624
  * @deprecated this channel structure is not used anymore (don't confuse with tv channels, which are used).
@@ -608,35 +665,17 @@ export declare interface ChannelSourceParams extends PlayerSourceParams<SourceTy
608
665
  */
609
666
  export declare type Chapter = any;
610
667
 
611
- /**
612
- * @public
613
- */
614
- export declare type CmpConfig = 'default' | 'debug' | 'none';
615
-
616
- /**
617
- * @public
618
- */
619
- declare interface Comment_2 {
620
- id: string;
621
- text: string;
622
- videoTime: number | null;
623
- createdAt: Date;
624
- editedAt: Date | null;
625
- user: CommentUser | null;
626
- reactions: Record<string, number> | null;
627
- repliesCount: number | null;
628
- isReady: boolean;
629
- updateRepliesCount: (increment: boolean) => void;
668
+ export declare interface ChurnedMonetizationsSummaryItem {
669
+ date: number;
670
+ monetizationId: string;
671
+ canceledUsers: number;
672
+ expiredUsers: number;
630
673
  }
631
- export { Comment_2 as Comment }
632
674
 
633
675
  /**
634
676
  * @public
635
677
  */
636
- export declare interface CommentUser {
637
- name: string;
638
- avatarUrl: string | null;
639
- }
678
+ export declare type CmpConfig = 'default' | 'debug' | 'none';
640
679
 
641
680
  /**
642
681
  * TODO same name as core-js entity, not convenient
@@ -756,6 +795,16 @@ export declare interface ContentAvailability {
756
795
  manual: boolean;
757
796
  }
758
797
 
798
+ /**
799
+ * @public
800
+ */
801
+ export declare type ContentOrConversationId = {
802
+ contentId: string;
803
+ contentType?: 'video' | 'article';
804
+ } | {
805
+ conversationId: string;
806
+ };
807
+
759
808
  /**
760
809
  * @public
761
810
  */
@@ -777,11 +826,76 @@ export declare interface ContentSortPickerProps {
777
826
  onChange: (value: ContentSortEnum) => void;
778
827
  }
779
828
 
829
+ export declare type ContentType = 'ARTICLE' | 'VIDEO' | 'SERIES' | 'EPISODE';
830
+
780
831
  /**
781
832
  * @public
782
833
  */
783
834
  export declare type ContinuePosition = number | null | Promise<number | null>;
784
835
 
836
+ /**
837
+ * @public
838
+ */
839
+ export declare interface Conversation {
840
+ id: string;
841
+ createdAt: Date | null;
842
+ updatedAt: Date | null;
843
+ createdBy: MessageParticipant | null;
844
+ isSending: boolean;
845
+ lastMessage: ConversationMessage | null;
846
+ lastSeen: {
847
+ [key: string]: ConversationLastSeen | undefined;
848
+ };
849
+ participants: MessageParticipant[];
850
+ title: string;
851
+ messages: ConversationMessage[];
852
+ notSeenCount: number;
853
+ isLoading: boolean;
854
+ subscribeToMessages(): void;
855
+ sendMessage(text: string): Promise<SendMessageResponse>;
856
+ markAsRead(messageId: string): Promise<void>;
857
+ destroy(): void;
858
+ }
859
+
860
+ /**
861
+ * @public
862
+ */
863
+ export declare interface ConversationLastSeen {
864
+ message: Message;
865
+ date?: Date;
866
+ }
867
+
868
+ /**
869
+ * @public
870
+ */
871
+ export declare interface ConversationMessage {
872
+ id: string;
873
+ participant: MessageParticipant;
874
+ text: string;
875
+ createdAt: Date;
876
+ editedAt: Date | null;
877
+ }
878
+
879
+ /**
880
+ * @public
881
+ */
882
+ export declare interface ConversationStore {
883
+ conversations: Map<string, Conversation>;
884
+ isLoading: boolean;
885
+ setParticipantPath(participantPath: string | null): void;
886
+ setConversations(callback: (conversations: Conversation[]) => Conversation[]): void;
887
+ subscribeConversations(participantPath: string): Promise<void>;
888
+ createConversation(participantPaths: string[]): Promise<{
889
+ id: string;
890
+ } | undefined>;
891
+ clearConversations(): void;
892
+ getConversationById(id: string): Conversation | undefined;
893
+ readonly allConversations: Conversation[];
894
+ readonly notSeenCount: number;
895
+ setDisposer(key: 'conversations', disposer: Disposer_2): void;
896
+ unsubscribeConversations(): void;
897
+ }
898
+
785
899
  /**
786
900
  * Entity aggregate conversion statistics per day
787
901
  * TODO in future change structure, new used like array item
@@ -929,6 +1043,7 @@ export declare enum CustomerId {
929
1043
  CNC = "CNC",
930
1044
  DVTV = "DVTV",
931
1045
  DVTV_DEV = "DVTV_DEV",
1046
+ DVTV_SK = "DVTV_SK",
932
1047
  GARAZ = "GARAZ",
933
1048
  GRAPE = "GRAPE",
934
1049
  HODINA_DEJEPICHU = "HODINA_DEJEPICHU",
@@ -955,7 +1070,27 @@ export declare enum CustomerId {
955
1070
  LIGA_NARUBY = "LIGA_NARUBY",
956
1071
  VIC_NEZ_SI_MYSLITE = "VIC_NEZ_SI_MYSLITE",
957
1072
  ZIMAK = "ZIMAK",
958
- TYDENIK_HOROSKOPU = "TYDENIK_HOROSKOPU"
1073
+ TYDENIK_HOROSKOPU = "TYDENIK_HOROSKOPU",
1074
+ THE_MAG = "THE_MAG",
1075
+ FNO = "FNO",
1076
+ HARTMANNRICO = "HARTMANNRICO",
1077
+ DRASLOVKA = "DRASLOVKA",
1078
+ CSOB = "CSOB",
1079
+ MAGNA = "MAGNA",
1080
+ REPORTERKY = "REPORTERKY",
1081
+ TV_LUX = "TV_LUX",
1082
+ KVIFF = "KVIFF",
1083
+ KVIFF_WEB = "KVIFF_WEB",
1084
+ SPORTY_TV = "SPORTY_TV",
1085
+ PALATINUM = "PALATINUM",
1086
+ MIRA_BOSAK = "MIRA_BOSAK",
1087
+ KOVACIC_360 = "KOVACIC_360",
1088
+ SIFRA_TV = "SIFRA_TV",
1089
+ BLESK = "BLESK",
1090
+ NERUDA_TV = "NERUDA_TV",
1091
+ DAVID_FRANK_TV = "DAVID_FRANK_TV",
1092
+ LEPSI_UZ_TO_NEBUDE = "LEPSI_UZ_TO_NEBUDE",
1093
+ BEAT_SEXISM = "BEAT_SEXISM"
959
1094
  }
960
1095
 
961
1096
  /**
@@ -985,6 +1120,7 @@ export declare interface Customizations {
985
1120
  fontSize: number;
986
1121
  };
987
1122
  borderRadius: string | number;
1123
+ color: string;
988
1124
  };
989
1125
  Monetization?: {
990
1126
  borderRadius?: number;
@@ -1031,6 +1167,8 @@ export declare interface Customizations {
1031
1167
  mobileLogoHeight?: string;
1032
1168
  borderBottom: string;
1033
1169
  color?: string;
1170
+ backgroundGradient?: string;
1171
+ iconColor?: string;
1034
1172
  };
1035
1173
  CenteredMenu?: {
1036
1174
  backgroundColor: string;
@@ -1084,6 +1222,7 @@ export declare interface Customizations {
1084
1222
  borderColor?: string | null;
1085
1223
  scaleUp?: boolean;
1086
1224
  lowerOpacityMobile?: boolean;
1225
+ lockIconColor?: string;
1087
1226
  };
1088
1227
  };
1089
1228
  Input: InputOptions;
@@ -1114,6 +1253,24 @@ export declare interface Customizations {
1114
1253
  backgroundColor: string;
1115
1254
  color: string;
1116
1255
  };
1256
+ Paywall?: {
1257
+ backgroundColor?: string;
1258
+ color?: string;
1259
+ };
1260
+ Payment?: {
1261
+ backgroundColor?: string;
1262
+ color?: string;
1263
+ backgroundColorActive?: string;
1264
+ formBackgroundColor?: string;
1265
+ };
1266
+ QerkoOverlay?: {
1267
+ backgroundColor?: string;
1268
+ color?: string;
1269
+ };
1270
+ MessageBar?: {
1271
+ backgroundColor: string;
1272
+ color: string;
1273
+ };
1117
1274
  }
1118
1275
 
1119
1276
  export declare interface CustomScript {
@@ -1232,14 +1389,6 @@ export declare interface DividerProps {
1232
1389
  horizontalSpacing?: number;
1233
1390
  }
1234
1391
 
1235
- /**
1236
- * @public
1237
- */
1238
- export declare type DocumentOptions = Partial<{
1239
- lazyLoading: boolean;
1240
- subscribeOnChanges: boolean;
1241
- }>;
1242
-
1243
1392
  export declare interface Drm {
1244
1393
  encryption: VideoSourceEncryption;
1245
1394
  /**
@@ -1259,12 +1408,6 @@ export declare interface Drm {
1259
1408
  }
1260
1409
 
1261
1410
  export declare enum DrmProvider {
1262
- /**
1263
- * Original oktagon stream provider.
1264
- *
1265
- * https://streamonline.pl
1266
- */
1267
- STREAMONLINE = "streamonline",
1268
1411
  /**
1269
1412
  * New stream provider for tivio. Also known as insys video technologies.
1270
1413
  *
@@ -1272,7 +1415,13 @@ export declare enum DrmProvider {
1272
1415
  * https://www.drm.cloud
1273
1416
  * https://videokit.cloud
1274
1417
  */
1275
- INSYS = "insys"
1418
+ INSYS = "insys",
1419
+ /**
1420
+ * Original oktagon stream provider.
1421
+ *
1422
+ * https://streamonline.pl
1423
+ */
1424
+ STREAMONLINE = "streamonline"
1276
1425
  }
1277
1426
 
1278
1427
  /**
@@ -1304,8 +1453,8 @@ export declare interface DurationWithUnit {
1304
1453
  /**
1305
1454
  * @public
1306
1455
  */
1307
- export declare interface EditCommentOptions extends Omit<AddCommentOptions, 'parentCommentId'> {
1308
- commentId: string;
1456
+ export declare interface EditMessageOptions extends Omit<AddMessageOptions, 'parentMessageId'> {
1457
+ messageId: string;
1309
1458
  text: string;
1310
1459
  videoTime?: number;
1311
1460
  }
@@ -1482,6 +1631,15 @@ export declare enum ForbiddenReason {
1482
1631
  GEO_BLOCKING = "GEO_BLOCKING"
1483
1632
  }
1484
1633
 
1634
+ /**
1635
+ * @public
1636
+ */
1637
+ export declare type FrequencyInfo = {
1638
+ title: Translation;
1639
+ unit: string;
1640
+ value: number;
1641
+ };
1642
+
1485
1643
  /**
1486
1644
  * On call error interface for front-end.
1487
1645
  * Do not use it / throw it from @tivio/api.
@@ -1609,6 +1767,10 @@ export declare interface GetSourceUrlRequest {
1609
1767
  * Returns url to manifest with audio only chunks.
1610
1768
  */
1611
1769
  audioOnly?: boolean;
1770
+ /**
1771
+ * Start time in ms, for live streams. Will return manifest with desired start.
1772
+ */
1773
+ startTimeMs?: number;
1612
1774
  }
1613
1775
 
1614
1776
  export declare interface GetSourceUrlResponse {
@@ -1632,10 +1794,28 @@ export declare interface GetSourceUrlResponse {
1632
1794
  * Returns url to manifest with audio only chunks.
1633
1795
  */
1634
1796
  audioOnly?: boolean;
1797
+ /**
1798
+ * URL for source modification for user (e.g. add PIP window to livestream).
1799
+ */
1800
+ managementUrl?: string;
1801
+ /**
1802
+ * Template for generating image previews for user scrubbing in player.
1803
+ */
1804
+ seekingMatrix?: SeekingMatrixTemplate;
1635
1805
  }
1636
1806
 
1637
1807
  export declare type GetTilesInRowResponse<U extends NextPageParamType = NextPageParamType> = PaginatedResponse<TileData, U>;
1638
1808
 
1809
+ export declare interface GetUserRssUrlRequest {
1810
+ organizationId: string;
1811
+ }
1812
+
1813
+ export declare interface GetUserRssUrlResponse {
1814
+ rssUrl: string;
1815
+ createdAt?: number;
1816
+ expiresAt?: number;
1817
+ }
1818
+
1639
1819
  export declare interface GetVideoAnalyticsErrorItem {
1640
1820
  count: number;
1641
1821
  timestamp: number;
@@ -1709,7 +1889,7 @@ export declare enum GRID_TYPES {
1709
1889
  */
1710
1890
  export declare interface HistoryContextData {
1711
1891
  history: string[];
1712
- backOrRedirectToRoot: () => void;
1892
+ backOrRedirectToRoot: (delta?: number) => void;
1713
1893
  }
1714
1894
 
1715
1895
  export declare type IncludedItem = {
@@ -1764,17 +1944,6 @@ export declare interface IndexedTvChannel extends IndexedObject {
1764
1944
  organizationPath: string;
1765
1945
  }
1766
1946
 
1767
- /**
1768
- * @public
1769
- */
1770
- export declare interface IndexedUser extends IndexedObject {
1771
- authUserId: string;
1772
- type: string;
1773
- externalUserId?: string;
1774
- email?: string;
1775
- organizationPath?: string;
1776
- }
1777
-
1778
1947
  /**
1779
1948
  * @public
1780
1949
  */
@@ -1884,6 +2053,10 @@ export declare function isChannelSource(source?: CommonSource | null): source is
1884
2053
  */
1885
2054
  export declare const isClassicChannelSource: (source?: CommonSource | null) => source is ChannelSourceInterface;
1886
2055
 
2056
+ export declare interface IsUserAlreadyRegisteredByTenantRequest {
2057
+ email: string;
2058
+ }
2059
+
1887
2060
  /**
1888
2061
  * @public
1889
2062
  */
@@ -1961,6 +2134,12 @@ export declare const languages: LangCode[];
1961
2134
  */
1962
2135
  export declare type LanguageType = `${LangCode}`;
1963
2136
 
2137
+ export declare interface LastMessage {
2138
+ from: string;
2139
+ text: string;
2140
+ createdAt: Date;
2141
+ }
2142
+
1964
2143
  /**
1965
2144
  * @public
1966
2145
  */
@@ -2082,7 +2261,8 @@ export declare enum LoginRedirect {
2082
2261
  PAYMENT = "payment",
2083
2262
  VOUCHER = "voucher",
2084
2263
  VOUCHER_PURCHASE = "voucherPurchase",
2085
- MAGENTA_MOMENTS = "magenta_moments"
2264
+ MAGENTA_MOMENTS = "magenta_moments",
2265
+ REMOTE_CONTROLLER = "remote-controller"
2086
2266
  }
2087
2267
 
2088
2268
  /**
@@ -2092,6 +2272,22 @@ export declare interface MallTvExternals {
2092
2272
  mallTvEntityId: string;
2093
2273
  }
2094
2274
 
2275
+ /**
2276
+ * @public
2277
+ */
2278
+ export declare interface MarkAsReadRequest {
2279
+ conversationId: string;
2280
+ messageId: string;
2281
+ organizationId?: string;
2282
+ }
2283
+
2284
+ /**
2285
+ * @public
2286
+ */
2287
+ export declare interface MarkAsReadResponse {
2288
+ success: boolean;
2289
+ }
2290
+
2095
2291
  /**
2096
2292
  * @public
2097
2293
  */
@@ -2115,11 +2311,53 @@ export declare interface MarkersProps {
2115
2311
  className?: string;
2116
2312
  }
2117
2313
 
2314
+ export declare enum MarkerType {
2315
+ MIDROLL = "midroll",
2316
+ POSTROLL = "postroll",
2317
+ PREROLL = "preroll",
2318
+ NONE = "none"
2319
+ }
2320
+
2118
2321
  declare type Membership = {
2119
2322
  id: string;
2120
2323
  type: string;
2121
2324
  };
2122
2325
 
2326
+ /**
2327
+ * @public
2328
+ */
2329
+ export declare interface Message {
2330
+ id: string;
2331
+ text: string;
2332
+ videoTime: number | null;
2333
+ createdAt: Date;
2334
+ editedAt: Date | null;
2335
+ user: MessageUser | null;
2336
+ reactions: Record<string, number> | null;
2337
+ repliesCount: number | null;
2338
+ isReady: boolean;
2339
+ updateRepliesCount: (increment: boolean) => void;
2340
+ }
2341
+
2342
+ /**
2343
+ * @public
2344
+ */
2345
+ export declare interface MessageParticipant {
2346
+ path: string;
2347
+ name: string;
2348
+ avatarUrl: string;
2349
+ email: string;
2350
+ }
2351
+
2352
+ /**
2353
+ * @public
2354
+ */
2355
+ export declare interface MessageUser {
2356
+ name: string;
2357
+ avatarUrl: string | null;
2358
+ email: string;
2359
+ }
2360
+
2123
2361
  /**
2124
2362
  * External information of video migrated via our Public API.
2125
2363
  * @public
@@ -2154,6 +2392,7 @@ export declare interface Monetization {
2154
2392
  name?: string;
2155
2393
  description?: string;
2156
2394
  organizationId?: string;
2395
+ order?: number;
2157
2396
  }
2158
2397
 
2159
2398
  /**
@@ -2212,6 +2451,10 @@ export declare interface MonetizationsCountsSummaryItem {
2212
2451
  * Count of active purchases for that date
2213
2452
  */
2214
2453
  count: number;
2454
+ /**
2455
+ * Gateway of the purchase
2456
+ */
2457
+ gateway: string;
2215
2458
  }
2216
2459
 
2217
2460
  /**
@@ -2272,6 +2515,18 @@ export declare interface MonetizationSummaryItem {
2272
2515
  * Count of payments cancelled in in the current period
2273
2516
  */
2274
2517
  cancelledPaymentCount: number;
2518
+ /**
2519
+ * Count of payments cancelled in in the current period
2520
+ */
2521
+ cancelledPaymentCount2: number;
2522
+ /**
2523
+ * Count of payments that are cancelling in in the current period
2524
+ */
2525
+ cancellingPaymentCount: number;
2526
+ /**
2527
+ * Count of payments expired in in the current period
2528
+ */
2529
+ expiredPaymentCount: number;
2275
2530
  /**
2276
2531
  * Count of payments made regularly like in the previous period
2277
2532
  */
@@ -2455,10 +2710,80 @@ export declare interface Organization {
2455
2710
  logoLandscape: string | null;
2456
2711
  organizationBanner: string | null;
2457
2712
  profilePhoto: string | null;
2713
+ defaultLanguage?: string;
2458
2714
  }
2459
2715
 
2460
2716
  export declare interface OrganizationInterface {
2461
2717
  allowedSignInProviders: SignInProvider[];
2718
+ isStargaze: boolean;
2719
+ showDurationDaysForOneTimeSubscription: boolean;
2720
+ }
2721
+
2722
+ export declare interface OrganizationResponsiveSetting<T> {
2723
+ desktop: T;
2724
+ mobile?: T;
2725
+ }
2726
+
2727
+ export declare interface OrganizationResponsiveSettings {
2728
+ videoDetail?: VideoDetailResponsiveField;
2729
+ }
2730
+
2731
+ export declare interface OrganizationSettingsField extends OrganizationResponsiveSettings {
2732
+ series?: {
2733
+ redirectEpisodeToPlayer?: boolean;
2734
+ showDateOfPublicationForEpisodes?: boolean;
2735
+ };
2736
+ discord?: {
2737
+ enabled: boolean;
2738
+ };
2739
+ allowedSignInProviders?: SignInProvider[];
2740
+ disableComments?: boolean;
2741
+ /**
2742
+ * Used on CNC webs - When buying a yearly subscription the recalculated monthly price is display below the yearly price
2743
+ */
2744
+ recalculatedMonthlyPrice?: boolean;
2745
+ showDurationDaysForOneTimeSubscription?: boolean;
2746
+ /**
2747
+ * Used in mobile version when displaying screens with rows. If false the rows will be displayed horizontally (the same as desktop version)
2748
+ */
2749
+ displayVerticalRows?: boolean;
2750
+ /**
2751
+ * Used in mobile version when displaying tiles in columns. Count is how many items to show.
2752
+ */
2753
+ tilesCountPerMobileRow?: number;
2754
+ /**
2755
+ * Some organizations might want to hide publication date on videos in search results.
2756
+ */
2757
+ hidePublicationTimeInSearchResults?: boolean;
2758
+ /**
2759
+ * All the configurations that are specific to the background banner
2760
+ */
2761
+ backgroundBanner?: {
2762
+ showDescription?: boolean;
2763
+ showLogo?: boolean;
2764
+ };
2765
+ rss?: {
2766
+ title?: string;
2767
+ };
2768
+ /**
2769
+ * Setting for EPG screen on web
2770
+ */
2771
+ epg?: {
2772
+ useSizesMode?: boolean;
2773
+ segmentHeight?: number;
2774
+ segmentsCount?: number;
2775
+ columnWidth?: number;
2776
+ showDatePicker?: boolean;
2777
+ };
2778
+ seo?: {
2779
+ twitterUsername?: string;
2780
+ gtmConfig?: {
2781
+ id: string;
2782
+ };
2783
+ };
2784
+ cancelledSubscriptionDiscount?: {
2785
+ enabled: boolean;
2786
+ };
2462
2787
  }
2463
2788
 
2464
2789
  /**
@@ -2496,6 +2821,7 @@ export declare type PaginationInterface<Entity> = {
2496
2821
  fetchMore: () => void;
2497
2822
  hasNextPage?: boolean;
2498
2823
  loading?: boolean;
2824
+ initialLoading?: boolean;
2499
2825
  };
2500
2826
 
2501
2827
  /**
@@ -3048,6 +3374,14 @@ export declare enum PlayerWrapperEventType {
3048
3374
  */
3049
3375
  export declare type PlayerWrapperEventTypeType = `${PlayerWrapperEventType}`;
3050
3376
 
3377
+ /**
3378
+ * Values that user entered in survey for given profile.
3379
+ */
3380
+ export declare type ProfileSurvey = {
3381
+ gender?: Translation;
3382
+ age?: AgeRange;
3383
+ };
3384
+
3051
3385
  /**
3052
3386
  * @public
3053
3387
  */
@@ -3104,6 +3438,7 @@ export declare interface PurchasableMonetization extends Monetization {
3104
3438
  price?: string | number;
3105
3439
  promotion: Promotion | null;
3106
3440
  frequency?: MONETIZATION_FREQUENCY;
3441
+ frequencyInfo?: FrequencyInfo;
3107
3442
  durationDays?: number;
3108
3443
  /**
3109
3444
  * Returns TRUE if subscription is purchased (and not expired) by user.
@@ -3134,6 +3469,15 @@ export declare interface PurchasableMonetization extends Monetization {
3134
3469
  * When set to true, subscription is hidden in UI (e.g. in MonetizationSelectOverlay).
3135
3470
  */
3136
3471
  subscriptionIsHidden?: boolean;
3472
+ /**
3473
+ * Price that is used for marketing purposes (strike-through price).
3474
+ */
3475
+ regularPrice?: DetailedPrice;
3476
+ /**
3477
+ * Number of seats left for the subscription.
3478
+ */
3479
+ seatsLeft?: number;
3480
+ maxQuantity?: number;
3137
3481
  }
3138
3482
 
3139
3483
  /**
@@ -3184,7 +3528,8 @@ export declare enum PurchaseDocumentGateway {
3184
3528
  'tivio' = "tivio",
3185
3529
  'patreon' = "patreon",
3186
3530
  'paypal' = "paypal",
3187
- 'unknown' = "unknown"
3531
+ 'unknown' = "unknown",
3532
+ 'stargaze' = "stargaze"
3188
3533
  }
3189
3534
 
3190
3535
  /**
@@ -3397,6 +3742,7 @@ export declare enum PurchaseStatus {
3397
3742
  export declare type PurchaseType = 'transaction' | 'subscription' | 'voucher';
3398
3743
 
3399
3744
  /**
3745
+ * TODO more generic name, since we support stargaze payment gateway as well
3400
3746
  * @public
3401
3747
  */
3402
3748
  export declare interface QerkoCancellationInfo {
@@ -3416,6 +3762,7 @@ export declare interface QerkoData {
3416
3762
  * Otherwise, user is making a purchase for himself.
3417
3763
  */
3418
3764
  voucherPurchase?: boolean;
3765
+ quantity?: number;
3419
3766
  onPurchase?: (paymentInfo: QerkoPaymentInfo | null) => void;
3420
3767
  onClose?: () => void;
3421
3768
  }
@@ -3436,18 +3783,20 @@ export declare interface QerkoOverlayState {
3436
3783
  }
3437
3784
 
3438
3785
  /**
3786
+ * TODO more generic name, since we support stargaze payment gateway as well
3439
3787
  * @public
3440
3788
  */
3441
3789
  export declare interface QerkoPaymentInfo {
3442
- webPaymentGatewayLink: string;
3443
- gatewayUri: string;
3444
- paymentQRCodeUri: string;
3790
+ webPaymentGatewayLink?: string;
3791
+ gatewayUri?: string;
3792
+ paymentQRCodeUri?: string;
3793
+ confirmationPaymentUrl?: string;
3445
3794
  purchaseId: string;
3446
3795
  currency: string;
3447
3796
  amount: number;
3448
- monetizationType: MonetizationType;
3797
+ monetizationType?: MonetizationType;
3449
3798
  recovery?: boolean;
3450
- monetizationFrequency: MONETIZATION_FREQUENCY;
3799
+ monetizationFrequency?: MONETIZATION_FREQUENCY;
3451
3800
  customToken?: string;
3452
3801
  }
3453
3802
 
@@ -3485,6 +3834,11 @@ export declare interface QerkoPaymentWebhookByApiKeyRequest {
3485
3834
  */
3486
3835
  userId: string;
3487
3836
  };
3837
+ items: {
3838
+ name: string;
3839
+ price: string;
3840
+ quantity: string;
3841
+ }[];
3488
3842
  };
3489
3843
  /**
3490
3844
  * Gateway where payment was made.
@@ -3497,6 +3851,7 @@ export declare interface QerkoPaymentWebhookByApiKeyRequest {
3497
3851
  }
3498
3852
 
3499
3853
  /**
3854
+ * TODO more generic name, since we support stargaze payment gateway as well
3500
3855
  * @public
3501
3856
  */
3502
3857
  export declare interface QerkoTransaction {
@@ -3507,6 +3862,27 @@ export declare interface QerkoTransaction {
3507
3862
  voucherId?: string;
3508
3863
  }
3509
3864
 
3865
+ export declare enum QuizGameRole {
3866
+ OBS = "OBS",
3867
+ HOST = "HOST",
3868
+ PLAYER = "PLAYER"
3869
+ }
3870
+
3871
+ export declare enum QuizGameStatus {
3872
+ /**
3873
+ * Waiting to start the quiz / question
3874
+ */
3875
+ WAITING = "WAITING",
3876
+ IN_PROGRESS = "IN_PROGRESS",
3877
+ IN_BETWEEN_QUESTIONS = "IN_BETWEEN_QUESTIONS",
3878
+ DONE = "DONE"
3879
+ }
3880
+
3881
+ export declare enum QuizGameType {
3882
+ POLL = "POLL",
3883
+ QUIZ = "QUIZ"
3884
+ }
3885
+
3510
3886
  /**
3511
3887
  * @public
3512
3888
  */
@@ -3516,6 +3892,9 @@ export declare interface ReactableContent {
3516
3892
  [key in ReactionEnum]?: number;
3517
3893
  } | null;
3518
3894
  updateReactionCount: (reaction: ReactionEnum, newCount: number) => void;
3895
+ isFavorite?: boolean;
3896
+ removeFromFavorites?: () => void;
3897
+ addToFavorites?: () => void;
3519
3898
  }
3520
3899
 
3521
3900
  /**
@@ -3649,6 +4028,7 @@ export declare interface RouterOverrides {
3649
4028
  } | {
3650
4029
  gridType: GRID_TYPES.ROW;
3651
4030
  rowId: string;
4031
+ organizationId?: string;
3652
4032
  } | {
3653
4033
  gridType: GRID_TYPES.VIDEO;
3654
4034
  videoId: string;
@@ -3662,6 +4042,7 @@ export declare interface RouterOverrides {
3662
4042
  email?: string;
3663
4043
  urlHandle?: string;
3664
4044
  replace?: boolean;
4045
+ params?: string;
3665
4046
  }) => void;
3666
4047
  goToRegistrationPage: (options?: {
3667
4048
  origin?: RegistrationRedirect;
@@ -3670,6 +4051,7 @@ export declare interface RouterOverrides {
3670
4051
  goBack: () => void;
3671
4052
  goLivePlayer: (tvChannelId: string) => void;
3672
4053
  goVodPlayer: (videoIdOrUrlName: string) => void;
4054
+ goToConversationPage: (conversationId: string) => void;
3673
4055
  goToHome: (user?: any, activeUserProfileId?: string) => void;
3674
4056
  goToRoute: (route: string) => void;
3675
4057
  goToArticle: (id: string, applicationUrlHandle?: string) => void;
@@ -3678,6 +4060,7 @@ export declare interface RouterOverrides {
3678
4060
  goToMagentaMomentsPage: (voucher?: string) => void;
3679
4061
  goToVoucherRedeemPage: () => void;
3680
4062
  updateParams: (params: URLSearchParams) => void;
4063
+ navigate: (path: string) => void;
3681
4064
  }
3682
4065
 
3683
4066
  /**
@@ -3710,6 +4093,8 @@ export declare interface Row {
3710
4093
  rowComponent: RowComponent.ROW | RowComponent.BANNER;
3711
4094
  itemComponent: RowItemComponent | BannerItemComponent;
3712
4095
  organizationId?: string;
4096
+ bottomComponent?: BottomComponent;
4097
+ showDescriptionAsTitle?: boolean;
3713
4098
  }
3714
4099
 
3715
4100
  /**
@@ -3748,7 +4133,8 @@ export declare enum RowFilterCollection {
3748
4133
  */
3749
4134
  TAGS = "tags",
3750
4135
  TV_CHANNELS = "tvChannels",
3751
- CONTENTS = "contents"
4136
+ CONTENTS = "contents",
4137
+ APPLICATIONS = "applications"
3752
4138
  }
3753
4139
 
3754
4140
  /**
@@ -3816,6 +4202,18 @@ export declare type RowInScreen = {
3816
4202
  * Items to display in the row.
3817
4203
  */
3818
4204
  tiles: GetTilesInRowResponse;
4205
+ /**
4206
+ * Setting for decided what to show bellow the tiles
4207
+ */
4208
+ bottomComponent?: BottomComponent;
4209
+ /**
4210
+ * Setting for decided whether to show description instead of title in the tiles
4211
+ */
4212
+ showDescriptionAsTitle?: boolean;
4213
+ /**
4214
+ * Setting for decided whether to hide title in the tiles/banners
4215
+ */
4216
+ hideTitle?: boolean;
3819
4217
  };
3820
4218
 
3821
4219
  /**
@@ -4002,7 +4400,8 @@ export declare enum ScreenType {
4002
4400
  GRID = "grid",
4003
4401
  EMBED = "embed",
4004
4402
  RECOMMENDATION = "recommendation",
4005
- FEED = "feed"
4403
+ FEED = "feed",
4404
+ EPG = "epg"
4006
4405
  }
4007
4406
 
4008
4407
  /**
@@ -4037,6 +4436,31 @@ export declare interface Section {
4037
4436
  videos: Video[];
4038
4437
  }
4039
4438
 
4439
+ /**
4440
+ * @public
4441
+ */
4442
+ export declare interface SeekingMatrix {
4443
+ url: string;
4444
+ x: number;
4445
+ y: number;
4446
+ width: number;
4447
+ height: number;
4448
+ interval: number;
4449
+ timeMs: number;
4450
+ }
4451
+
4452
+ /**
4453
+ * @public
4454
+ */
4455
+ export declare interface SeekingMatrixTemplate {
4456
+ pattern: string;
4457
+ width: number;
4458
+ height: number;
4459
+ columns: number;
4460
+ rows: number;
4461
+ interval: number;
4462
+ }
4463
+
4040
4464
  export declare enum SemanticDate {
4041
4465
  YESTERDAY = "Yesterday",
4042
4466
  TODAY = "Today",
@@ -4049,6 +4473,24 @@ export declare interface SendFinalizeRegistrationEmailPayload {
4049
4473
  authUserId: string;
4050
4474
  }
4051
4475
 
4476
+ /**
4477
+ * @public
4478
+ */
4479
+ export declare interface SendMessageRequest {
4480
+ text?: string;
4481
+ contentPath?: string;
4482
+ organizationId?: string;
4483
+ participantPaths?: string[];
4484
+ }
4485
+
4486
+ /**
4487
+ * @public
4488
+ */
4489
+ export declare interface SendMessageResponse {
4490
+ conversationId: string;
4491
+ messageId?: string;
4492
+ }
4493
+
4052
4494
  export declare interface SendTivioTemplateEmailRequest {
4053
4495
  notificationId: string;
4054
4496
  organizationId: string;
@@ -4070,6 +4512,12 @@ export declare interface Series extends RowItem, MonetizableItem, ReactableConte
4070
4512
  ref: DocumentReference<any>;
4071
4513
  availableSeasons: AvailableSeason[];
4072
4514
  actors?: DocumentReference<any>[];
4515
+ linkedContent?: {
4516
+ type: ContentType;
4517
+ contentRef: DocumentReference<any>;
4518
+ }[];
4519
+ seriesDetailArticle?: Article;
4520
+ originalTagId?: string;
4073
4521
  }
4074
4522
 
4075
4523
  export declare interface SeriesTileSpecificData {
@@ -4078,6 +4526,10 @@ export declare interface SeriesTileSpecificData {
4078
4526
  availableSeasons: AvailableSeason[];
4079
4527
  }
4080
4528
 
4529
+ export declare interface SetCustomClaimsRequest {
4530
+ organizationId: string;
4531
+ }
4532
+
4081
4533
  /**
4082
4534
  * Used for entities, that can be global (e.g. asset presets, tag types).
4083
4535
  * Non-global is stored under organizations (in sub-collection), and shown for organization's users and super-admin.
@@ -4114,7 +4566,9 @@ export declare enum SocialNetworks {
4114
4566
  TWITTER = 2,
4115
4567
  LINKED_IN = 3,
4116
4568
  EMAIL = 4,
4117
- YOUTUBE = 5
4569
+ YOUTUBE = 5,
4570
+ THREADS = 6,
4571
+ TIKTOK = 7
4118
4572
  }
4119
4573
 
4120
4574
  /**
@@ -4172,6 +4626,16 @@ export declare enum SourceType {
4172
4626
  VOD_EXTERNAL = "vod_external"
4173
4627
  }
4174
4628
 
4629
+ /**
4630
+ * External information of video from SportyTv EPG import
4631
+ * @public
4632
+ */
4633
+ export declare interface SportyExternals {
4634
+ showId?: string;
4635
+ showGroup?: string;
4636
+ showTitle?: string;
4637
+ }
4638
+
4175
4639
  /**
4176
4640
  * @public
4177
4641
  */
@@ -4210,10 +4674,16 @@ export declare interface StoreBadgeConfig {
4210
4674
  appId: string;
4211
4675
  }
4212
4676
 
4677
+ export declare interface SubmitAnswerResponse {
4678
+ id: string;
4679
+ receivedTimestamp: number;
4680
+ leaderboardScore?: number;
4681
+ }
4682
+
4213
4683
  /**
4214
4684
  * @public
4215
4685
  */
4216
- export declare type SubscribeToItemsInRow = (rowId: string, cb: (error: Error | null, data: PaginationInterface<ItemInRow> | null) => void, options?: SubscribeToItemsInRowOptions) => Disposer_2;
4686
+ export declare type SubscribeToItemsInRow = (rowId: string, cb: (error: Error | null, data: PaginationInterface<ItemInRow> | null) => void, options?: SubscribeToItemsInRowOptions, organizationId?: string) => Disposer_2;
4217
4687
 
4218
4688
  /**
4219
4689
  * @public
@@ -4241,10 +4711,12 @@ export declare type SubscribeToSeriesEpisodesOptions = Omit<SubscribeToItemsInRo
4241
4711
  orderBy?: OrderBy<TaggedVideosOrderByField>[];
4242
4712
  };
4243
4713
 
4714
+ export declare type SubscribeToSeriesEpisodesWithArticles = (seriesRef: any, seriesTag: string, organizationPath: string, cb: (error: Error | null, data: PaginationInterface<Video> | null) => void, options?: SubscribeToTaggedVideosOptions) => Disposer_2;
4715
+
4244
4716
  /**
4245
4717
  * @public
4246
4718
  */
4247
- export declare type SubscribeToTaggedVideos = (tagIds: string[], cb: (error: Error | null, data: PaginationInterface<Video> | null) => void, options?: SubscribeToTaggedVideosOptions) => Disposer_2;
4719
+ export declare type SubscribeToTaggedVideos = (tagIds: string[], cb: (error: Error | null, data: PaginationInterface<Video> | null) => void, options?: SubscribeToTaggedVideosOptions, organizationPath?: string) => Disposer_2;
4248
4720
 
4249
4721
  /**
4250
4722
  * @public
@@ -4292,6 +4764,10 @@ export declare interface Tag extends RowItem {
4292
4764
  getSeriesEntity: (path: string) => Promise<Series>;
4293
4765
  ref: DocumentReference<any>;
4294
4766
  seriesEntity: Series | null;
4767
+ tagType: {
4768
+ tagTypeId: string | null;
4769
+ } | null;
4770
+ initSeries: () => Promise<void>;
4295
4771
  }
4296
4772
 
4297
4773
  export declare interface TagAvailableSeasonsFieldType extends TagMetadataFieldDefinition {
@@ -4357,6 +4833,7 @@ export declare interface TagTileSpecificData {
4357
4833
  metadata: TagMetadataField[];
4358
4834
  simplicity: TagSimplicityType;
4359
4835
  tagTypePath?: string;
4836
+ description?: string;
4360
4837
  }
4361
4838
 
4362
4839
  export declare interface TagTranslationFieldType extends TagMetadataFieldDefinition {
@@ -4389,6 +4866,7 @@ export declare interface TileApplicationData {
4389
4866
  organizationId: string;
4390
4867
  type: ApplicationType;
4391
4868
  profilePhoto?: string;
4869
+ isMainApplication?: boolean;
4392
4870
  }
4393
4871
 
4394
4872
  export declare interface TileData<ItemSpecificData = VideoTileSpecificData | TvChannelTileSpecificData | TagTileSpecificData | ArticleTileSpecificData | SeriesTileSpecificData> {
@@ -4422,6 +4900,13 @@ export declare interface TileData<ItemSpecificData = VideoTileSpecificData | TvC
4422
4900
  itemSpecificData: ItemSpecificData;
4423
4901
  }
4424
4902
 
4903
+ declare interface TileMonetizationData {
4904
+ id: string;
4905
+ path: string;
4906
+ placementType: 'channel' | 'tvChannel' | 'condition' | 'video' | 'section' | 'row';
4907
+ type: MonetizationType;
4908
+ }
4909
+
4425
4910
  /**
4426
4911
  * @internal
4427
4912
  */
@@ -4478,8 +4963,12 @@ export declare interface TileProps {
4478
4963
  cover?: string;
4479
4964
  bottomLabel: string;
4480
4965
  bottomLabelAreaHeight: number;
4481
- bottomComponent?: React_2.ReactNode;
4966
+ bottomItem?: React_2.ReactNode;
4482
4967
  innerLabel: string;
4968
+ /**
4969
+ * Override font size of component type specific tile based on viewport width
4970
+ */
4971
+ innerLabelFontSize?: number;
4483
4972
  duration: string;
4484
4973
  price: string | null;
4485
4974
  focused: boolean;
@@ -4506,6 +4995,11 @@ export declare interface TileProps {
4506
4995
  hasBranding?: boolean;
4507
4996
  applicationHandle?: string;
4508
4997
  fullWidth?: boolean;
4998
+ bottomComponent?: BottomComponent;
4999
+ showAlreadyWatchedOverlay?: boolean;
5000
+ itemType?: ROW_ITEM_TYPES;
5001
+ description?: string;
5002
+ showDescriptionAsTitle?: boolean;
4509
5003
  }
4510
5004
 
4511
5005
  /**
@@ -4527,6 +5021,12 @@ export declare interface TileSizes {
4527
5021
  * Now only bottom label supports multiline text.
4528
5022
  */
4529
5023
  labelLinesCount: number;
5024
+ innerLabel?: {
5025
+ /**
5026
+ * Font size in px
5027
+ */
5028
+ fontSize: number;
5029
+ };
4530
5030
  }
4531
5031
 
4532
5032
  /**
@@ -4723,7 +5223,7 @@ export declare type TivioHooks = {
4723
5223
  useAd: () => [(AdExternal | null)];
4724
5224
  useAdSegment: () => AdSegment_2 | null;
4725
5225
  useCancelSubscription: UseCancelSubscription;
4726
- useItemsInRow: (rowId?: string, options?: PaginationOptions) => {
5226
+ useItemsInRow: ({ rowId, organizationId, options }: UseItemsInRow) => {
4727
5227
  pagination: PaginationInterface<ItemInRow> | null;
4728
5228
  error: Error | null;
4729
5229
  };
@@ -5084,6 +5584,15 @@ export declare interface TivioWidgetRef {
5084
5584
  });
5085
5585
  }
5086
5586
 
5587
+ export declare interface TokenInterface {
5588
+ token: string;
5589
+ expirationDate: Date;
5590
+ type: TokenType;
5591
+ active: boolean;
5592
+ }
5593
+
5594
+ export declare type TokenType = 'rss';
5595
+
5087
5596
  export declare interface TopWatchItem {
5088
5597
  videoId: string;
5089
5598
  /**
@@ -5185,6 +5694,7 @@ export declare interface TvChannelTileSpecificData {
5185
5694
  sources: VideoSourceField[];
5186
5695
  organizationId: string;
5187
5696
  assets?: AssetsField<TvChannelAssetValue>;
5697
+ monetizations?: TileMonetizationData[];
5188
5698
  }
5189
5699
 
5190
5700
  export declare enum TvChannelType {
@@ -5213,6 +5723,8 @@ export declare interface TvProgram {
5213
5723
  image: string;
5214
5724
  landscape?: string | null;
5215
5725
  video: Video | null;
5726
+ tvChannelRef?: any;
5727
+ loadVideo?: () => Promise<void>;
5216
5728
  }
5217
5729
 
5218
5730
  /**
@@ -5344,39 +5856,18 @@ export declare const useChannelSource: (tvChannelId: string) => {
5344
5856
 
5345
5857
  /**
5346
5858
  * @public
5859
+ * TODO: refactor, remove hook completely, or keep it, but use Conversation entity
5860
+ * keep in mind need for pagination and replies (reactions) to comments/messages
5861
+ * subscribe to conversation is optional, bc when watching a video, we don't need to subscribe to conversation
5862
+ * but for live video with comments, we want to subscribe to conversation
5347
5863
  */
5348
- export declare type UseComments = (options: UseCommentsOptions) => {
5349
- pagination: PaginationInterface<Comment_2>;
5350
- addComment: (options: AddCommentOptions) => Promise<UseCommentsAddEditCommentResponse>;
5351
- editComment: (options: EditCommentOptions) => Promise<UseCommentsAddEditCommentResponse>;
5352
- deleteComment: (commentId: string) => Promise<UseCommentsDeleteCommentResponse>;
5864
+ export declare type UseComments = (options: UseMessagesOptions) => {
5865
+ pagination: PaginationInterface<Comment>;
5866
+ addComment: (options: AddMessageOptions) => Promise<UseMessagesAddEditMessageResponse>;
5867
+ editComment: (options: EditMessageOptions) => Promise<UseMessagesAddEditMessageResponse>;
5868
+ deleteComment: (commentId: string) => Promise<UseMessagesDeleteMessageResponse>;
5353
5869
  };
5354
5870
 
5355
- /**
5356
- * @public
5357
- */
5358
- export declare interface UseCommentsAddEditCommentResponse {
5359
- id?: string;
5360
- error?: string;
5361
- }
5362
-
5363
- /**
5364
- * @public
5365
- */
5366
- export declare interface UseCommentsDeleteCommentResponse {
5367
- deleted?: boolean;
5368
- error?: string;
5369
- }
5370
-
5371
- /**
5372
- * @public
5373
- */
5374
- export declare interface UseCommentsOptions {
5375
- videoId: string;
5376
- mainParentId?: string;
5377
- autoInit?: boolean;
5378
- }
5379
-
5380
5871
  /**
5381
5872
  * @public
5382
5873
  */
@@ -5432,13 +5923,22 @@ export declare const useIsMonetizationPurchased: () => {
5432
5923
  isOneOfSubscriptionPurchased: (subscriptionIds: string[]) => boolean;
5433
5924
  };
5434
5925
 
5926
+ /**
5927
+ * @public
5928
+ */
5929
+ export declare interface UseItemsInRow {
5930
+ rowId?: string;
5931
+ organizationId?: string;
5932
+ options?: SubscribeToItemsInRowOptions;
5933
+ }
5934
+
5435
5935
  /**
5436
5936
  * Use row items
5437
5937
  * @param rowId - row ID
5438
5938
  * @param options - subscription options
5439
5939
  * @public
5440
5940
  */
5441
- export declare const useItemsInRow: (rowId?: string, options?: SubscribeToItemsInRowOptions) => {
5941
+ export declare const useItemsInRow: ({ rowId, organizationId, options, }: UseItemsInRow) => {
5442
5942
  pagination: PaginationInterface<ItemInRow> | null;
5443
5943
  error: Error | null;
5444
5944
  };
@@ -5448,6 +5948,40 @@ export declare const useItemsInRow: (rowId?: string, options?: SubscribeToItemsI
5448
5948
  */
5449
5949
  export declare const useMarkers: () => Marker[] | null;
5450
5950
 
5951
+ /**
5952
+ * @public
5953
+ */
5954
+ export declare type UseMessages = (options: UseMessagesOptions) => {
5955
+ pagination: PaginationInterface<Message>;
5956
+ addMessage: (options: AddMessageOptions) => Promise<UseMessagesAddEditMessageResponse>;
5957
+ editMessage: (options: EditMessageOptions) => Promise<UseMessagesAddEditMessageResponse>;
5958
+ deleteMessage: (messageId: string) => Promise<UseMessagesDeleteMessageResponse>;
5959
+ };
5960
+
5961
+ /**
5962
+ * @public
5963
+ */
5964
+ export declare interface UseMessagesAddEditMessageResponse {
5965
+ id?: string;
5966
+ error?: string;
5967
+ }
5968
+
5969
+ /**
5970
+ * @public
5971
+ */
5972
+ export declare interface UseMessagesDeleteMessageResponse {
5973
+ deleted?: boolean;
5974
+ error?: string;
5975
+ }
5976
+
5977
+ /**
5978
+ * @public
5979
+ */
5980
+ export declare type UseMessagesOptions = ContentOrConversationId & {
5981
+ mainParentId?: string;
5982
+ autoInit?: boolean;
5983
+ };
5984
+
5451
5985
  /**
5452
5986
  * @public
5453
5987
  *
@@ -5535,12 +6069,19 @@ export declare type User = {
5535
6069
  followedOrganizationIds: string[];
5536
6070
  isAnonymous: boolean;
5537
6071
  isDiscordConnected: boolean;
6072
+ disconnectDiscord: () => Promise<void>;
5538
6073
  createUserProfile: (request: any) => Promise<void>;
5539
6074
  deleteUserProfile: (profileId: string) => Promise<void>;
5540
6075
  setActiveUserProfileId: (id: string) => void;
5541
6076
  getFollowedOrganizations: () => Promise<Array<FollowedOrganizationData | undefined>>;
5542
6077
  sendFinalizeRegistrationEmail: (email: string) => Promise<void>;
5543
- isUserAlreadyRegisteredByTenant: (email: string, tenantId: string) => Promise<boolean>;
6078
+ isUserAlreadyRegisteredByTenant: (email: string) => Promise<boolean>;
6079
+ getAllExtendableSubscriptions: () => Promise<Purchase[]>;
6080
+ getRssValidToken: () => Promise<TokenInterface | undefined>;
6081
+ getRssUrl: () => Promise<GetUserRssUrlResponse>;
6082
+ invalidateAllTokens: (type: TokenType) => Promise<void>;
6083
+ isPartiallyRegistered: boolean;
6084
+ conversationStore: ConversationStore;
5544
6085
  };
5545
6086
 
5546
6087
  /**
@@ -5571,7 +6112,7 @@ export declare enum UserGroup {
5571
6112
  /**
5572
6113
  * @public
5573
6114
  */
5574
- export declare type UseRow = (rowId: string | null) => {
6115
+ export declare type UseRow = (rowId: string | null, organizationId?: string) => {
5575
6116
  row: Row | null;
5576
6117
  error: Error | null;
5577
6118
  };
@@ -5589,6 +6130,24 @@ export declare const useRowsInScreen: (screenId: string, options?: PaginationOpt
5589
6130
  */
5590
6131
  export declare type UserPayload = Record<string, any>;
5591
6132
 
6133
+ /**
6134
+ * User profile field.
6135
+ */
6136
+ export declare type UserProfile = {
6137
+ /**
6138
+ * Profile id - randomly generated uuid (because we don't have separate firebase documents for users).
6139
+ */
6140
+ id: string;
6141
+ /**
6142
+ * Profile name - typically first name and last name, but users can fill in whatever they want.
6143
+ */
6144
+ name: string;
6145
+ /**
6146
+ * Filled in values for user profile survey. See {@link OrganizationDocument} its configuration.
6147
+ */
6148
+ survey?: ProfileSurvey;
6149
+ };
6150
+
5592
6151
  /**
5593
6152
  * @public
5594
6153
  */
@@ -5597,6 +6156,34 @@ export declare enum UserType {
5597
6156
  TIVIO_USER = "TIVIO_USER"
5598
6157
  }
5599
6158
 
6159
+ export declare interface UserWatchPositionField {
6160
+ /**
6161
+ * Watch position in milliseconds, e.g. 90000 (90 seconds from the start of the video).
6162
+ */
6163
+ position: number;
6164
+ /**
6165
+ * Video that given watch position is related to.
6166
+ */
6167
+ videoRef: any;
6168
+ /**
6169
+ * If user watches episode of series, we have to save series ref as well.
6170
+ * Same for {@link episodeNumber} and {@link seasonNumber}.
6171
+ */
6172
+ tagRef?: any;
6173
+ episodeNumber?: number;
6174
+ seasonNumber?: number;
6175
+ /**
6176
+ * Full duration of the video in milliseconds.
6177
+ */
6178
+ videoDuration?: number;
6179
+ /**
6180
+ * Id of user profile that this watch position record belongs to.
6181
+ *
6182
+ * If undefined, user does not use profiles / not migrated to profiles yet.
6183
+ */
6184
+ profileId?: string;
6185
+ }
6186
+
5600
6187
  /**
5601
6188
  * @public
5602
6189
  */
@@ -5805,15 +6392,7 @@ export declare interface Video extends RowItem, MonetizableItem, ReactableConten
5805
6392
  }): Promise<GetSourceUrlResponse & {
5806
6393
  language?: LangCode;
5807
6394
  }>;
5808
- getSeekingMatrixPreviewByTime(timeMs: number, offsetIndex?: number): {
5809
- url: string;
5810
- x: number;
5811
- y: number;
5812
- width: number;
5813
- height: number;
5814
- interval: number;
5815
- timeMs: number;
5816
- } | null;
6395
+ getSeekingMatrixPreviewByTime(timeMs: number, offsetIndex?: number): SeekingMatrix | null;
5817
6396
  purchasableMonetization: any | null;
5818
6397
  transaction: PurchasableMonetization | undefined;
5819
6398
  subscriptions: PurchasableMonetization[];
@@ -5862,6 +6441,11 @@ export declare interface Video extends RowItem, MonetizableItem, ReactableConten
5862
6441
  initApplication: () => Promise<void>;
5863
6442
  init: () => Promise<void>;
5864
6443
  progress?: number;
6444
+ backgroundBlurBannerMobile?: string | null;
6445
+ isWatched?: boolean;
6446
+ pgRating?: string;
6447
+ contentDescriptors?: string[];
6448
+ publishedStatus?: PublishedStatus;
5865
6449
  }
5866
6450
 
5867
6451
  /**
@@ -5876,18 +6460,45 @@ export declare enum VideoContentType {
5876
6460
  SERIES = "SERIES"
5877
6461
  }
5878
6462
 
6463
+ declare type VideoDetailResponsiveField = OrganizationResponsiveSetting<{
6464
+ modalView?: boolean;
6465
+ showDateOfPublicationForRelatedVideos?: boolean;
6466
+ /**
6467
+ * If true, the full description will be shown instead of Show more button
6468
+ * @default false
6469
+ */
6470
+ showFullDescription?: boolean;
6471
+ /**
6472
+ * Number of videos to show in the right side of the video detail
6473
+ * @default 12
6474
+ */
6475
+ relatedVideosLimit?: number;
6476
+ }>;
6477
+
5879
6478
  /**
5880
6479
  * @public
5881
6480
  */
5882
- export declare type VideoExternals = (JojExternals | MallTvExternals | OktagonExternals | MigratedVideoExternals) & {
6481
+ export declare type VideoExternals = (JojExternals | MallTvExternals | OktagonExternals | MigratedVideoExternals | SportyExternals) & {
5883
6482
  channelKey?: string;
5884
6483
  };
5885
6484
 
6485
+ export declare interface VideoHighlight {
6486
+ id: string;
6487
+ title: string;
6488
+ description?: string;
6489
+ fromTimestamp?: number;
6490
+ toTimestamp?: number;
6491
+ imageUrl?: string;
6492
+ videoTime?: string;
6493
+ videoId?: string;
6494
+ }
6495
+
5886
6496
  declare type VideoPath = string;
5887
6497
 
5888
6498
  export declare enum VideoSourceCodec {
5889
6499
  H264 = "h264",
5890
- H265 = "h265"
6500
+ H265 = "h265",
6501
+ MPEG_2 = "MPEG-2"
5891
6502
  }
5892
6503
 
5893
6504
  export declare enum VideoSourceEncryption {
@@ -5912,8 +6523,24 @@ export declare interface VideoSourceField {
5912
6523
  */
5913
6524
  priority: VideoSourcePriority;
5914
6525
  protocol: VideoSourceProtocol;
6526
+ provider?: VideoSourceProvider;
5915
6527
  url: string;
5916
6528
  languages?: LangCode[];
6529
+ /**
6530
+ * URL for source modification for user (e.g. add PIP window to livestream).
6531
+ */
6532
+ managementUrl?: string;
6533
+ /**
6534
+ * Seeking matrix override for given source.
6535
+ */
6536
+ seekingMatrix?: Partial<SeekingMatrixTemplate>;
6537
+ /**
6538
+ * Content id override to include generated jwt token.
6539
+ * Used when you have several sources from different contents (videos).
6540
+ * Without it {@link getSourceUrl} will use document's id, and jwt token validation might fail
6541
+ * because content id in source url and in token will not match.
6542
+ */
6543
+ contentId?: string;
5917
6544
  }
5918
6545
 
5919
6546
  /**
@@ -5924,15 +6551,28 @@ export declare type VideoSourcePriority = 1 | 2 | 3 | 4 | 5;
5924
6551
  export declare enum VideoSourceProtocol {
5925
6552
  HLS = "hls",
5926
6553
  DASH = "dash",
5927
- MP4 = "mp4"
6554
+ MP4 = "mp4",
6555
+ MP3 = "mp3"
5928
6556
  }
5929
6557
 
6558
+ export declare enum VideoSourceProvider {
6559
+ AWS = "aws",
6560
+ CLOUDFLARE = "cloudflare",
6561
+ NANGU = "nangu"
6562
+ }
6563
+
6564
+ declare type VideoTileMonetizationData = TileMonetizationData & {
6565
+ expirationDaysSincePublished?: number;
6566
+ };
6567
+
5930
6568
  export declare interface VideoTileSpecificData {
5931
6569
  cover?: string;
5932
6570
  assets?: AssetsField;
5933
6571
  episodeNumber?: number;
5934
6572
  seasonNumber?: number;
5935
6573
  urlName?: VideoUrlNames;
6574
+ monetizations?: VideoTileMonetizationData[];
6575
+ description?: Translation;
5936
6576
  }
5937
6577
 
5938
6578
  /**
@@ -5992,7 +6632,11 @@ export declare enum VideoType {
5992
6632
  /**
5993
6633
  * Video that is in locked state and is used in virtual channel EPG.
5994
6634
  */
5995
- VIRTUAL_PROGRAM = "VIRTUAL_PROGRAM"
6635
+ VIRTUAL_PROGRAM = "VIRTUAL_PROGRAM",
6636
+ /**
6637
+ * Video that has a parent video, usually cut from it's parent
6638
+ */
6639
+ CHILD = "CHILD"
5996
6640
  }
5997
6641
 
5998
6642
  /**
@@ -6195,6 +6839,11 @@ export declare interface WebConfig {
6195
6839
  email?: string;
6196
6840
  };
6197
6841
  cookieSettingsLabel?: string;
6842
+ partners?: {
6843
+ name: string;
6844
+ logo: string;
6845
+ url?: string;
6846
+ }[];
6198
6847
  };
6199
6848
  theme?: {
6200
6849
  headerType?: PaletteType;
@@ -6272,6 +6921,7 @@ export declare interface WebConfig {
6272
6921
  };
6273
6922
  payment?: {
6274
6923
  paymentConsent?: string;
6924
+ paymentRenewalConsent?: boolean;
6275
6925
  };
6276
6926
  /**
6277
6927
  * If web supports entering vouchers
@@ -6324,6 +6974,11 @@ export declare interface WebConfig {
6324
6974
  * If true, robots.txt will prevent crawling of the website.
6325
6975
  */
6326
6976
  norobots?: boolean;
6977
+ customTranslations?: {
6978
+ [key: string]: {
6979
+ [key: string]: string;
6980
+ };
6981
+ };
6327
6982
  }
6328
6983
 
6329
6984
  /**
@@ -6429,6 +7084,7 @@ export declare interface WebPlayerProps {
6429
7084
  */
6430
7085
  disablePlayNext?: boolean;
6431
7086
  setPaymentOverlayVisible?: React_2.Dispatch<React_2.SetStateAction<boolean>>;
7087
+ hideOverlay?: boolean;
6432
7088
  }
6433
7089
 
6434
7090
  /**