@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.
package/dist/index.d.ts CHANGED
@@ -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
  */
@@ -553,6 +602,12 @@ export declare const bundlePromise: Promise<RemoteBundleState>;
553
602
  */
554
603
  export declare type Callback<T = any> = (arg?: T) => void;
555
604
 
605
+ export declare interface CancellingMonetizationsSummaryItem {
606
+ date: number;
607
+ monetizationId: string;
608
+ cancellingUsers: number;
609
+ }
610
+
556
611
  /**
557
612
  * @public
558
613
  * @deprecated this channel structure is not used anymore (don't confuse with tv channels, which are used).
@@ -599,35 +654,17 @@ export declare interface ChannelSourceParams extends PlayerSourceParams<SourceTy
599
654
  */
600
655
  export declare type Chapter = any;
601
656
 
602
- /**
603
- * @public
604
- */
605
- export declare type CmpConfig = 'default' | 'debug' | 'none';
606
-
607
- /**
608
- * @public
609
- */
610
- declare interface Comment_2 {
611
- id: string;
612
- text: string;
613
- videoTime: number | null;
614
- createdAt: Date;
615
- editedAt: Date | null;
616
- user: CommentUser | null;
617
- reactions: Record<string, number> | null;
618
- repliesCount: number | null;
619
- isReady: boolean;
620
- updateRepliesCount: (increment: boolean) => void;
657
+ export declare interface ChurnedMonetizationsSummaryItem {
658
+ date: number;
659
+ monetizationId: string;
660
+ canceledUsers: number;
661
+ expiredUsers: number;
621
662
  }
622
- export { Comment_2 as Comment }
623
663
 
624
664
  /**
625
665
  * @public
626
666
  */
627
- export declare interface CommentUser {
628
- name: string;
629
- avatarUrl: string | null;
630
- }
667
+ export declare type CmpConfig = 'default' | 'debug' | 'none';
631
668
 
632
669
  /**
633
670
  * TODO same name as core-js entity, not convenient
@@ -730,6 +767,16 @@ export declare interface ContentAvailability {
730
767
  manual: boolean;
731
768
  }
732
769
 
770
+ /**
771
+ * @public
772
+ */
773
+ export declare type ContentOrConversationId = {
774
+ contentId: string;
775
+ contentType?: 'video' | 'article';
776
+ } | {
777
+ conversationId: string;
778
+ };
779
+
733
780
  /**
734
781
  * @public
735
782
  */
@@ -751,11 +798,76 @@ export declare interface ContentSortPickerProps {
751
798
  onChange: (value: ContentSortEnum) => void;
752
799
  }
753
800
 
801
+ export declare type ContentType = 'ARTICLE' | 'VIDEO' | 'SERIES' | 'EPISODE';
802
+
754
803
  /**
755
804
  * @public
756
805
  */
757
806
  export declare type ContinuePosition = number | null | Promise<number | null>;
758
807
 
808
+ /**
809
+ * @public
810
+ */
811
+ export declare interface Conversation {
812
+ id: string;
813
+ createdAt: Date | null;
814
+ updatedAt: Date | null;
815
+ createdBy: MessageParticipant | null;
816
+ isSending: boolean;
817
+ lastMessage: ConversationMessage | null;
818
+ lastSeen: {
819
+ [key: string]: ConversationLastSeen | undefined;
820
+ };
821
+ participants: MessageParticipant[];
822
+ title: string;
823
+ messages: ConversationMessage[];
824
+ notSeenCount: number;
825
+ isLoading: boolean;
826
+ subscribeToMessages(): void;
827
+ sendMessage(text: string): Promise<SendMessageResponse>;
828
+ markAsRead(messageId: string): Promise<void>;
829
+ destroy(): void;
830
+ }
831
+
832
+ /**
833
+ * @public
834
+ */
835
+ export declare interface ConversationLastSeen {
836
+ message: Message;
837
+ date?: Date;
838
+ }
839
+
840
+ /**
841
+ * @public
842
+ */
843
+ export declare interface ConversationMessage {
844
+ id: string;
845
+ participant: MessageParticipant;
846
+ text: string;
847
+ createdAt: Date;
848
+ editedAt: Date | null;
849
+ }
850
+
851
+ /**
852
+ * @public
853
+ */
854
+ export declare interface ConversationStore {
855
+ conversations: Map<string, Conversation>;
856
+ isLoading: boolean;
857
+ setParticipantPath(participantPath: string | null): void;
858
+ setConversations(callback: (conversations: Conversation[]) => Conversation[]): void;
859
+ subscribeConversations(participantPath: string): Promise<void>;
860
+ createConversation(participantPaths: string[]): Promise<{
861
+ id: string;
862
+ } | undefined>;
863
+ clearConversations(): void;
864
+ getConversationById(id: string): Conversation | undefined;
865
+ readonly allConversations: Conversation[];
866
+ readonly notSeenCount: number;
867
+ setDisposer(key: 'conversations', disposer: Disposer_2): void;
868
+ unsubscribeConversations(): void;
869
+ }
870
+
759
871
  /**
760
872
  * Entity aggregate conversion statistics per day
761
873
  * TODO in future change structure, new used like array item
@@ -903,6 +1015,7 @@ export declare enum CustomerId {
903
1015
  CNC = "CNC",
904
1016
  DVTV = "DVTV",
905
1017
  DVTV_DEV = "DVTV_DEV",
1018
+ DVTV_SK = "DVTV_SK",
906
1019
  GARAZ = "GARAZ",
907
1020
  GRAPE = "GRAPE",
908
1021
  HODINA_DEJEPICHU = "HODINA_DEJEPICHU",
@@ -929,7 +1042,27 @@ export declare enum CustomerId {
929
1042
  LIGA_NARUBY = "LIGA_NARUBY",
930
1043
  VIC_NEZ_SI_MYSLITE = "VIC_NEZ_SI_MYSLITE",
931
1044
  ZIMAK = "ZIMAK",
932
- TYDENIK_HOROSKOPU = "TYDENIK_HOROSKOPU"
1045
+ TYDENIK_HOROSKOPU = "TYDENIK_HOROSKOPU",
1046
+ THE_MAG = "THE_MAG",
1047
+ FNO = "FNO",
1048
+ HARTMANNRICO = "HARTMANNRICO",
1049
+ DRASLOVKA = "DRASLOVKA",
1050
+ CSOB = "CSOB",
1051
+ MAGNA = "MAGNA",
1052
+ REPORTERKY = "REPORTERKY",
1053
+ TV_LUX = "TV_LUX",
1054
+ KVIFF = "KVIFF",
1055
+ KVIFF_WEB = "KVIFF_WEB",
1056
+ SPORTY_TV = "SPORTY_TV",
1057
+ PALATINUM = "PALATINUM",
1058
+ MIRA_BOSAK = "MIRA_BOSAK",
1059
+ KOVACIC_360 = "KOVACIC_360",
1060
+ SIFRA_TV = "SIFRA_TV",
1061
+ BLESK = "BLESK",
1062
+ NERUDA_TV = "NERUDA_TV",
1063
+ DAVID_FRANK_TV = "DAVID_FRANK_TV",
1064
+ LEPSI_UZ_TO_NEBUDE = "LEPSI_UZ_TO_NEBUDE",
1065
+ BEAT_SEXISM = "BEAT_SEXISM"
933
1066
  }
934
1067
 
935
1068
  export declare interface CustomScript {
@@ -1030,14 +1163,6 @@ export declare interface DividerProps {
1030
1163
  horizontalSpacing?: number;
1031
1164
  }
1032
1165
 
1033
- /**
1034
- * @public
1035
- */
1036
- export declare type DocumentOptions = Partial<{
1037
- lazyLoading: boolean;
1038
- subscribeOnChanges: boolean;
1039
- }>;
1040
-
1041
1166
  export declare interface Drm {
1042
1167
  encryption: VideoSourceEncryption;
1043
1168
  /**
@@ -1057,12 +1182,6 @@ export declare interface Drm {
1057
1182
  }
1058
1183
 
1059
1184
  export declare enum DrmProvider {
1060
- /**
1061
- * Original oktagon stream provider.
1062
- *
1063
- * https://streamonline.pl
1064
- */
1065
- STREAMONLINE = "streamonline",
1066
1185
  /**
1067
1186
  * New stream provider for tivio. Also known as insys video technologies.
1068
1187
  *
@@ -1070,7 +1189,13 @@ export declare enum DrmProvider {
1070
1189
  * https://www.drm.cloud
1071
1190
  * https://videokit.cloud
1072
1191
  */
1073
- INSYS = "insys"
1192
+ INSYS = "insys",
1193
+ /**
1194
+ * Original oktagon stream provider.
1195
+ *
1196
+ * https://streamonline.pl
1197
+ */
1198
+ STREAMONLINE = "streamonline"
1074
1199
  }
1075
1200
 
1076
1201
  /**
@@ -1102,8 +1227,8 @@ export declare interface DurationWithUnit {
1102
1227
  /**
1103
1228
  * @public
1104
1229
  */
1105
- export declare interface EditCommentOptions extends Omit<AddCommentOptions, 'parentCommentId'> {
1106
- commentId: string;
1230
+ export declare interface EditMessageOptions extends Omit<AddMessageOptions, 'parentMessageId'> {
1231
+ messageId: string;
1107
1232
  text: string;
1108
1233
  videoTime?: number;
1109
1234
  }
@@ -1280,6 +1405,15 @@ export declare enum ForbiddenReason {
1280
1405
  GEO_BLOCKING = "GEO_BLOCKING"
1281
1406
  }
1282
1407
 
1408
+ /**
1409
+ * @public
1410
+ */
1411
+ export declare type FrequencyInfo = {
1412
+ title: Translation;
1413
+ unit: string;
1414
+ value: number;
1415
+ };
1416
+
1283
1417
  /**
1284
1418
  * On call error interface for front-end.
1285
1419
  * Do not use it / throw it from @tivio/api.
@@ -1407,6 +1541,10 @@ export declare interface GetSourceUrlRequest {
1407
1541
  * Returns url to manifest with audio only chunks.
1408
1542
  */
1409
1543
  audioOnly?: boolean;
1544
+ /**
1545
+ * Start time in ms, for live streams. Will return manifest with desired start.
1546
+ */
1547
+ startTimeMs?: number;
1410
1548
  }
1411
1549
 
1412
1550
  export declare interface GetSourceUrlResponse {
@@ -1430,10 +1568,28 @@ export declare interface GetSourceUrlResponse {
1430
1568
  * Returns url to manifest with audio only chunks.
1431
1569
  */
1432
1570
  audioOnly?: boolean;
1571
+ /**
1572
+ * URL for source modification for user (e.g. add PIP window to livestream).
1573
+ */
1574
+ managementUrl?: string;
1575
+ /**
1576
+ * Template for generating image previews for user scrubbing in player.
1577
+ */
1578
+ seekingMatrix?: SeekingMatrixTemplate;
1433
1579
  }
1434
1580
 
1435
1581
  export declare type GetTilesInRowResponse<U extends NextPageParamType = NextPageParamType> = PaginatedResponse<TileData, U>;
1436
1582
 
1583
+ export declare interface GetUserRssUrlRequest {
1584
+ organizationId: string;
1585
+ }
1586
+
1587
+ export declare interface GetUserRssUrlResponse {
1588
+ rssUrl: string;
1589
+ createdAt?: number;
1590
+ expiresAt?: number;
1591
+ }
1592
+
1437
1593
  export declare interface GetVideoAnalyticsErrorItem {
1438
1594
  count: number;
1439
1595
  timestamp: number;
@@ -1507,7 +1663,7 @@ export declare enum GRID_TYPES {
1507
1663
  */
1508
1664
  export declare interface HistoryContextData {
1509
1665
  history: string[];
1510
- backOrRedirectToRoot: () => void;
1666
+ backOrRedirectToRoot: (delta?: number) => void;
1511
1667
  }
1512
1668
 
1513
1669
  export declare type IncludedItem = {
@@ -1562,17 +1718,6 @@ export declare interface IndexedTvChannel extends IndexedObject {
1562
1718
  organizationPath: string;
1563
1719
  }
1564
1720
 
1565
- /**
1566
- * @public
1567
- */
1568
- export declare interface IndexedUser extends IndexedObject {
1569
- authUserId: string;
1570
- type: string;
1571
- externalUserId?: string;
1572
- email?: string;
1573
- organizationPath?: string;
1574
- }
1575
-
1576
1721
  /**
1577
1722
  * @public
1578
1723
  */
@@ -1673,6 +1818,10 @@ export declare function isChannelSource(source?: CommonSource | null): source is
1673
1818
  */
1674
1819
  export declare const isClassicChannelSource: (source?: CommonSource | null) => source is ChannelSourceInterface;
1675
1820
 
1821
+ export declare interface IsUserAlreadyRegisteredByTenantRequest {
1822
+ email: string;
1823
+ }
1824
+
1676
1825
  /**
1677
1826
  * @public
1678
1827
  */
@@ -1750,6 +1899,12 @@ export declare const languages: LangCode[];
1750
1899
  */
1751
1900
  export declare type LanguageType = `${LangCode}`;
1752
1901
 
1902
+ export declare interface LastMessage {
1903
+ from: string;
1904
+ text: string;
1905
+ createdAt: Date;
1906
+ }
1907
+
1753
1908
  /**
1754
1909
  * @public
1755
1910
  */
@@ -1871,7 +2026,8 @@ export declare enum LoginRedirect {
1871
2026
  PAYMENT = "payment",
1872
2027
  VOUCHER = "voucher",
1873
2028
  VOUCHER_PURCHASE = "voucherPurchase",
1874
- MAGENTA_MOMENTS = "magenta_moments"
2029
+ MAGENTA_MOMENTS = "magenta_moments",
2030
+ REMOTE_CONTROLLER = "remote-controller"
1875
2031
  }
1876
2032
 
1877
2033
  /**
@@ -1881,6 +2037,22 @@ export declare interface MallTvExternals {
1881
2037
  mallTvEntityId: string;
1882
2038
  }
1883
2039
 
2040
+ /**
2041
+ * @public
2042
+ */
2043
+ export declare interface MarkAsReadRequest {
2044
+ conversationId: string;
2045
+ messageId: string;
2046
+ organizationId?: string;
2047
+ }
2048
+
2049
+ /**
2050
+ * @public
2051
+ */
2052
+ export declare interface MarkAsReadResponse {
2053
+ success: boolean;
2054
+ }
2055
+
1884
2056
  /**
1885
2057
  * @public
1886
2058
  */
@@ -1904,11 +2076,53 @@ export declare interface MarkersProps {
1904
2076
  className?: string;
1905
2077
  }
1906
2078
 
2079
+ export declare enum MarkerType {
2080
+ MIDROLL = "midroll",
2081
+ POSTROLL = "postroll",
2082
+ PREROLL = "preroll",
2083
+ NONE = "none"
2084
+ }
2085
+
1907
2086
  declare type Membership = {
1908
2087
  id: string;
1909
2088
  type: string;
1910
2089
  };
1911
2090
 
2091
+ /**
2092
+ * @public
2093
+ */
2094
+ export declare interface Message {
2095
+ id: string;
2096
+ text: string;
2097
+ videoTime: number | null;
2098
+ createdAt: Date;
2099
+ editedAt: Date | null;
2100
+ user: MessageUser | null;
2101
+ reactions: Record<string, number> | null;
2102
+ repliesCount: number | null;
2103
+ isReady: boolean;
2104
+ updateRepliesCount: (increment: boolean) => void;
2105
+ }
2106
+
2107
+ /**
2108
+ * @public
2109
+ */
2110
+ export declare interface MessageParticipant {
2111
+ path: string;
2112
+ name: string;
2113
+ avatarUrl: string;
2114
+ email: string;
2115
+ }
2116
+
2117
+ /**
2118
+ * @public
2119
+ */
2120
+ export declare interface MessageUser {
2121
+ name: string;
2122
+ avatarUrl: string | null;
2123
+ email: string;
2124
+ }
2125
+
1912
2126
  /**
1913
2127
  * External information of video migrated via our Public API.
1914
2128
  * @public
@@ -1943,6 +2157,7 @@ export declare interface Monetization {
1943
2157
  name?: string;
1944
2158
  description?: string;
1945
2159
  organizationId?: string;
2160
+ order?: number;
1946
2161
  }
1947
2162
 
1948
2163
  /**
@@ -2001,6 +2216,10 @@ export declare interface MonetizationsCountsSummaryItem {
2001
2216
  * Count of active purchases for that date
2002
2217
  */
2003
2218
  count: number;
2219
+ /**
2220
+ * Gateway of the purchase
2221
+ */
2222
+ gateway: string;
2004
2223
  }
2005
2224
 
2006
2225
  /**
@@ -2061,6 +2280,18 @@ export declare interface MonetizationSummaryItem {
2061
2280
  * Count of payments cancelled in in the current period
2062
2281
  */
2063
2282
  cancelledPaymentCount: number;
2283
+ /**
2284
+ * Count of payments cancelled in in the current period
2285
+ */
2286
+ cancelledPaymentCount2: number;
2287
+ /**
2288
+ * Count of payments that are cancelling in in the current period
2289
+ */
2290
+ cancellingPaymentCount: number;
2291
+ /**
2292
+ * Count of payments expired in in the current period
2293
+ */
2294
+ expiredPaymentCount: number;
2064
2295
  /**
2065
2296
  * Count of payments made regularly like in the previous period
2066
2297
  */
@@ -2234,10 +2465,80 @@ export declare interface Organization {
2234
2465
  logoLandscape: string | null;
2235
2466
  organizationBanner: string | null;
2236
2467
  profilePhoto: string | null;
2468
+ defaultLanguage?: string;
2237
2469
  }
2238
2470
 
2239
2471
  export declare interface OrganizationInterface {
2240
2472
  allowedSignInProviders: SignInProvider[];
2473
+ isStargaze: boolean;
2474
+ showDurationDaysForOneTimeSubscription: boolean;
2475
+ }
2476
+
2477
+ export declare interface OrganizationResponsiveSetting<T> {
2478
+ desktop: T;
2479
+ mobile?: T;
2480
+ }
2481
+
2482
+ export declare interface OrganizationResponsiveSettings {
2483
+ videoDetail?: VideoDetailResponsiveField;
2484
+ }
2485
+
2486
+ export declare interface OrganizationSettingsField extends OrganizationResponsiveSettings {
2487
+ series?: {
2488
+ redirectEpisodeToPlayer?: boolean;
2489
+ showDateOfPublicationForEpisodes?: boolean;
2490
+ };
2491
+ discord?: {
2492
+ enabled: boolean;
2493
+ };
2494
+ allowedSignInProviders?: SignInProvider[];
2495
+ disableComments?: boolean;
2496
+ /**
2497
+ * Used on CNC webs - When buying a yearly subscription the recalculated monthly price is display below the yearly price
2498
+ */
2499
+ recalculatedMonthlyPrice?: boolean;
2500
+ showDurationDaysForOneTimeSubscription?: boolean;
2501
+ /**
2502
+ * Used in mobile version when displaying screens with rows. If false the rows will be displayed horizontally (the same as desktop version)
2503
+ */
2504
+ displayVerticalRows?: boolean;
2505
+ /**
2506
+ * Used in mobile version when displaying tiles in columns. Count is how many items to show.
2507
+ */
2508
+ tilesCountPerMobileRow?: number;
2509
+ /**
2510
+ * Some organizations might want to hide publication date on videos in search results.
2511
+ */
2512
+ hidePublicationTimeInSearchResults?: boolean;
2513
+ /**
2514
+ * All the configurations that are specific to the background banner
2515
+ */
2516
+ backgroundBanner?: {
2517
+ showDescription?: boolean;
2518
+ showLogo?: boolean;
2519
+ };
2520
+ rss?: {
2521
+ title?: string;
2522
+ };
2523
+ /**
2524
+ * Setting for EPG screen on web
2525
+ */
2526
+ epg?: {
2527
+ useSizesMode?: boolean;
2528
+ segmentHeight?: number;
2529
+ segmentsCount?: number;
2530
+ columnWidth?: number;
2531
+ showDatePicker?: boolean;
2532
+ };
2533
+ seo?: {
2534
+ twitterUsername?: string;
2535
+ gtmConfig?: {
2536
+ id: string;
2537
+ };
2538
+ };
2539
+ cancelledSubscriptionDiscount?: {
2540
+ enabled: boolean;
2541
+ };
2241
2542
  }
2242
2543
 
2243
2544
  /**
@@ -2275,6 +2576,7 @@ export declare type PaginationInterface<Entity> = {
2275
2576
  fetchMore: () => void;
2276
2577
  hasNextPage?: boolean;
2277
2578
  loading?: boolean;
2579
+ initialLoading?: boolean;
2278
2580
  };
2279
2581
 
2280
2582
  /**
@@ -2827,6 +3129,14 @@ export declare enum PlayerWrapperEventType {
2827
3129
  */
2828
3130
  export declare type PlayerWrapperEventTypeType = `${PlayerWrapperEventType}`;
2829
3131
 
3132
+ /**
3133
+ * Values that user entered in survey for given profile.
3134
+ */
3135
+ export declare type ProfileSurvey = {
3136
+ gender?: Translation;
3137
+ age?: AgeRange;
3138
+ };
3139
+
2830
3140
  /**
2831
3141
  * @public
2832
3142
  */
@@ -2883,6 +3193,7 @@ export declare interface PurchasableMonetization extends Monetization {
2883
3193
  price?: string | number;
2884
3194
  promotion: Promotion | null;
2885
3195
  frequency?: MONETIZATION_FREQUENCY;
3196
+ frequencyInfo?: FrequencyInfo;
2886
3197
  durationDays?: number;
2887
3198
  /**
2888
3199
  * Returns TRUE if subscription is purchased (and not expired) by user.
@@ -2913,6 +3224,15 @@ export declare interface PurchasableMonetization extends Monetization {
2913
3224
  * When set to true, subscription is hidden in UI (e.g. in MonetizationSelectOverlay).
2914
3225
  */
2915
3226
  subscriptionIsHidden?: boolean;
3227
+ /**
3228
+ * Price that is used for marketing purposes (strike-through price).
3229
+ */
3230
+ regularPrice?: DetailedPrice;
3231
+ /**
3232
+ * Number of seats left for the subscription.
3233
+ */
3234
+ seatsLeft?: number;
3235
+ maxQuantity?: number;
2916
3236
  }
2917
3237
 
2918
3238
  /**
@@ -2963,7 +3283,8 @@ export declare enum PurchaseDocumentGateway {
2963
3283
  'tivio' = "tivio",
2964
3284
  'patreon' = "patreon",
2965
3285
  'paypal' = "paypal",
2966
- 'unknown' = "unknown"
3286
+ 'unknown' = "unknown",
3287
+ 'stargaze' = "stargaze"
2967
3288
  }
2968
3289
 
2969
3290
  /**
@@ -3176,6 +3497,7 @@ export declare enum PurchaseStatus {
3176
3497
  export declare type PurchaseType = 'transaction' | 'subscription' | 'voucher';
3177
3498
 
3178
3499
  /**
3500
+ * TODO more generic name, since we support stargaze payment gateway as well
3179
3501
  * @public
3180
3502
  */
3181
3503
  export declare interface QerkoCancellationInfo {
@@ -3195,6 +3517,7 @@ export declare interface QerkoData {
3195
3517
  * Otherwise, user is making a purchase for himself.
3196
3518
  */
3197
3519
  voucherPurchase?: boolean;
3520
+ quantity?: number;
3198
3521
  onPurchase?: (paymentInfo: QerkoPaymentInfo | null) => void;
3199
3522
  onClose?: () => void;
3200
3523
  }
@@ -3215,18 +3538,20 @@ export declare interface QerkoOverlayState {
3215
3538
  }
3216
3539
 
3217
3540
  /**
3541
+ * TODO more generic name, since we support stargaze payment gateway as well
3218
3542
  * @public
3219
3543
  */
3220
3544
  export declare interface QerkoPaymentInfo {
3221
- webPaymentGatewayLink: string;
3222
- gatewayUri: string;
3223
- paymentQRCodeUri: string;
3545
+ webPaymentGatewayLink?: string;
3546
+ gatewayUri?: string;
3547
+ paymentQRCodeUri?: string;
3548
+ confirmationPaymentUrl?: string;
3224
3549
  purchaseId: string;
3225
3550
  currency: string;
3226
3551
  amount: number;
3227
- monetizationType: MonetizationType;
3552
+ monetizationType?: MonetizationType;
3228
3553
  recovery?: boolean;
3229
- monetizationFrequency: MONETIZATION_FREQUENCY;
3554
+ monetizationFrequency?: MONETIZATION_FREQUENCY;
3230
3555
  customToken?: string;
3231
3556
  }
3232
3557
 
@@ -3264,6 +3589,11 @@ export declare interface QerkoPaymentWebhookByApiKeyRequest {
3264
3589
  */
3265
3590
  userId: string;
3266
3591
  };
3592
+ items: {
3593
+ name: string;
3594
+ price: string;
3595
+ quantity: string;
3596
+ }[];
3267
3597
  };
3268
3598
  /**
3269
3599
  * Gateway where payment was made.
@@ -3276,6 +3606,7 @@ export declare interface QerkoPaymentWebhookByApiKeyRequest {
3276
3606
  }
3277
3607
 
3278
3608
  /**
3609
+ * TODO more generic name, since we support stargaze payment gateway as well
3279
3610
  * @public
3280
3611
  */
3281
3612
  export declare interface QerkoTransaction {
@@ -3286,6 +3617,27 @@ export declare interface QerkoTransaction {
3286
3617
  voucherId?: string;
3287
3618
  }
3288
3619
 
3620
+ export declare enum QuizGameRole {
3621
+ OBS = "OBS",
3622
+ HOST = "HOST",
3623
+ PLAYER = "PLAYER"
3624
+ }
3625
+
3626
+ export declare enum QuizGameStatus {
3627
+ /**
3628
+ * Waiting to start the quiz / question
3629
+ */
3630
+ WAITING = "WAITING",
3631
+ IN_PROGRESS = "IN_PROGRESS",
3632
+ IN_BETWEEN_QUESTIONS = "IN_BETWEEN_QUESTIONS",
3633
+ DONE = "DONE"
3634
+ }
3635
+
3636
+ export declare enum QuizGameType {
3637
+ POLL = "POLL",
3638
+ QUIZ = "QUIZ"
3639
+ }
3640
+
3289
3641
  /**
3290
3642
  * @public
3291
3643
  */
@@ -3295,6 +3647,9 @@ export declare interface ReactableContent {
3295
3647
  [key in ReactionEnum]?: number;
3296
3648
  } | null;
3297
3649
  updateReactionCount: (reaction: ReactionEnum, newCount: number) => void;
3650
+ isFavorite?: boolean;
3651
+ removeFromFavorites?: () => void;
3652
+ addToFavorites?: () => void;
3298
3653
  }
3299
3654
 
3300
3655
  /**
@@ -3419,6 +3774,7 @@ export declare interface RouterOverrides {
3419
3774
  } | {
3420
3775
  gridType: GRID_TYPES.ROW;
3421
3776
  rowId: string;
3777
+ organizationId?: string;
3422
3778
  } | {
3423
3779
  gridType: GRID_TYPES.VIDEO;
3424
3780
  videoId: string;
@@ -3432,6 +3788,7 @@ export declare interface RouterOverrides {
3432
3788
  email?: string;
3433
3789
  urlHandle?: string;
3434
3790
  replace?: boolean;
3791
+ params?: string;
3435
3792
  }) => void;
3436
3793
  goToRegistrationPage: (options?: {
3437
3794
  origin?: RegistrationRedirect;
@@ -3440,6 +3797,7 @@ export declare interface RouterOverrides {
3440
3797
  goBack: () => void;
3441
3798
  goLivePlayer: (tvChannelId: string) => void;
3442
3799
  goVodPlayer: (videoIdOrUrlName: string) => void;
3800
+ goToConversationPage: (conversationId: string) => void;
3443
3801
  goToHome: (user?: any, activeUserProfileId?: string) => void;
3444
3802
  goToRoute: (route: string) => void;
3445
3803
  goToArticle: (id: string, applicationUrlHandle?: string) => void;
@@ -3448,6 +3806,7 @@ export declare interface RouterOverrides {
3448
3806
  goToMagentaMomentsPage: (voucher?: string) => void;
3449
3807
  goToVoucherRedeemPage: () => void;
3450
3808
  updateParams: (params: URLSearchParams) => void;
3809
+ navigate: (path: string) => void;
3451
3810
  }
3452
3811
 
3453
3812
  /**
@@ -3480,6 +3839,8 @@ export declare interface Row {
3480
3839
  rowComponent: RowComponent.ROW | RowComponent.BANNER;
3481
3840
  itemComponent: RowItemComponent | BannerItemComponent;
3482
3841
  organizationId?: string;
3842
+ bottomComponent?: BottomComponent;
3843
+ showDescriptionAsTitle?: boolean;
3483
3844
  }
3484
3845
 
3485
3846
  /**
@@ -3518,7 +3879,8 @@ export declare enum RowFilterCollection {
3518
3879
  */
3519
3880
  TAGS = "tags",
3520
3881
  TV_CHANNELS = "tvChannels",
3521
- CONTENTS = "contents"
3882
+ CONTENTS = "contents",
3883
+ APPLICATIONS = "applications"
3522
3884
  }
3523
3885
 
3524
3886
  /**
@@ -3586,6 +3948,18 @@ export declare type RowInScreen = {
3586
3948
  * Items to display in the row.
3587
3949
  */
3588
3950
  tiles: GetTilesInRowResponse;
3951
+ /**
3952
+ * Setting for decided what to show bellow the tiles
3953
+ */
3954
+ bottomComponent?: BottomComponent;
3955
+ /**
3956
+ * Setting for decided whether to show description instead of title in the tiles
3957
+ */
3958
+ showDescriptionAsTitle?: boolean;
3959
+ /**
3960
+ * Setting for decided whether to hide title in the tiles/banners
3961
+ */
3962
+ hideTitle?: boolean;
3589
3963
  };
3590
3964
 
3591
3965
  /**
@@ -3772,7 +4146,8 @@ export declare enum ScreenType {
3772
4146
  GRID = "grid",
3773
4147
  EMBED = "embed",
3774
4148
  RECOMMENDATION = "recommendation",
3775
- FEED = "feed"
4149
+ FEED = "feed",
4150
+ EPG = "epg"
3776
4151
  }
3777
4152
 
3778
4153
  /**
@@ -3807,6 +4182,31 @@ export declare interface Section {
3807
4182
  videos: Video[];
3808
4183
  }
3809
4184
 
4185
+ /**
4186
+ * @public
4187
+ */
4188
+ export declare interface SeekingMatrix {
4189
+ url: string;
4190
+ x: number;
4191
+ y: number;
4192
+ width: number;
4193
+ height: number;
4194
+ interval: number;
4195
+ timeMs: number;
4196
+ }
4197
+
4198
+ /**
4199
+ * @public
4200
+ */
4201
+ export declare interface SeekingMatrixTemplate {
4202
+ pattern: string;
4203
+ width: number;
4204
+ height: number;
4205
+ columns: number;
4206
+ rows: number;
4207
+ interval: number;
4208
+ }
4209
+
3810
4210
  export declare enum SemanticDate {
3811
4211
  YESTERDAY = "Yesterday",
3812
4212
  TODAY = "Today",
@@ -3819,6 +4219,24 @@ export declare interface SendFinalizeRegistrationEmailPayload {
3819
4219
  authUserId: string;
3820
4220
  }
3821
4221
 
4222
+ /**
4223
+ * @public
4224
+ */
4225
+ export declare interface SendMessageRequest {
4226
+ text?: string;
4227
+ contentPath?: string;
4228
+ organizationId?: string;
4229
+ participantPaths?: string[];
4230
+ }
4231
+
4232
+ /**
4233
+ * @public
4234
+ */
4235
+ export declare interface SendMessageResponse {
4236
+ conversationId: string;
4237
+ messageId?: string;
4238
+ }
4239
+
3822
4240
  export declare interface SendTivioTemplateEmailRequest {
3823
4241
  notificationId: string;
3824
4242
  organizationId: string;
@@ -3840,6 +4258,12 @@ export declare interface Series extends RowItem, MonetizableItem, ReactableConte
3840
4258
  ref: DocumentReference<any>;
3841
4259
  availableSeasons: AvailableSeason[];
3842
4260
  actors?: DocumentReference<any>[];
4261
+ linkedContent?: {
4262
+ type: ContentType;
4263
+ contentRef: DocumentReference<any>;
4264
+ }[];
4265
+ seriesDetailArticle?: Article;
4266
+ originalTagId?: string;
3843
4267
  }
3844
4268
 
3845
4269
  export declare interface SeriesTileSpecificData {
@@ -3848,6 +4272,10 @@ export declare interface SeriesTileSpecificData {
3848
4272
  availableSeasons: AvailableSeason[];
3849
4273
  }
3850
4274
 
4275
+ export declare interface SetCustomClaimsRequest {
4276
+ organizationId: string;
4277
+ }
4278
+
3851
4279
  /**
3852
4280
  * Used for entities, that can be global (e.g. asset presets, tag types).
3853
4281
  * Non-global is stored under organizations (in sub-collection), and shown for organization's users and super-admin.
@@ -3884,7 +4312,9 @@ export declare enum SocialNetworks {
3884
4312
  TWITTER = 2,
3885
4313
  LINKED_IN = 3,
3886
4314
  EMAIL = 4,
3887
- YOUTUBE = 5
4315
+ YOUTUBE = 5,
4316
+ THREADS = 6,
4317
+ TIKTOK = 7
3888
4318
  }
3889
4319
 
3890
4320
  /**
@@ -3942,6 +4372,16 @@ export declare enum SourceType {
3942
4372
  VOD_EXTERNAL = "vod_external"
3943
4373
  }
3944
4374
 
4375
+ /**
4376
+ * External information of video from SportyTv EPG import
4377
+ * @public
4378
+ */
4379
+ export declare interface SportyExternals {
4380
+ showId?: string;
4381
+ showGroup?: string;
4382
+ showTitle?: string;
4383
+ }
4384
+
3945
4385
  /**
3946
4386
  * @public
3947
4387
  */
@@ -3980,10 +4420,16 @@ export declare interface StoreBadgeConfig {
3980
4420
  appId: string;
3981
4421
  }
3982
4422
 
4423
+ export declare interface SubmitAnswerResponse {
4424
+ id: string;
4425
+ receivedTimestamp: number;
4426
+ leaderboardScore?: number;
4427
+ }
4428
+
3983
4429
  /**
3984
4430
  * @public
3985
4431
  */
3986
- export declare type SubscribeToItemsInRow = (rowId: string, cb: (error: Error | null, data: PaginationInterface<ItemInRow> | null) => void, options?: SubscribeToItemsInRowOptions) => Disposer_2;
4432
+ export declare type SubscribeToItemsInRow = (rowId: string, cb: (error: Error | null, data: PaginationInterface<ItemInRow> | null) => void, options?: SubscribeToItemsInRowOptions, organizationId?: string) => Disposer_2;
3987
4433
 
3988
4434
  /**
3989
4435
  * @public
@@ -4011,10 +4457,12 @@ export declare type SubscribeToSeriesEpisodesOptions = Omit<SubscribeToItemsInRo
4011
4457
  orderBy?: OrderBy<TaggedVideosOrderByField>[];
4012
4458
  };
4013
4459
 
4460
+ export declare type SubscribeToSeriesEpisodesWithArticles = (seriesRef: any, seriesTag: string, organizationPath: string, cb: (error: Error | null, data: PaginationInterface<Video> | null) => void, options?: SubscribeToTaggedVideosOptions) => Disposer_2;
4461
+
4014
4462
  /**
4015
4463
  * @public
4016
4464
  */
4017
- export declare type SubscribeToTaggedVideos = (tagIds: string[], cb: (error: Error | null, data: PaginationInterface<Video> | null) => void, options?: SubscribeToTaggedVideosOptions) => Disposer_2;
4465
+ export declare type SubscribeToTaggedVideos = (tagIds: string[], cb: (error: Error | null, data: PaginationInterface<Video> | null) => void, options?: SubscribeToTaggedVideosOptions, organizationPath?: string) => Disposer_2;
4018
4466
 
4019
4467
  /**
4020
4468
  * @public
@@ -4062,6 +4510,10 @@ export declare interface Tag extends RowItem {
4062
4510
  getSeriesEntity: (path: string) => Promise<Series>;
4063
4511
  ref: DocumentReference<any>;
4064
4512
  seriesEntity: Series | null;
4513
+ tagType: {
4514
+ tagTypeId: string | null;
4515
+ } | null;
4516
+ initSeries: () => Promise<void>;
4065
4517
  }
4066
4518
 
4067
4519
  export declare interface TagAvailableSeasonsFieldType extends TagMetadataFieldDefinition {
@@ -4127,6 +4579,7 @@ export declare interface TagTileSpecificData {
4127
4579
  metadata: TagMetadataField[];
4128
4580
  simplicity: TagSimplicityType;
4129
4581
  tagTypePath?: string;
4582
+ description?: string;
4130
4583
  }
4131
4584
 
4132
4585
  export declare interface TagTranslationFieldType extends TagMetadataFieldDefinition {
@@ -4159,6 +4612,7 @@ export declare interface TileApplicationData {
4159
4612
  organizationId: string;
4160
4613
  type: ApplicationType;
4161
4614
  profilePhoto?: string;
4615
+ isMainApplication?: boolean;
4162
4616
  }
4163
4617
 
4164
4618
  export declare interface TileData<ItemSpecificData = VideoTileSpecificData | TvChannelTileSpecificData | TagTileSpecificData | ArticleTileSpecificData | SeriesTileSpecificData> {
@@ -4192,6 +4646,13 @@ export declare interface TileData<ItemSpecificData = VideoTileSpecificData | TvC
4192
4646
  itemSpecificData: ItemSpecificData;
4193
4647
  }
4194
4648
 
4649
+ declare interface TileMonetizationData {
4650
+ id: string;
4651
+ path: string;
4652
+ placementType: 'channel' | 'tvChannel' | 'condition' | 'video' | 'section' | 'row';
4653
+ type: MonetizationType;
4654
+ }
4655
+
4195
4656
  /**
4196
4657
  * @public
4197
4658
  */
@@ -4200,8 +4661,12 @@ export declare interface TileProps {
4200
4661
  cover?: string;
4201
4662
  bottomLabel: string;
4202
4663
  bottomLabelAreaHeight: number;
4203
- bottomComponent?: React_2.ReactNode;
4664
+ bottomItem?: React_2.ReactNode;
4204
4665
  innerLabel: string;
4666
+ /**
4667
+ * Override font size of component type specific tile based on viewport width
4668
+ */
4669
+ innerLabelFontSize?: number;
4205
4670
  duration: string;
4206
4671
  price: string | null;
4207
4672
  focused: boolean;
@@ -4228,6 +4693,11 @@ export declare interface TileProps {
4228
4693
  hasBranding?: boolean;
4229
4694
  applicationHandle?: string;
4230
4695
  fullWidth?: boolean;
4696
+ bottomComponent?: BottomComponent;
4697
+ showAlreadyWatchedOverlay?: boolean;
4698
+ itemType?: ROW_ITEM_TYPES;
4699
+ description?: string;
4700
+ showDescriptionAsTitle?: boolean;
4231
4701
  }
4232
4702
 
4233
4703
  /**
@@ -4413,7 +4883,7 @@ export declare type TivioHooks = {
4413
4883
  useAd: () => [(AdExternal | null)];
4414
4884
  useAdSegment: () => AdSegment_2 | null;
4415
4885
  useCancelSubscription: UseCancelSubscription;
4416
- useItemsInRow: (rowId?: string, options?: PaginationOptions) => {
4886
+ useItemsInRow: ({ rowId, organizationId, options }: UseItemsInRow) => {
4417
4887
  pagination: PaginationInterface<ItemInRow> | null;
4418
4888
  error: Error | null;
4419
4889
  };
@@ -4766,6 +5236,15 @@ export declare interface TivioWidgetRef {
4766
5236
  });
4767
5237
  }
4768
5238
 
5239
+ export declare interface TokenInterface {
5240
+ token: string;
5241
+ expirationDate: Date;
5242
+ type: TokenType;
5243
+ active: boolean;
5244
+ }
5245
+
5246
+ export declare type TokenType = 'rss';
5247
+
4769
5248
  export declare interface TopWatchItem {
4770
5249
  videoId: string;
4771
5250
  /**
@@ -4867,6 +5346,7 @@ export declare interface TvChannelTileSpecificData {
4867
5346
  sources: VideoSourceField[];
4868
5347
  organizationId: string;
4869
5348
  assets?: AssetsField<TvChannelAssetValue>;
5349
+ monetizations?: TileMonetizationData[];
4870
5350
  }
4871
5351
 
4872
5352
  export declare enum TvChannelType {
@@ -4895,6 +5375,8 @@ export declare interface TvProgram {
4895
5375
  image: string;
4896
5376
  landscape?: string | null;
4897
5377
  video: Video | null;
5378
+ tvChannelRef?: any;
5379
+ loadVideo?: () => Promise<void>;
4898
5380
  }
4899
5381
 
4900
5382
  /**
@@ -5026,39 +5508,18 @@ export declare const useChannelSource: (tvChannelId: string) => {
5026
5508
 
5027
5509
  /**
5028
5510
  * @public
5511
+ * TODO: refactor, remove hook completely, or keep it, but use Conversation entity
5512
+ * keep in mind need for pagination and replies (reactions) to comments/messages
5513
+ * subscribe to conversation is optional, bc when watching a video, we don't need to subscribe to conversation
5514
+ * but for live video with comments, we want to subscribe to conversation
5029
5515
  */
5030
- export declare type UseComments = (options: UseCommentsOptions) => {
5031
- pagination: PaginationInterface<Comment_2>;
5032
- addComment: (options: AddCommentOptions) => Promise<UseCommentsAddEditCommentResponse>;
5033
- editComment: (options: EditCommentOptions) => Promise<UseCommentsAddEditCommentResponse>;
5034
- deleteComment: (commentId: string) => Promise<UseCommentsDeleteCommentResponse>;
5516
+ export declare type UseComments = (options: UseMessagesOptions) => {
5517
+ pagination: PaginationInterface<Comment>;
5518
+ addComment: (options: AddMessageOptions) => Promise<UseMessagesAddEditMessageResponse>;
5519
+ editComment: (options: EditMessageOptions) => Promise<UseMessagesAddEditMessageResponse>;
5520
+ deleteComment: (commentId: string) => Promise<UseMessagesDeleteMessageResponse>;
5035
5521
  };
5036
5522
 
5037
- /**
5038
- * @public
5039
- */
5040
- export declare interface UseCommentsAddEditCommentResponse {
5041
- id?: string;
5042
- error?: string;
5043
- }
5044
-
5045
- /**
5046
- * @public
5047
- */
5048
- export declare interface UseCommentsDeleteCommentResponse {
5049
- deleted?: boolean;
5050
- error?: string;
5051
- }
5052
-
5053
- /**
5054
- * @public
5055
- */
5056
- export declare interface UseCommentsOptions {
5057
- videoId: string;
5058
- mainParentId?: string;
5059
- autoInit?: boolean;
5060
- }
5061
-
5062
5523
  /**
5063
5524
  * @public
5064
5525
  */
@@ -5114,13 +5575,22 @@ export declare const useIsMonetizationPurchased: () => {
5114
5575
  isOneOfSubscriptionPurchased: (subscriptionIds: string[]) => boolean;
5115
5576
  };
5116
5577
 
5578
+ /**
5579
+ * @public
5580
+ */
5581
+ export declare interface UseItemsInRow {
5582
+ rowId?: string;
5583
+ organizationId?: string;
5584
+ options?: SubscribeToItemsInRowOptions;
5585
+ }
5586
+
5117
5587
  /**
5118
5588
  * Use row items
5119
5589
  * @param rowId - row ID
5120
5590
  * @param options - subscription options
5121
5591
  * @public
5122
5592
  */
5123
- export declare const useItemsInRow: (rowId?: string, options?: SubscribeToItemsInRowOptions) => {
5593
+ export declare const useItemsInRow: ({ rowId, organizationId, options, }: UseItemsInRow) => {
5124
5594
  pagination: PaginationInterface<ItemInRow> | null;
5125
5595
  error: Error | null;
5126
5596
  };
@@ -5130,6 +5600,40 @@ export declare const useItemsInRow: (rowId?: string, options?: SubscribeToItemsI
5130
5600
  */
5131
5601
  export declare const useMarkers: () => Marker[] | null;
5132
5602
 
5603
+ /**
5604
+ * @public
5605
+ */
5606
+ export declare type UseMessages = (options: UseMessagesOptions) => {
5607
+ pagination: PaginationInterface<Message>;
5608
+ addMessage: (options: AddMessageOptions) => Promise<UseMessagesAddEditMessageResponse>;
5609
+ editMessage: (options: EditMessageOptions) => Promise<UseMessagesAddEditMessageResponse>;
5610
+ deleteMessage: (messageId: string) => Promise<UseMessagesDeleteMessageResponse>;
5611
+ };
5612
+
5613
+ /**
5614
+ * @public
5615
+ */
5616
+ export declare interface UseMessagesAddEditMessageResponse {
5617
+ id?: string;
5618
+ error?: string;
5619
+ }
5620
+
5621
+ /**
5622
+ * @public
5623
+ */
5624
+ export declare interface UseMessagesDeleteMessageResponse {
5625
+ deleted?: boolean;
5626
+ error?: string;
5627
+ }
5628
+
5629
+ /**
5630
+ * @public
5631
+ */
5632
+ export declare type UseMessagesOptions = ContentOrConversationId & {
5633
+ mainParentId?: string;
5634
+ autoInit?: boolean;
5635
+ };
5636
+
5133
5637
  /**
5134
5638
  * @public
5135
5639
  *
@@ -5217,12 +5721,19 @@ export declare type User = {
5217
5721
  followedOrganizationIds: string[];
5218
5722
  isAnonymous: boolean;
5219
5723
  isDiscordConnected: boolean;
5724
+ disconnectDiscord: () => Promise<void>;
5220
5725
  createUserProfile: (request: any) => Promise<void>;
5221
5726
  deleteUserProfile: (profileId: string) => Promise<void>;
5222
5727
  setActiveUserProfileId: (id: string) => void;
5223
5728
  getFollowedOrganizations: () => Promise<Array<FollowedOrganizationData | undefined>>;
5224
5729
  sendFinalizeRegistrationEmail: (email: string) => Promise<void>;
5225
- isUserAlreadyRegisteredByTenant: (email: string, tenantId: string) => Promise<boolean>;
5730
+ isUserAlreadyRegisteredByTenant: (email: string) => Promise<boolean>;
5731
+ getAllExtendableSubscriptions: () => Promise<Purchase[]>;
5732
+ getRssValidToken: () => Promise<TokenInterface | undefined>;
5733
+ getRssUrl: () => Promise<GetUserRssUrlResponse>;
5734
+ invalidateAllTokens: (type: TokenType) => Promise<void>;
5735
+ isPartiallyRegistered: boolean;
5736
+ conversationStore: ConversationStore;
5226
5737
  };
5227
5738
 
5228
5739
  /**
@@ -5253,7 +5764,7 @@ export declare enum UserGroup {
5253
5764
  /**
5254
5765
  * @public
5255
5766
  */
5256
- export declare type UseRow = (rowId: string | null) => {
5767
+ export declare type UseRow = (rowId: string | null, organizationId?: string) => {
5257
5768
  row: Row | null;
5258
5769
  error: Error | null;
5259
5770
  };
@@ -5271,6 +5782,24 @@ export declare const useRowsInScreen: (screenId: string, options?: PaginationOpt
5271
5782
  */
5272
5783
  export declare type UserPayload = Record<string, any>;
5273
5784
 
5785
+ /**
5786
+ * User profile field.
5787
+ */
5788
+ export declare type UserProfile = {
5789
+ /**
5790
+ * Profile id - randomly generated uuid (because we don't have separate firebase documents for users).
5791
+ */
5792
+ id: string;
5793
+ /**
5794
+ * Profile name - typically first name and last name, but users can fill in whatever they want.
5795
+ */
5796
+ name: string;
5797
+ /**
5798
+ * Filled in values for user profile survey. See {@link OrganizationDocument} its configuration.
5799
+ */
5800
+ survey?: ProfileSurvey;
5801
+ };
5802
+
5274
5803
  /**
5275
5804
  * @public
5276
5805
  */
@@ -5279,6 +5808,34 @@ export declare enum UserType {
5279
5808
  TIVIO_USER = "TIVIO_USER"
5280
5809
  }
5281
5810
 
5811
+ export declare interface UserWatchPositionField {
5812
+ /**
5813
+ * Watch position in milliseconds, e.g. 90000 (90 seconds from the start of the video).
5814
+ */
5815
+ position: number;
5816
+ /**
5817
+ * Video that given watch position is related to.
5818
+ */
5819
+ videoRef: any;
5820
+ /**
5821
+ * If user watches episode of series, we have to save series ref as well.
5822
+ * Same for {@link episodeNumber} and {@link seasonNumber}.
5823
+ */
5824
+ tagRef?: any;
5825
+ episodeNumber?: number;
5826
+ seasonNumber?: number;
5827
+ /**
5828
+ * Full duration of the video in milliseconds.
5829
+ */
5830
+ videoDuration?: number;
5831
+ /**
5832
+ * Id of user profile that this watch position record belongs to.
5833
+ *
5834
+ * If undefined, user does not use profiles / not migrated to profiles yet.
5835
+ */
5836
+ profileId?: string;
5837
+ }
5838
+
5282
5839
  /**
5283
5840
  * @public
5284
5841
  */
@@ -5487,15 +6044,7 @@ export declare interface Video extends RowItem, MonetizableItem, ReactableConten
5487
6044
  }): Promise<GetSourceUrlResponse & {
5488
6045
  language?: LangCode;
5489
6046
  }>;
5490
- getSeekingMatrixPreviewByTime(timeMs: number, offsetIndex?: number): {
5491
- url: string;
5492
- x: number;
5493
- y: number;
5494
- width: number;
5495
- height: number;
5496
- interval: number;
5497
- timeMs: number;
5498
- } | null;
6047
+ getSeekingMatrixPreviewByTime(timeMs: number, offsetIndex?: number): SeekingMatrix | null;
5499
6048
  purchasableMonetization: any | null;
5500
6049
  transaction: PurchasableMonetization | undefined;
5501
6050
  subscriptions: PurchasableMonetization[];
@@ -5544,6 +6093,11 @@ export declare interface Video extends RowItem, MonetizableItem, ReactableConten
5544
6093
  initApplication: () => Promise<void>;
5545
6094
  init: () => Promise<void>;
5546
6095
  progress?: number;
6096
+ backgroundBlurBannerMobile?: string | null;
6097
+ isWatched?: boolean;
6098
+ pgRating?: string;
6099
+ contentDescriptors?: string[];
6100
+ publishedStatus?: PublishedStatus;
5547
6101
  }
5548
6102
 
5549
6103
  /**
@@ -5558,18 +6112,45 @@ export declare enum VideoContentType {
5558
6112
  SERIES = "SERIES"
5559
6113
  }
5560
6114
 
6115
+ declare type VideoDetailResponsiveField = OrganizationResponsiveSetting<{
6116
+ modalView?: boolean;
6117
+ showDateOfPublicationForRelatedVideos?: boolean;
6118
+ /**
6119
+ * If true, the full description will be shown instead of Show more button
6120
+ * @default false
6121
+ */
6122
+ showFullDescription?: boolean;
6123
+ /**
6124
+ * Number of videos to show in the right side of the video detail
6125
+ * @default 12
6126
+ */
6127
+ relatedVideosLimit?: number;
6128
+ }>;
6129
+
5561
6130
  /**
5562
6131
  * @public
5563
6132
  */
5564
- export declare type VideoExternals = (JojExternals | MallTvExternals | OktagonExternals | MigratedVideoExternals) & {
6133
+ export declare type VideoExternals = (JojExternals | MallTvExternals | OktagonExternals | MigratedVideoExternals | SportyExternals) & {
5565
6134
  channelKey?: string;
5566
6135
  };
5567
6136
 
6137
+ export declare interface VideoHighlight {
6138
+ id: string;
6139
+ title: string;
6140
+ description?: string;
6141
+ fromTimestamp?: number;
6142
+ toTimestamp?: number;
6143
+ imageUrl?: string;
6144
+ videoTime?: string;
6145
+ videoId?: string;
6146
+ }
6147
+
5568
6148
  declare type VideoPath = string;
5569
6149
 
5570
6150
  export declare enum VideoSourceCodec {
5571
6151
  H264 = "h264",
5572
- H265 = "h265"
6152
+ H265 = "h265",
6153
+ MPEG_2 = "MPEG-2"
5573
6154
  }
5574
6155
 
5575
6156
  export declare enum VideoSourceEncryption {
@@ -5594,8 +6175,24 @@ export declare interface VideoSourceField {
5594
6175
  */
5595
6176
  priority: VideoSourcePriority;
5596
6177
  protocol: VideoSourceProtocol;
6178
+ provider?: VideoSourceProvider;
5597
6179
  url: string;
5598
6180
  languages?: LangCode[];
6181
+ /**
6182
+ * URL for source modification for user (e.g. add PIP window to livestream).
6183
+ */
6184
+ managementUrl?: string;
6185
+ /**
6186
+ * Seeking matrix override for given source.
6187
+ */
6188
+ seekingMatrix?: Partial<SeekingMatrixTemplate>;
6189
+ /**
6190
+ * Content id override to include generated jwt token.
6191
+ * Used when you have several sources from different contents (videos).
6192
+ * Without it {@link getSourceUrl} will use document's id, and jwt token validation might fail
6193
+ * because content id in source url and in token will not match.
6194
+ */
6195
+ contentId?: string;
5599
6196
  }
5600
6197
 
5601
6198
  /**
@@ -5606,15 +6203,28 @@ export declare type VideoSourcePriority = 1 | 2 | 3 | 4 | 5;
5606
6203
  export declare enum VideoSourceProtocol {
5607
6204
  HLS = "hls",
5608
6205
  DASH = "dash",
5609
- MP4 = "mp4"
6206
+ MP4 = "mp4",
6207
+ MP3 = "mp3"
5610
6208
  }
5611
6209
 
6210
+ export declare enum VideoSourceProvider {
6211
+ AWS = "aws",
6212
+ CLOUDFLARE = "cloudflare",
6213
+ NANGU = "nangu"
6214
+ }
6215
+
6216
+ declare type VideoTileMonetizationData = TileMonetizationData & {
6217
+ expirationDaysSincePublished?: number;
6218
+ };
6219
+
5612
6220
  export declare interface VideoTileSpecificData {
5613
6221
  cover?: string;
5614
6222
  assets?: AssetsField;
5615
6223
  episodeNumber?: number;
5616
6224
  seasonNumber?: number;
5617
6225
  urlName?: VideoUrlNames;
6226
+ monetizations?: VideoTileMonetizationData[];
6227
+ description?: Translation;
5618
6228
  }
5619
6229
 
5620
6230
  /**
@@ -5674,7 +6284,11 @@ export declare enum VideoType {
5674
6284
  /**
5675
6285
  * Video that is in locked state and is used in virtual channel EPG.
5676
6286
  */
5677
- VIRTUAL_PROGRAM = "VIRTUAL_PROGRAM"
6287
+ VIRTUAL_PROGRAM = "VIRTUAL_PROGRAM",
6288
+ /**
6289
+ * Video that has a parent video, usually cut from it's parent
6290
+ */
6291
+ CHILD = "CHILD"
5678
6292
  }
5679
6293
 
5680
6294
  /**
@@ -5877,6 +6491,11 @@ export declare interface WebConfig {
5877
6491
  email?: string;
5878
6492
  };
5879
6493
  cookieSettingsLabel?: string;
6494
+ partners?: {
6495
+ name: string;
6496
+ logo: string;
6497
+ url?: string;
6498
+ }[];
5880
6499
  };
5881
6500
  theme?: {
5882
6501
  headerType?: PaletteType;
@@ -5954,6 +6573,7 @@ export declare interface WebConfig {
5954
6573
  };
5955
6574
  payment?: {
5956
6575
  paymentConsent?: string;
6576
+ paymentRenewalConsent?: boolean;
5957
6577
  };
5958
6578
  /**
5959
6579
  * If web supports entering vouchers
@@ -6006,6 +6626,11 @@ export declare interface WebConfig {
6006
6626
  * If true, robots.txt will prevent crawling of the website.
6007
6627
  */
6008
6628
  norobots?: boolean;
6629
+ customTranslations?: {
6630
+ [key: string]: {
6631
+ [key: string]: string;
6632
+ };
6633
+ };
6009
6634
  }
6010
6635
 
6011
6636
  /**
@@ -6111,6 +6736,7 @@ export declare interface WebPlayerProps {
6111
6736
  */
6112
6737
  disablePlayNext?: boolean;
6113
6738
  setPaymentOverlayVisible?: React_2.Dispatch<React_2.SetStateAction<boolean>>;
6739
+ hideOverlay?: boolean;
6114
6740
  }
6115
6741
 
6116
6742
  /**