@tivio/sdk-react 9.1.1 → 9.1.3-alpha

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.
@@ -1,27 +1,40 @@
1
1
  import { ComponentType } from 'react';
2
+ import type dayjs from 'dayjs';
2
3
  import { DocumentReference } from '@firebase/firestore-types';
4
+ import type duration from 'dayjs/plugin/duration';
3
5
  import firebase from '@firebase/app-types';
4
6
  import { FunctionComponentElement } from 'react';
5
- import { GeoPoint } from '@firebase/firestore-types';
7
+ import type { GeoPoint } from '@firebase/firestore-types';
6
8
  import { OperatingSystem } from 'detect-browser';
7
9
  import type { PaletteType } from '@material-ui/core';
8
10
  import { default as React_2 } from 'react';
9
11
  import { RecommendationsQuery } from '@algolia/recommend';
10
12
  import type { TagManagerArgs } from 'react-gtm-module';
11
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
+
12
29
  /**
13
30
  * @public
14
31
  */
15
- export declare interface AddCommentOptions {
16
- parentCommentId?: string;
32
+ export declare interface AddMessageOptions {
33
+ parentMessageId?: string;
17
34
  text: string;
18
35
  videoTime?: number;
19
36
  }
20
37
 
21
- export declare type AddEditCommentResponse = {
22
- id: string;
23
- };
24
-
25
38
  /**
26
39
  * @public
27
40
  */
@@ -230,15 +243,32 @@ export declare type AdvertisementAnalyticParams = {
230
243
  videoId: string;
231
244
  };
232
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
+
233
263
  /**
234
264
  * @public
235
265
  */
236
266
  export declare enum ALGOLIA_INDEX_NAME {
237
267
  VIDEOS = "videos",
268
+ VIDEOS_FOR_EPG = "videos_for_epg",
238
269
  VIDEOSDESC = "videos_created_desc",
239
270
  TAGS = "tags",
240
- TV_CHANNELS = "tvChannels",
241
- USERS = "users"
271
+ TV_CHANNELS = "tvChannels"
242
272
  }
243
273
 
244
274
  export declare interface AllStargazeCreatorsWithVoucherSubscriptionsResponse {
@@ -310,6 +340,12 @@ export declare interface AnalyticsInterface {
310
340
  }) => void;
311
341
  }
312
342
 
343
+ export declare enum AnswerStatus {
344
+ SELECTED = "SELECTED",
345
+ CORRECT = "CORRECT",
346
+ WRONG = "WRONG"
347
+ }
348
+
313
349
  /**
314
350
  * @public
315
351
  */
@@ -371,6 +407,9 @@ export declare interface Article extends RowItem, MonetizableItem, ReactableCont
371
407
  blocks: ArticleBlock[];
372
408
  cover: string;
373
409
  organizationId?: string;
410
+ detailBanner?: string;
411
+ episodeNumber?: number;
412
+ seasonNumber?: number;
374
413
  }
375
414
 
376
415
  /**
@@ -383,6 +422,8 @@ export declare interface ArticleBlock {
383
422
  imageUrl?: string;
384
423
  textContent?: string;
385
424
  videoId?: string;
425
+ isOverflowImage?: boolean;
426
+ imageDescription?: string;
386
427
  }
387
428
 
388
429
  export declare interface ArticleBlockField extends Omit<ArticleBlock, 'textContent' | 'htmlContent'> {
@@ -393,12 +434,14 @@ export declare interface ArticleBlockField extends Omit<ArticleBlock, 'textConte
393
434
  /**
394
435
  * @public
395
436
  */
396
- export declare type ArticleBlockType = 'PARAGRAPH' | 'IMAGE' | 'VIDEO' | 'HEADING' | 'PAYWALL';
437
+ export declare type ArticleBlockType = 'PARAGRAPH' | 'IMAGE' | 'VIDEO' | 'HEADING' | 'PAYWALL' | 'BLOCK_QUOTE';
397
438
 
398
439
  export declare interface ArticleTileSpecificData {
399
440
  organizationId: string;
400
441
  blocks: ArticleBlockField[];
401
442
  assets?: AssetsField;
443
+ description?: Translation;
444
+ monetizations?: TileMonetizationData[];
402
445
  }
403
446
 
404
447
  /**
@@ -487,6 +530,7 @@ export declare interface BannerProps {
487
530
  hoverable: boolean;
488
531
  height: number;
489
532
  cover?: string | null;
533
+ created?: Date | null;
490
534
  overlay: boolean;
491
535
  price: string;
492
536
  borderRadius?: string | number;
@@ -500,6 +544,9 @@ export declare interface BannerProps {
500
544
  organizationLogoLandscape?: string;
501
545
  organizationHandle?: string;
502
546
  organizationProfilePhoto?: string;
547
+ bottomComponent?: BottomComponent;
548
+ showDescriptionAsTitle?: boolean;
549
+ hideTitle?: boolean;
503
550
  }
504
551
 
505
552
  /**
@@ -523,6 +570,11 @@ export declare type BetOffer = {
523
570
  time: Date;
524
571
  };
525
572
 
573
+ /**
574
+ * @public
575
+ */
576
+ export declare type BottomComponent = 'dateOfPublication' | 'description' | undefined;
577
+
526
578
  /**
527
579
  * @public
528
580
  */
@@ -552,6 +604,8 @@ export declare interface ButtonOptions {
552
604
  backgroundImage: string;
553
605
  borderRadius: string | number;
554
606
  color?: string;
607
+ padding?: string;
608
+ maxWidth?: string;
555
609
  }
556
610
 
557
611
  /**
@@ -559,6 +613,12 @@ export declare interface ButtonOptions {
559
613
  */
560
614
  export declare type Callback<T = any> = (arg?: T) => void;
561
615
 
616
+ export declare interface CancellingMonetizationsSummaryItem {
617
+ date: number;
618
+ monetizationId: string;
619
+ cancellingUsers: number;
620
+ }
621
+
562
622
  /**
563
623
  * @public
564
624
  * @deprecated this channel structure is not used anymore (don't confuse with tv channels, which are used).
@@ -605,35 +665,17 @@ export declare interface ChannelSourceParams extends PlayerSourceParams<SourceTy
605
665
  */
606
666
  export declare type Chapter = any;
607
667
 
608
- /**
609
- * @public
610
- */
611
- export declare type CmpConfig = 'default' | 'debug' | 'none';
612
-
613
- /**
614
- * @public
615
- */
616
- declare interface Comment_2 {
617
- id: string;
618
- text: string;
619
- videoTime: number | null;
620
- createdAt: Date;
621
- editedAt: Date | null;
622
- user: CommentUser | null;
623
- reactions: Record<string, number> | null;
624
- repliesCount: number | null;
625
- isReady: boolean;
626
- updateRepliesCount: (increment: boolean) => void;
668
+ export declare interface ChurnedMonetizationsSummaryItem {
669
+ date: number;
670
+ monetizationId: string;
671
+ canceledUsers: number;
672
+ expiredUsers: number;
627
673
  }
628
- export { Comment_2 as Comment }
629
674
 
630
675
  /**
631
676
  * @public
632
677
  */
633
- export declare interface CommentUser {
634
- name: string;
635
- avatarUrl: string | null;
636
- }
678
+ export declare type CmpConfig = 'default' | 'debug' | 'none';
637
679
 
638
680
  /**
639
681
  * TODO same name as core-js entity, not convenient
@@ -753,6 +795,16 @@ export declare interface ContentAvailability {
753
795
  manual: boolean;
754
796
  }
755
797
 
798
+ /**
799
+ * @public
800
+ */
801
+ export declare type ContentOrConversationId = {
802
+ contentId: string;
803
+ contentType?: 'video' | 'article';
804
+ } | {
805
+ conversationId: string;
806
+ };
807
+
756
808
  /**
757
809
  * @public
758
810
  */
@@ -774,11 +826,76 @@ export declare interface ContentSortPickerProps {
774
826
  onChange: (value: ContentSortEnum) => void;
775
827
  }
776
828
 
829
+ export declare type ContentType = 'ARTICLE' | 'VIDEO' | 'SERIES' | 'EPISODE';
830
+
777
831
  /**
778
832
  * @public
779
833
  */
780
834
  export declare type ContinuePosition = number | null | Promise<number | null>;
781
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
+
782
899
  /**
783
900
  * Entity aggregate conversion statistics per day
784
901
  * TODO in future change structure, new used like array item
@@ -871,12 +988,12 @@ export declare const createPubSub: () => PubSub;
871
988
  * Fetch & load CommonJS remote module.
872
989
  * @public
873
990
  */
874
- export declare const createRemotePackageLoader: () => (secret: string, conf: InternalConfig) => Promise<TivioBundle>;
991
+ export declare const createRemotePackageLoader: () => (secret: string, conf: InternalConfig, checkBundleCharCount?: boolean) => Promise<TivioBundle>;
875
992
 
876
993
  /**
877
994
  * @public
878
995
  */
879
- export declare const createUseRemoteBundle: () => (conf: InternalConfig) => RemoteBundleState;
996
+ export declare const createUseRemoteBundle: () => (conf: InternalConfig, checkBundleCharCount?: boolean) => RemoteBundleState;
880
997
 
881
998
  export declare interface CreateUserPayload {
882
999
  displayName?: string;
@@ -926,6 +1043,7 @@ export declare enum CustomerId {
926
1043
  CNC = "CNC",
927
1044
  DVTV = "DVTV",
928
1045
  DVTV_DEV = "DVTV_DEV",
1046
+ DVTV_SK = "DVTV_SK",
929
1047
  GARAZ = "GARAZ",
930
1048
  GRAPE = "GRAPE",
931
1049
  HODINA_DEJEPICHU = "HODINA_DEJEPICHU",
@@ -950,7 +1068,29 @@ export declare enum CustomerId {
950
1068
  VIRTUAL_CHANNEL_VIDEOS = "VIRTUAL_CHANNEL_VIDEOS",
951
1069
  VOJTA_ZIZKA = "VOJTA_ZIZKA",
952
1070
  LIGA_NARUBY = "LIGA_NARUBY",
953
- VIC_NEZ_SI_MYSLITE = "VIC_NEZ_SI_MYSLITE"
1071
+ VIC_NEZ_SI_MYSLITE = "VIC_NEZ_SI_MYSLITE",
1072
+ ZIMAK = "ZIMAK",
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"
954
1094
  }
955
1095
 
956
1096
  /**
@@ -980,6 +1120,7 @@ export declare interface Customizations {
980
1120
  fontSize: number;
981
1121
  };
982
1122
  borderRadius: string | number;
1123
+ color: string;
983
1124
  };
984
1125
  Monetization?: {
985
1126
  borderRadius?: number;
@@ -1026,6 +1167,8 @@ export declare interface Customizations {
1026
1167
  mobileLogoHeight?: string;
1027
1168
  borderBottom: string;
1028
1169
  color?: string;
1170
+ backgroundGradient?: string;
1171
+ iconColor?: string;
1029
1172
  };
1030
1173
  CenteredMenu?: {
1031
1174
  backgroundColor: string;
@@ -1079,6 +1222,7 @@ export declare interface Customizations {
1079
1222
  borderColor?: string | null;
1080
1223
  scaleUp?: boolean;
1081
1224
  lowerOpacityMobile?: boolean;
1225
+ lockIconColor?: string;
1082
1226
  };
1083
1227
  };
1084
1228
  Input: InputOptions;
@@ -1109,6 +1253,24 @@ export declare interface Customizations {
1109
1253
  backgroundColor: string;
1110
1254
  color: string;
1111
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
+ };
1112
1274
  }
1113
1275
 
1114
1276
  export declare interface CustomScript {
@@ -1192,6 +1354,23 @@ export declare type DeviceInfo = ArrisDeviceInfo | ReactNativeDeviceInfo;
1192
1354
  */
1193
1355
  export declare type DeviceOs = OperatingSystem | 'Tizen' | 'webOS' | 'Arris' | 'Android TV' | 'tvOS';
1194
1356
 
1357
+ /**
1358
+ * Window object with Didomi SDK properties.
1359
+ */
1360
+ export declare interface DidomiWindow {
1361
+ didomiEventListeners: Array<{
1362
+ event: string;
1363
+ listener: () => void;
1364
+ }>;
1365
+ /**
1366
+ * The window.didomiOnReady callbacks are called after the SDK
1367
+ * is initialized and has loaded its configuration.
1368
+ *
1369
+ * https://developers.didomi.io/cmp/web-sdk/reference/api
1370
+ */
1371
+ didomiOnReady: (() => void)[];
1372
+ }
1373
+
1195
1374
  /**
1196
1375
  * @public
1197
1376
  */
@@ -1210,14 +1389,6 @@ export declare interface DividerProps {
1210
1389
  horizontalSpacing?: number;
1211
1390
  }
1212
1391
 
1213
- /**
1214
- * @public
1215
- */
1216
- export declare type DocumentOptions = Partial<{
1217
- lazyLoading: boolean;
1218
- subscribeOnChanges: boolean;
1219
- }>;
1220
-
1221
1392
  export declare interface Drm {
1222
1393
  encryption: VideoSourceEncryption;
1223
1394
  /**
@@ -1237,12 +1408,6 @@ export declare interface Drm {
1237
1408
  }
1238
1409
 
1239
1410
  export declare enum DrmProvider {
1240
- /**
1241
- * Original oktagon stream provider.
1242
- *
1243
- * https://streamonline.pl
1244
- */
1245
- STREAMONLINE = "streamonline",
1246
1411
  /**
1247
1412
  * New stream provider for tivio. Also known as insys video technologies.
1248
1413
  *
@@ -1250,7 +1415,13 @@ export declare enum DrmProvider {
1250
1415
  * https://www.drm.cloud
1251
1416
  * https://videokit.cloud
1252
1417
  */
1253
- INSYS = "insys"
1418
+ INSYS = "insys",
1419
+ /**
1420
+ * Original oktagon stream provider.
1421
+ *
1422
+ * https://streamonline.pl
1423
+ */
1424
+ STREAMONLINE = "streamonline"
1254
1425
  }
1255
1426
 
1256
1427
  /**
@@ -1261,6 +1432,8 @@ export declare interface Duration {
1261
1432
  value: number;
1262
1433
  }
1263
1434
 
1435
+ declare type DurationUnit = duration.DurationUnitType & ('day' | 'week' | 'month' | 'year');
1436
+
1264
1437
  /**
1265
1438
  * @public
1266
1439
  */
@@ -1269,11 +1442,19 @@ export declare enum DurationUnits {
1269
1442
  MONTH = "month"
1270
1443
  }
1271
1444
 
1445
+ /**
1446
+ * Duration field using dayjs duration
1447
+ */
1448
+ export declare interface DurationWithUnit {
1449
+ value: number;
1450
+ unit: DurationUnit;
1451
+ }
1452
+
1272
1453
  /**
1273
1454
  * @public
1274
1455
  */
1275
- export declare interface EditCommentOptions extends Omit<AddCommentOptions, 'parentCommentId'> {
1276
- commentId: string;
1456
+ export declare interface EditMessageOptions extends Omit<AddMessageOptions, 'parentMessageId'> {
1457
+ messageId: string;
1277
1458
  text: string;
1278
1459
  videoTime?: number;
1279
1460
  }
@@ -1411,7 +1592,7 @@ export declare type ExternalTvConfig = {
1411
1592
  * @throws if fetch fails
1412
1593
  * @public
1413
1594
  */
1414
- export declare const fetchBundle: (secret: string, conf: InternalConfig) => Promise<string>;
1595
+ export declare const fetchBundle: (secret: string, conf: InternalConfig, checkBundleCharCount?: boolean) => Promise<string>;
1415
1596
 
1416
1597
  /**
1417
1598
  * Copyright (c) 2021, nangu.TV, a.s. All rights reserved.
@@ -1450,6 +1631,15 @@ export declare enum ForbiddenReason {
1450
1631
  GEO_BLOCKING = "GEO_BLOCKING"
1451
1632
  }
1452
1633
 
1634
+ /**
1635
+ * @public
1636
+ */
1637
+ export declare type FrequencyInfo = {
1638
+ title: Translation;
1639
+ unit: string;
1640
+ value: number;
1641
+ };
1642
+
1453
1643
  /**
1454
1644
  * On call error interface for front-end.
1455
1645
  * Do not use it / throw it from @tivio/api.
@@ -1577,6 +1767,10 @@ export declare interface GetSourceUrlRequest {
1577
1767
  * Returns url to manifest with audio only chunks.
1578
1768
  */
1579
1769
  audioOnly?: boolean;
1770
+ /**
1771
+ * Start time in ms, for live streams. Will return manifest with desired start.
1772
+ */
1773
+ startTimeMs?: number;
1580
1774
  }
1581
1775
 
1582
1776
  export declare interface GetSourceUrlResponse {
@@ -1600,10 +1794,28 @@ export declare interface GetSourceUrlResponse {
1600
1794
  * Returns url to manifest with audio only chunks.
1601
1795
  */
1602
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;
1603
1805
  }
1604
1806
 
1605
1807
  export declare type GetTilesInRowResponse<U extends NextPageParamType = NextPageParamType> = PaginatedResponse<TileData, U>;
1606
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
+
1607
1819
  export declare interface GetVideoAnalyticsErrorItem {
1608
1820
  count: number;
1609
1821
  timestamp: number;
@@ -1677,7 +1889,7 @@ export declare enum GRID_TYPES {
1677
1889
  */
1678
1890
  export declare interface HistoryContextData {
1679
1891
  history: string[];
1680
- backOrRedirectToRoot: () => void;
1892
+ backOrRedirectToRoot: (delta?: number) => void;
1681
1893
  }
1682
1894
 
1683
1895
  export declare type IncludedItem = {
@@ -1732,17 +1944,6 @@ export declare interface IndexedTvChannel extends IndexedObject {
1732
1944
  organizationPath: string;
1733
1945
  }
1734
1946
 
1735
- /**
1736
- * @public
1737
- */
1738
- export declare interface IndexedUser extends IndexedObject {
1739
- authUserId: string;
1740
- type: string;
1741
- externalUserId?: string;
1742
- email?: string;
1743
- organizationPath?: string;
1744
- }
1745
-
1746
1947
  /**
1747
1948
  * @public
1748
1949
  */
@@ -1852,6 +2053,10 @@ export declare function isChannelSource(source?: CommonSource | null): source is
1852
2053
  */
1853
2054
  export declare const isClassicChannelSource: (source?: CommonSource | null) => source is ChannelSourceInterface;
1854
2055
 
2056
+ export declare interface IsUserAlreadyRegisteredByTenantRequest {
2057
+ email: string;
2058
+ }
2059
+
1855
2060
  /**
1856
2061
  * @public
1857
2062
  */
@@ -1875,7 +2080,7 @@ export declare type ItemComponent = RowItemComponent | BannerItemComponent;
1875
2080
  /**
1876
2081
  * @public
1877
2082
  */
1878
- export declare type ItemInRow = Tag | Video | TvChannel | Advertisement | Application | Article;
2083
+ export declare type ItemInRow = Tag | Video | TvChannel | Advertisement | Application | Article | Series;
1879
2084
 
1880
2085
  /**
1881
2086
  * @public
@@ -1929,6 +2134,12 @@ export declare const languages: LangCode[];
1929
2134
  */
1930
2135
  export declare type LanguageType = `${LangCode}`;
1931
2136
 
2137
+ export declare interface LastMessage {
2138
+ from: string;
2139
+ text: string;
2140
+ createdAt: Date;
2141
+ }
2142
+
1932
2143
  /**
1933
2144
  * @public
1934
2145
  */
@@ -2050,7 +2261,8 @@ export declare enum LoginRedirect {
2050
2261
  PAYMENT = "payment",
2051
2262
  VOUCHER = "voucher",
2052
2263
  VOUCHER_PURCHASE = "voucherPurchase",
2053
- MAGENTA_MOMENTS = "magenta_moments"
2264
+ MAGENTA_MOMENTS = "magenta_moments",
2265
+ REMOTE_CONTROLLER = "remote-controller"
2054
2266
  }
2055
2267
 
2056
2268
  /**
@@ -2060,6 +2272,22 @@ export declare interface MallTvExternals {
2060
2272
  mallTvEntityId: string;
2061
2273
  }
2062
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
+
2063
2291
  /**
2064
2292
  * @public
2065
2293
  */
@@ -2083,11 +2311,53 @@ export declare interface MarkersProps {
2083
2311
  className?: string;
2084
2312
  }
2085
2313
 
2314
+ export declare enum MarkerType {
2315
+ MIDROLL = "midroll",
2316
+ POSTROLL = "postroll",
2317
+ PREROLL = "preroll",
2318
+ NONE = "none"
2319
+ }
2320
+
2086
2321
  declare type Membership = {
2087
2322
  id: string;
2088
2323
  type: string;
2089
2324
  };
2090
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
+
2091
2361
  /**
2092
2362
  * External information of video migrated via our Public API.
2093
2363
  * @public
@@ -2122,6 +2392,7 @@ export declare interface Monetization {
2122
2392
  name?: string;
2123
2393
  description?: string;
2124
2394
  organizationId?: string;
2395
+ order?: number;
2125
2396
  }
2126
2397
 
2127
2398
  /**
@@ -2180,6 +2451,10 @@ export declare interface MonetizationsCountsSummaryItem {
2180
2451
  * Count of active purchases for that date
2181
2452
  */
2182
2453
  count: number;
2454
+ /**
2455
+ * Gateway of the purchase
2456
+ */
2457
+ gateway: string;
2183
2458
  }
2184
2459
 
2185
2460
  /**
@@ -2240,6 +2515,18 @@ export declare interface MonetizationSummaryItem {
2240
2515
  * Count of payments cancelled in in the current period
2241
2516
  */
2242
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;
2243
2530
  /**
2244
2531
  * Count of payments made regularly like in the previous period
2245
2532
  */
@@ -2285,19 +2572,84 @@ export declare type NonAdSourceType = Exclude<SourceType, SourceType.ADVERTISEME
2285
2572
  declare interface Notification_2 {
2286
2573
  id: string;
2287
2574
  name: string;
2288
- targeting: UserGroup;
2575
+ targeting: NotificationTargeting | null;
2289
2576
  templateId: string;
2290
2577
  thumbnailUrl?: string;
2291
- triggerType: TriggerType;
2578
+ triggerType: NotificationTriggerType;
2579
+ scheduleTime?: Date;
2292
2580
  status?: NotificationStatus;
2581
+ substitutions: NotificationSubstitution[];
2293
2582
  }
2294
2583
  export { Notification_2 as Notification }
2295
2584
 
2585
+ export declare interface NotificationDuration {
2586
+ value: number;
2587
+ unit: dayjs.ManipulateType;
2588
+ }
2589
+
2590
+ export declare type NotificationFilterType = NotificationFirestoreFilterType | NotificationSurveyFilterType | NotificationLastActivityFilterType;
2591
+
2592
+ export declare type NotificationFirestoreFilterType = NotificationSubscriptionFilterType | NotificationMembershipFilterType;
2593
+
2594
+ export declare interface NotificationLastActivity {
2595
+ value: number;
2596
+ unit: 'DAY' | 'WEEK' | 'MONTH';
2597
+ }
2598
+
2599
+ export declare interface NotificationLastActivityFilterType {
2600
+ type: 'lastActivity';
2601
+ value: NotificationLastActivity;
2602
+ }
2603
+
2604
+ export declare interface NotificationMembershipFilterType {
2605
+ type: 'membership';
2606
+ value: {
2607
+ membershipId: string;
2608
+ isActive: boolean;
2609
+ };
2610
+ }
2611
+
2296
2612
  export declare enum NotificationStatus {
2613
+ AUTOMATIC = "automatic",
2614
+ DRAFT = "draft",
2297
2615
  PLANNED = "planned",
2298
- SENT = "sent"
2616
+ SENT = "sent",
2617
+ WAITING = "waiting",
2618
+ RUNNING = "running"
2619
+ }
2620
+
2621
+ export declare interface NotificationSubscriptionFilterType {
2622
+ type: 'subscription';
2623
+ value: {
2624
+ subscriptionId: string;
2625
+ isActive: boolean;
2626
+ };
2299
2627
  }
2300
2628
 
2629
+ export declare interface NotificationSubstitution {
2630
+ key: string;
2631
+ value: string;
2632
+ }
2633
+
2634
+ export declare interface NotificationSurveyFilterType {
2635
+ type: 'survey';
2636
+ value: {
2637
+ ageFrom: number;
2638
+ ageTo?: number;
2639
+ gender: 'm' | 'f' | 'all';
2640
+ };
2641
+ }
2642
+
2643
+ export declare interface NotificationTargeting {
2644
+ monetizationId: string;
2645
+ membershipId: string;
2646
+ isActive: boolean;
2647
+ from?: Date;
2648
+ to?: Date;
2649
+ }
2650
+
2651
+ export declare type NotificationTriggerType = 'scheduled' | 'manual' | 'purchaseStatusChange' | 'duration' | 'userRegistration';
2652
+
2301
2653
  /**
2302
2654
  * @public
2303
2655
  */
@@ -2358,6 +2710,80 @@ export declare interface Organization {
2358
2710
  logoLandscape: string | null;
2359
2711
  organizationBanner: string | null;
2360
2712
  profilePhoto: string | null;
2713
+ defaultLanguage?: string;
2714
+ }
2715
+
2716
+ export declare interface OrganizationInterface {
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
+ };
2361
2787
  }
2362
2788
 
2363
2789
  /**
@@ -2395,6 +2821,7 @@ export declare type PaginationInterface<Entity> = {
2395
2821
  fetchMore: () => void;
2396
2822
  hasNextPage?: boolean;
2397
2823
  loading?: boolean;
2824
+ initialLoading?: boolean;
2398
2825
  };
2399
2826
 
2400
2827
  /**
@@ -2766,6 +3193,7 @@ export declare interface PlayerInterface {
2766
3193
  */
2767
3194
  getNativeImaAdUrl?: () => string | null;
2768
3195
  lastQuality?: number | null;
3196
+ getQualities?: () => Track[];
2769
3197
  /**
2770
3198
  * Attribute indicating that the video is to be played "inline"
2771
3199
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Element/video#playsinline
@@ -2930,6 +3358,7 @@ export declare interface PlayerWrapper {
2930
3358
  changeVolumeBy: (volume: number) => void;
2931
3359
  setMuted: (muted: boolean) => void;
2932
3360
  toggleMuted: () => void;
3361
+ getQualities: () => Track[];
2933
3362
  }
2934
3363
 
2935
3364
  /**
@@ -2945,6 +3374,14 @@ export declare enum PlayerWrapperEventType {
2945
3374
  */
2946
3375
  export declare type PlayerWrapperEventTypeType = `${PlayerWrapperEventType}`;
2947
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
+
2948
3385
  /**
2949
3386
  * @public
2950
3387
  */
@@ -3001,6 +3438,7 @@ export declare interface PurchasableMonetization extends Monetization {
3001
3438
  price?: string | number;
3002
3439
  promotion: Promotion | null;
3003
3440
  frequency?: MONETIZATION_FREQUENCY;
3441
+ frequencyInfo?: FrequencyInfo;
3004
3442
  durationDays?: number;
3005
3443
  /**
3006
3444
  * Returns TRUE if subscription is purchased (and not expired) by user.
@@ -3031,6 +3469,15 @@ export declare interface PurchasableMonetization extends Monetization {
3031
3469
  * When set to true, subscription is hidden in UI (e.g. in MonetizationSelectOverlay).
3032
3470
  */
3033
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;
3034
3481
  }
3035
3482
 
3036
3483
  /**
@@ -3080,7 +3527,9 @@ export declare enum PurchaseDocumentGateway {
3080
3527
  'comgate' = "comgate",
3081
3528
  'tivio' = "tivio",
3082
3529
  'patreon' = "patreon",
3083
- 'paypal' = "paypal"
3530
+ 'paypal' = "paypal",
3531
+ 'unknown' = "unknown",
3532
+ 'stargaze' = "stargaze"
3084
3533
  }
3085
3534
 
3086
3535
  /**
@@ -3094,6 +3543,17 @@ export declare type PurchaseEndpointPayload = {
3094
3543
  * Information about the purchase which changes status to PAID.
3095
3544
  */
3096
3545
  purchase: {
3546
+ /**
3547
+ * See {@link LocationField["city"]["cityName"]} type.
3548
+ */
3549
+ cityName?: string;
3550
+ /**
3551
+ * See {@link LocationField["geoPoint"]} type. Here it is serialized from Firebase.GeoPoint type.
3552
+ */
3553
+ geoPoint?: {
3554
+ latitude: number;
3555
+ longitude: number;
3556
+ };
3097
3557
  /**
3098
3558
  * Two-letter upper-case continent code.
3099
3559
  */
@@ -3108,7 +3568,7 @@ export declare type PurchaseEndpointPayload = {
3108
3568
  */
3109
3569
  expiration?: number;
3110
3570
  /**
3111
- * If purchase was made outside of standard Tivio payment method (e.g PayPal), this is its ID.
3571
+ * Paypal Id, Qerko Id or Voucher Id based on the gateway.
3112
3572
  */
3113
3573
  externalId?: string;
3114
3574
  /**
@@ -3282,6 +3742,7 @@ export declare enum PurchaseStatus {
3282
3742
  export declare type PurchaseType = 'transaction' | 'subscription' | 'voucher';
3283
3743
 
3284
3744
  /**
3745
+ * TODO more generic name, since we support stargaze payment gateway as well
3285
3746
  * @public
3286
3747
  */
3287
3748
  export declare interface QerkoCancellationInfo {
@@ -3301,6 +3762,7 @@ export declare interface QerkoData {
3301
3762
  * Otherwise, user is making a purchase for himself.
3302
3763
  */
3303
3764
  voucherPurchase?: boolean;
3765
+ quantity?: number;
3304
3766
  onPurchase?: (paymentInfo: QerkoPaymentInfo | null) => void;
3305
3767
  onClose?: () => void;
3306
3768
  }
@@ -3321,18 +3783,20 @@ export declare interface QerkoOverlayState {
3321
3783
  }
3322
3784
 
3323
3785
  /**
3786
+ * TODO more generic name, since we support stargaze payment gateway as well
3324
3787
  * @public
3325
3788
  */
3326
3789
  export declare interface QerkoPaymentInfo {
3327
- webPaymentGatewayLink: string;
3328
- gatewayUri: string;
3329
- paymentQRCodeUri: string;
3790
+ webPaymentGatewayLink?: string;
3791
+ gatewayUri?: string;
3792
+ paymentQRCodeUri?: string;
3793
+ confirmationPaymentUrl?: string;
3330
3794
  purchaseId: string;
3331
3795
  currency: string;
3332
3796
  amount: number;
3333
- monetizationType: MonetizationType;
3797
+ monetizationType?: MonetizationType;
3334
3798
  recovery?: boolean;
3335
- monetizationFrequency: MONETIZATION_FREQUENCY;
3799
+ monetizationFrequency?: MONETIZATION_FREQUENCY;
3336
3800
  customToken?: string;
3337
3801
  }
3338
3802
 
@@ -3370,6 +3834,11 @@ export declare interface QerkoPaymentWebhookByApiKeyRequest {
3370
3834
  */
3371
3835
  userId: string;
3372
3836
  };
3837
+ items: {
3838
+ name: string;
3839
+ price: string;
3840
+ quantity: string;
3841
+ }[];
3373
3842
  };
3374
3843
  /**
3375
3844
  * Gateway where payment was made.
@@ -3382,6 +3851,7 @@ export declare interface QerkoPaymentWebhookByApiKeyRequest {
3382
3851
  }
3383
3852
 
3384
3853
  /**
3854
+ * TODO more generic name, since we support stargaze payment gateway as well
3385
3855
  * @public
3386
3856
  */
3387
3857
  export declare interface QerkoTransaction {
@@ -3392,6 +3862,27 @@ export declare interface QerkoTransaction {
3392
3862
  voucherId?: string;
3393
3863
  }
3394
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
+
3395
3886
  /**
3396
3887
  * @public
3397
3888
  */
@@ -3401,6 +3892,9 @@ export declare interface ReactableContent {
3401
3892
  [key in ReactionEnum]?: number;
3402
3893
  } | null;
3403
3894
  updateReactionCount: (reaction: ReactionEnum, newCount: number) => void;
3895
+ isFavorite?: boolean;
3896
+ removeFromFavorites?: () => void;
3897
+ addToFavorites?: () => void;
3404
3898
  }
3405
3899
 
3406
3900
  /**
@@ -3534,6 +4028,7 @@ export declare interface RouterOverrides {
3534
4028
  } | {
3535
4029
  gridType: GRID_TYPES.ROW;
3536
4030
  rowId: string;
4031
+ organizationId?: string;
3537
4032
  } | {
3538
4033
  gridType: GRID_TYPES.VIDEO;
3539
4034
  videoId: string;
@@ -3547,6 +4042,7 @@ export declare interface RouterOverrides {
3547
4042
  email?: string;
3548
4043
  urlHandle?: string;
3549
4044
  replace?: boolean;
4045
+ params?: string;
3550
4046
  }) => void;
3551
4047
  goToRegistrationPage: (options?: {
3552
4048
  origin?: RegistrationRedirect;
@@ -3555,6 +4051,7 @@ export declare interface RouterOverrides {
3555
4051
  goBack: () => void;
3556
4052
  goLivePlayer: (tvChannelId: string) => void;
3557
4053
  goVodPlayer: (videoIdOrUrlName: string) => void;
4054
+ goToConversationPage: (conversationId: string) => void;
3558
4055
  goToHome: (user?: any, activeUserProfileId?: string) => void;
3559
4056
  goToRoute: (route: string) => void;
3560
4057
  goToArticle: (id: string, applicationUrlHandle?: string) => void;
@@ -3562,6 +4059,8 @@ export declare interface RouterOverrides {
3562
4059
  goToRecommendedFromOrganizationRow: (screenId: string, rowId: string) => void;
3563
4060
  goToMagentaMomentsPage: (voucher?: string) => void;
3564
4061
  goToVoucherRedeemPage: () => void;
4062
+ updateParams: (params: URLSearchParams) => void;
4063
+ navigate: (path: string) => void;
3565
4064
  }
3566
4065
 
3567
4066
  /**
@@ -3594,6 +4093,8 @@ export declare interface Row {
3594
4093
  rowComponent: RowComponent.ROW | RowComponent.BANNER;
3595
4094
  itemComponent: RowItemComponent | BannerItemComponent;
3596
4095
  organizationId?: string;
4096
+ bottomComponent?: BottomComponent;
4097
+ showDescriptionAsTitle?: boolean;
3597
4098
  }
3598
4099
 
3599
4100
  /**
@@ -3605,7 +4106,8 @@ export declare enum ROW_ITEM_TYPES {
3605
4106
  TAG = "TAG",
3606
4107
  TV_CHANNEL = "TV_CHANNEL",
3607
4108
  ADVERTISEMENT = "ADVERTISEMENT",
3608
- ARTICLE = "ARTICLE"
4109
+ ARTICLE = "ARTICLE",
4110
+ SERIES = "SERIES"
3609
4111
  }
3610
4112
 
3611
4113
  /**
@@ -3631,7 +4133,8 @@ export declare enum RowFilterCollection {
3631
4133
  */
3632
4134
  TAGS = "tags",
3633
4135
  TV_CHANNELS = "tvChannels",
3634
- CONTENTS = "contents"
4136
+ CONTENTS = "contents",
4137
+ APPLICATIONS = "applications"
3635
4138
  }
3636
4139
 
3637
4140
  /**
@@ -3699,6 +4202,18 @@ export declare type RowInScreen = {
3699
4202
  * Items to display in the row.
3700
4203
  */
3701
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;
3702
4217
  };
3703
4218
 
3704
4219
  /**
@@ -3809,6 +4324,10 @@ export declare type ScalableAsset = {
3809
4324
  */
3810
4325
  export declare type Scale = '@1' | '@2' | '@3';
3811
4326
 
4327
+ export declare interface ScheduleNotificationRequest {
4328
+ notificationPath: string;
4329
+ }
4330
+
3812
4331
  /**
3813
4332
  * @public
3814
4333
  */
@@ -3881,7 +4400,8 @@ export declare enum ScreenType {
3881
4400
  GRID = "grid",
3882
4401
  EMBED = "embed",
3883
4402
  RECOMMENDATION = "recommendation",
3884
- FEED = "feed"
4403
+ FEED = "feed",
4404
+ EPG = "epg"
3885
4405
  }
3886
4406
 
3887
4407
  /**
@@ -3916,6 +4436,31 @@ export declare interface Section {
3916
4436
  videos: Video[];
3917
4437
  }
3918
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
+
3919
4464
  export declare enum SemanticDate {
3920
4465
  YESTERDAY = "Yesterday",
3921
4466
  TODAY = "Today",
@@ -3928,6 +4473,63 @@ export declare interface SendFinalizeRegistrationEmailPayload {
3928
4473
  authUserId: string;
3929
4474
  }
3930
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
+
4494
+ export declare interface SendTivioTemplateEmailRequest {
4495
+ notificationId: string;
4496
+ organizationId: string;
4497
+ testEmailAddress?: string;
4498
+ }
4499
+
4500
+ /**
4501
+ * @public
4502
+ */
4503
+ export declare interface Series extends RowItem, MonetizableItem, ReactableContent {
4504
+ id: string;
4505
+ itemType: ROW_ITEM_TYPES.SERIES;
4506
+ cover: string;
4507
+ organizationId?: string;
4508
+ /**
4509
+ * Only used for non migrated series
4510
+ */
4511
+ originalSeriesTagRef?: any;
4512
+ ref: DocumentReference<any>;
4513
+ availableSeasons: AvailableSeason[];
4514
+ actors?: DocumentReference<any>[];
4515
+ linkedContent?: {
4516
+ type: ContentType;
4517
+ contentRef: DocumentReference<any>;
4518
+ }[];
4519
+ seriesDetailArticle?: Article;
4520
+ originalTagId?: string;
4521
+ }
4522
+
4523
+ export declare interface SeriesTileSpecificData {
4524
+ organizationId: string;
4525
+ assets?: AssetsField;
4526
+ availableSeasons: AvailableSeason[];
4527
+ }
4528
+
4529
+ export declare interface SetCustomClaimsRequest {
4530
+ organizationId: string;
4531
+ }
4532
+
3931
4533
  /**
3932
4534
  * Used for entities, that can be global (e.g. asset presets, tag types).
3933
4535
  * Non-global is stored under organizations (in sub-collection), and shown for organization's users and super-admin.
@@ -3953,13 +4555,20 @@ export declare const setUser: (userId: string | null, payload?: UserPayload) =>
3953
4555
  */
3954
4556
  export declare const showGdprConsentPreferences: () => Promise<void>;
3955
4557
 
4558
+ /**
4559
+ * @public
4560
+ */
4561
+ export declare type SignInProvider = 'google' | 'patreon' | 'apple';
4562
+
3956
4563
  export declare enum SocialNetworks {
3957
4564
  FACEBOOK = 0,
3958
4565
  INSTAGRAM = 1,
3959
4566
  TWITTER = 2,
3960
4567
  LINKED_IN = 3,
3961
4568
  EMAIL = 4,
3962
- YOUTUBE = 5
4569
+ YOUTUBE = 5,
4570
+ THREADS = 6,
4571
+ TIKTOK = 7
3963
4572
  }
3964
4573
 
3965
4574
  /**
@@ -4017,6 +4626,16 @@ export declare enum SourceType {
4017
4626
  VOD_EXTERNAL = "vod_external"
4018
4627
  }
4019
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
+
4020
4639
  /**
4021
4640
  * @public
4022
4641
  */
@@ -4055,10 +4674,16 @@ export declare interface StoreBadgeConfig {
4055
4674
  appId: string;
4056
4675
  }
4057
4676
 
4677
+ export declare interface SubmitAnswerResponse {
4678
+ id: string;
4679
+ receivedTimestamp: number;
4680
+ leaderboardScore?: number;
4681
+ }
4682
+
4058
4683
  /**
4059
4684
  * @public
4060
4685
  */
4061
- 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;
4062
4687
 
4063
4688
  /**
4064
4689
  * @public
@@ -4077,7 +4702,21 @@ export declare type SubscribeToRowsInScreen = (screenId: string, cb: (error: Err
4077
4702
  /**
4078
4703
  * @public
4079
4704
  */
4080
- export declare type SubscribeToTaggedVideos = (tagIds: string[], cb: (error: Error | null, data: PaginationInterface<Video> | null) => void, options?: SubscribeToTaggedVideosOptions) => Disposer_2;
4705
+ export declare type SubscribeToSeriesEpisodes = (seriesRef: any, cb: (error: Error | null, data: PaginationInterface<Video> | null) => void, options?: SubscribeToSeriesEpisodesOptions) => Disposer_2;
4706
+
4707
+ /**
4708
+ * @public
4709
+ */
4710
+ export declare type SubscribeToSeriesEpisodesOptions = Omit<SubscribeToItemsInRowOptions, 'orderBy'> & {
4711
+ orderBy?: OrderBy<TaggedVideosOrderByField>[];
4712
+ };
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
+
4716
+ /**
4717
+ * @public
4718
+ */
4719
+ export declare type SubscribeToTaggedVideos = (tagIds: string[], cb: (error: Error | null, data: PaginationInterface<Video> | null) => void, options?: SubscribeToTaggedVideosOptions, organizationPath?: string) => Disposer_2;
4081
4720
 
4082
4721
  /**
4083
4722
  * @public
@@ -4120,6 +4759,15 @@ export declare interface Tag extends RowItem {
4120
4759
  removeFromFavorites: () => void;
4121
4760
  cover: string;
4122
4761
  getApplicationName: () => string | undefined;
4762
+ seriesRef?: DocumentReference<any>;
4763
+ fetchData: () => Promise<void>;
4764
+ getSeriesEntity: (path: string) => Promise<Series>;
4765
+ ref: DocumentReference<any>;
4766
+ seriesEntity: Series | null;
4767
+ tagType: {
4768
+ tagTypeId: string | null;
4769
+ } | null;
4770
+ initSeries: () => Promise<void>;
4123
4771
  }
4124
4772
 
4125
4773
  export declare interface TagAvailableSeasonsFieldType extends TagMetadataFieldDefinition {
@@ -4185,6 +4833,7 @@ export declare interface TagTileSpecificData {
4185
4833
  metadata: TagMetadataField[];
4186
4834
  simplicity: TagSimplicityType;
4187
4835
  tagTypePath?: string;
4836
+ description?: string;
4188
4837
  }
4189
4838
 
4190
4839
  export declare interface TagTranslationFieldType extends TagMetadataFieldDefinition {
@@ -4192,6 +4841,8 @@ export declare interface TagTranslationFieldType extends TagMetadataFieldDefinit
4192
4841
  value: Translation;
4193
4842
  }
4194
4843
 
4844
+ export declare type TemplateSubstitutionType = 'text' | 'html' | 'image' | 'video';
4845
+
4195
4846
  export declare type Tier = {
4196
4847
  attributes: {
4197
4848
  amount_cents: number;
@@ -4215,9 +4866,10 @@ export declare interface TileApplicationData {
4215
4866
  organizationId: string;
4216
4867
  type: ApplicationType;
4217
4868
  profilePhoto?: string;
4869
+ isMainApplication?: boolean;
4218
4870
  }
4219
4871
 
4220
- export declare interface TileData<ItemSpecificData = VideoTileSpecificData | TvChannelTileSpecificData | TagTileSpecificData | ArticleTileSpecificData> {
4872
+ export declare interface TileData<ItemSpecificData = VideoTileSpecificData | TvChannelTileSpecificData | TagTileSpecificData | ArticleTileSpecificData | SeriesTileSpecificData> {
4221
4873
  /**
4222
4874
  * Tile item ID.
4223
4875
  */
@@ -4248,6 +4900,13 @@ export declare interface TileData<ItemSpecificData = VideoTileSpecificData | TvC
4248
4900
  itemSpecificData: ItemSpecificData;
4249
4901
  }
4250
4902
 
4903
+ declare interface TileMonetizationData {
4904
+ id: string;
4905
+ path: string;
4906
+ placementType: 'channel' | 'tvChannel' | 'condition' | 'video' | 'section' | 'row';
4907
+ type: MonetizationType;
4908
+ }
4909
+
4251
4910
  /**
4252
4911
  * @internal
4253
4912
  */
@@ -4304,8 +4963,12 @@ export declare interface TileProps {
4304
4963
  cover?: string;
4305
4964
  bottomLabel: string;
4306
4965
  bottomLabelAreaHeight: number;
4307
- bottomComponent?: React_2.ReactNode;
4966
+ bottomItem?: React_2.ReactNode;
4308
4967
  innerLabel: string;
4968
+ /**
4969
+ * Override font size of component type specific tile based on viewport width
4970
+ */
4971
+ innerLabelFontSize?: number;
4309
4972
  duration: string;
4310
4973
  price: string | null;
4311
4974
  focused: boolean;
@@ -4332,6 +4995,11 @@ export declare interface TileProps {
4332
4995
  hasBranding?: boolean;
4333
4996
  applicationHandle?: string;
4334
4997
  fullWidth?: boolean;
4998
+ bottomComponent?: BottomComponent;
4999
+ showAlreadyWatchedOverlay?: boolean;
5000
+ itemType?: ROW_ITEM_TYPES;
5001
+ description?: string;
5002
+ showDescriptionAsTitle?: boolean;
4335
5003
  }
4336
5004
 
4337
5005
  /**
@@ -4353,6 +5021,12 @@ export declare interface TileSizes {
4353
5021
  * Now only bottom label supports multiline text.
4354
5022
  */
4355
5023
  labelLinesCount: number;
5024
+ innerLabel?: {
5025
+ /**
5026
+ * Font size in px
5027
+ */
5028
+ fontSize: number;
5029
+ };
4356
5030
  }
4357
5031
 
4358
5032
  /**
@@ -4549,7 +5223,7 @@ export declare type TivioHooks = {
4549
5223
  useAd: () => [(AdExternal | null)];
4550
5224
  useAdSegment: () => AdSegment_2 | null;
4551
5225
  useCancelSubscription: UseCancelSubscription;
4552
- useItemsInRow: (rowId?: string, options?: PaginationOptions) => {
5226
+ useItemsInRow: ({ rowId, organizationId, options }: UseItemsInRow) => {
4553
5227
  pagination: PaginationInterface<ItemInRow> | null;
4554
5228
  error: Error | null;
4555
5229
  };
@@ -4910,6 +5584,15 @@ export declare interface TivioWidgetRef {
4910
5584
  });
4911
5585
  }
4912
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
+
4913
5596
  export declare interface TopWatchItem {
4914
5597
  videoId: string;
4915
5598
  /**
@@ -4934,12 +5617,13 @@ export declare interface TopWatchItem {
4934
5617
  * @public
4935
5618
  * Video track
4936
5619
  */
4937
- declare interface Track {
5620
+ export declare interface Track {
4938
5621
  id: number;
4939
5622
  /**
4940
5623
  * e.g. 480, 720, 1080
4941
5624
  */
4942
5625
  height: number;
5626
+ width: number;
4943
5627
  active: boolean;
4944
5628
  language: LangCode;
4945
5629
  }
@@ -4960,8 +5644,6 @@ export declare type Translation = {
4960
5644
  [key in LangCode]?: string;
4961
5645
  };
4962
5646
 
4963
- export declare type TriggerType = 'scheduled' | 'manual';
4964
-
4965
5647
  /**
4966
5648
  * @public
4967
5649
  */
@@ -5012,6 +5694,7 @@ export declare interface TvChannelTileSpecificData {
5012
5694
  sources: VideoSourceField[];
5013
5695
  organizationId: string;
5014
5696
  assets?: AssetsField<TvChannelAssetValue>;
5697
+ monetizations?: TileMonetizationData[];
5015
5698
  }
5016
5699
 
5017
5700
  export declare enum TvChannelType {
@@ -5040,6 +5723,8 @@ export declare interface TvProgram {
5040
5723
  image: string;
5041
5724
  landscape?: string | null;
5042
5725
  video: Video | null;
5726
+ tvChannelRef?: any;
5727
+ loadVideo?: () => Promise<void>;
5043
5728
  }
5044
5729
 
5045
5730
  /**
@@ -5171,39 +5856,18 @@ export declare const useChannelSource: (tvChannelId: string) => {
5171
5856
 
5172
5857
  /**
5173
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
5174
5863
  */
5175
- export declare type UseComments = (options: UseCommentsOptions) => {
5176
- pagination: PaginationInterface<Comment_2>;
5177
- addComment: (options: AddCommentOptions) => Promise<UseCommentsAddEditCommentResponse>;
5178
- editComment: (options: EditCommentOptions) => Promise<UseCommentsAddEditCommentResponse>;
5179
- 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>;
5180
5869
  };
5181
5870
 
5182
- /**
5183
- * @public
5184
- */
5185
- export declare interface UseCommentsAddEditCommentResponse {
5186
- id?: string;
5187
- error?: string;
5188
- }
5189
-
5190
- /**
5191
- * @public
5192
- */
5193
- export declare interface UseCommentsDeleteCommentResponse {
5194
- deleted?: boolean;
5195
- error?: string;
5196
- }
5197
-
5198
- /**
5199
- * @public
5200
- */
5201
- export declare interface UseCommentsOptions {
5202
- videoId: string;
5203
- mainParentId?: string;
5204
- autoInit?: boolean;
5205
- }
5206
-
5207
5871
  /**
5208
5872
  * @public
5209
5873
  */
@@ -5259,13 +5923,22 @@ export declare const useIsMonetizationPurchased: () => {
5259
5923
  isOneOfSubscriptionPurchased: (subscriptionIds: string[]) => boolean;
5260
5924
  };
5261
5925
 
5926
+ /**
5927
+ * @public
5928
+ */
5929
+ export declare interface UseItemsInRow {
5930
+ rowId?: string;
5931
+ organizationId?: string;
5932
+ options?: SubscribeToItemsInRowOptions;
5933
+ }
5934
+
5262
5935
  /**
5263
5936
  * Use row items
5264
5937
  * @param rowId - row ID
5265
5938
  * @param options - subscription options
5266
5939
  * @public
5267
5940
  */
5268
- export declare const useItemsInRow: (rowId?: string, options?: SubscribeToItemsInRowOptions) => {
5941
+ export declare const useItemsInRow: ({ rowId, organizationId, options, }: UseItemsInRow) => {
5269
5942
  pagination: PaginationInterface<ItemInRow> | null;
5270
5943
  error: Error | null;
5271
5944
  };
@@ -5275,6 +5948,40 @@ export declare const useItemsInRow: (rowId?: string, options?: SubscribeToItemsI
5275
5948
  */
5276
5949
  export declare const useMarkers: () => Marker[] | null;
5277
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
+
5278
5985
  /**
5279
5986
  * @public
5280
5987
  *
@@ -5339,7 +6046,7 @@ export declare type User = {
5339
6046
  * Returns last expired subscription which user can renew or undefined
5340
6047
  */
5341
6048
  extendableSubscription?: Purchase;
5342
- getPurchasedVideos: () => Video[];
6049
+ getPurchasedVideos: () => unknown[];
5343
6050
  getOneTimePurchases: () => Purchase[];
5344
6051
  isPurchasesInitialized: boolean;
5345
6052
  isSignedIn: boolean;
@@ -5362,12 +6069,19 @@ export declare type User = {
5362
6069
  followedOrganizationIds: string[];
5363
6070
  isAnonymous: boolean;
5364
6071
  isDiscordConnected: boolean;
6072
+ disconnectDiscord: () => Promise<void>;
5365
6073
  createUserProfile: (request: any) => Promise<void>;
5366
6074
  deleteUserProfile: (profileId: string) => Promise<void>;
5367
6075
  setActiveUserProfileId: (id: string) => void;
5368
6076
  getFollowedOrganizations: () => Promise<Array<FollowedOrganizationData | undefined>>;
5369
6077
  sendFinalizeRegistrationEmail: (email: string) => Promise<void>;
5370
- 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;
5371
6085
  };
5372
6086
 
5373
6087
  /**
@@ -5398,7 +6112,7 @@ export declare enum UserGroup {
5398
6112
  /**
5399
6113
  * @public
5400
6114
  */
5401
- export declare type UseRow = (rowId: string | null) => {
6115
+ export declare type UseRow = (rowId: string | null, organizationId?: string) => {
5402
6116
  row: Row | null;
5403
6117
  error: Error | null;
5404
6118
  };
@@ -5416,6 +6130,24 @@ export declare const useRowsInScreen: (screenId: string, options?: PaginationOpt
5416
6130
  */
5417
6131
  export declare type UserPayload = Record<string, any>;
5418
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
+
5419
6151
  /**
5420
6152
  * @public
5421
6153
  */
@@ -5424,6 +6156,34 @@ export declare enum UserType {
5424
6156
  TIVIO_USER = "TIVIO_USER"
5425
6157
  }
5426
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
+
5427
6187
  /**
5428
6188
  * @public
5429
6189
  */
@@ -5572,6 +6332,9 @@ export declare type VastApiFramework = string | 'VPAID' | null;
5572
6332
  */
5573
6333
  export declare enum VastProvider {
5574
6334
  CNC_PREBID = "cnc-prebid",
6335
+ CNC_STARGAZE_PREROLL_1 = "cnc-stargaze-preroll-1",
6336
+ CNC_STARGAZE_PREROLL_2 = "cnc-stargaze-preroll-2",
6337
+ CNC_STARGAZE_MIDROLL = "cnc-stargaze-midroll",
5575
6338
  ETARGET_PREBID = "etarget-prebid",
5576
6339
  FALLBACK_HLS = "fallback-hls",
5577
6340
  FALLBACK_MP4 = "fallback",
@@ -5629,15 +6392,7 @@ export declare interface Video extends RowItem, MonetizableItem, ReactableConten
5629
6392
  }): Promise<GetSourceUrlResponse & {
5630
6393
  language?: LangCode;
5631
6394
  }>;
5632
- getSeekingMatrixPreviewByTime(timeMs: number, offsetIndex?: number): {
5633
- url: string;
5634
- x: number;
5635
- y: number;
5636
- width: number;
5637
- height: number;
5638
- interval: number;
5639
- timeMs: number;
5640
- } | null;
6395
+ getSeekingMatrixPreviewByTime(timeMs: number, offsetIndex?: number): SeekingMatrix | null;
5641
6396
  purchasableMonetization: any | null;
5642
6397
  transaction: PurchasableMonetization | undefined;
5643
6398
  subscriptions: PurchasableMonetization[];
@@ -5684,6 +6439,13 @@ export declare interface Video extends RowItem, MonetizableItem, ReactableConten
5684
6439
  setApplicationData: (applicationData: RowItemApplicationData) => void;
5685
6440
  linkedVideosInNotLoaded: () => boolean | undefined;
5686
6441
  initApplication: () => Promise<void>;
6442
+ init: () => Promise<void>;
6443
+ progress?: number;
6444
+ backgroundBlurBannerMobile?: string | null;
6445
+ isWatched?: boolean;
6446
+ pgRating?: string;
6447
+ contentDescriptors?: string[];
6448
+ publishedStatus?: PublishedStatus;
5687
6449
  }
5688
6450
 
5689
6451
  /**
@@ -5698,18 +6460,45 @@ export declare enum VideoContentType {
5698
6460
  SERIES = "SERIES"
5699
6461
  }
5700
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
+
5701
6478
  /**
5702
6479
  * @public
5703
6480
  */
5704
- export declare type VideoExternals = (JojExternals | MallTvExternals | OktagonExternals | MigratedVideoExternals) & {
6481
+ export declare type VideoExternals = (JojExternals | MallTvExternals | OktagonExternals | MigratedVideoExternals | SportyExternals) & {
5705
6482
  channelKey?: string;
5706
6483
  };
5707
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
+
5708
6496
  declare type VideoPath = string;
5709
6497
 
5710
6498
  export declare enum VideoSourceCodec {
5711
6499
  H264 = "h264",
5712
- H265 = "h265"
6500
+ H265 = "h265",
6501
+ MPEG_2 = "MPEG-2"
5713
6502
  }
5714
6503
 
5715
6504
  export declare enum VideoSourceEncryption {
@@ -5734,8 +6523,24 @@ export declare interface VideoSourceField {
5734
6523
  */
5735
6524
  priority: VideoSourcePriority;
5736
6525
  protocol: VideoSourceProtocol;
6526
+ provider?: VideoSourceProvider;
5737
6527
  url: string;
5738
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;
5739
6544
  }
5740
6545
 
5741
6546
  /**
@@ -5746,15 +6551,28 @@ export declare type VideoSourcePriority = 1 | 2 | 3 | 4 | 5;
5746
6551
  export declare enum VideoSourceProtocol {
5747
6552
  HLS = "hls",
5748
6553
  DASH = "dash",
5749
- MP4 = "mp4"
6554
+ MP4 = "mp4",
6555
+ MP3 = "mp3"
6556
+ }
6557
+
6558
+ export declare enum VideoSourceProvider {
6559
+ AWS = "aws",
6560
+ CLOUDFLARE = "cloudflare",
6561
+ NANGU = "nangu"
5750
6562
  }
5751
6563
 
6564
+ declare type VideoTileMonetizationData = TileMonetizationData & {
6565
+ expirationDaysSincePublished?: number;
6566
+ };
6567
+
5752
6568
  export declare interface VideoTileSpecificData {
5753
6569
  cover?: string;
5754
6570
  assets?: AssetsField;
5755
6571
  episodeNumber?: number;
5756
6572
  seasonNumber?: number;
5757
6573
  urlName?: VideoUrlNames;
6574
+ monetizations?: VideoTileMonetizationData[];
6575
+ description?: Translation;
5758
6576
  }
5759
6577
 
5760
6578
  /**
@@ -5814,7 +6632,11 @@ export declare enum VideoType {
5814
6632
  /**
5815
6633
  * Video that is in locked state and is used in virtual channel EPG.
5816
6634
  */
5817
- 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"
5818
6640
  }
5819
6641
 
5820
6642
  /**
@@ -6017,6 +6839,11 @@ export declare interface WebConfig {
6017
6839
  email?: string;
6018
6840
  };
6019
6841
  cookieSettingsLabel?: string;
6842
+ partners?: {
6843
+ name: string;
6844
+ logo: string;
6845
+ url?: string;
6846
+ }[];
6020
6847
  };
6021
6848
  theme?: {
6022
6849
  headerType?: PaletteType;
@@ -6094,6 +6921,7 @@ export declare interface WebConfig {
6094
6921
  };
6095
6922
  payment?: {
6096
6923
  paymentConsent?: string;
6924
+ paymentRenewalConsent?: boolean;
6097
6925
  };
6098
6926
  /**
6099
6927
  * If web supports entering vouchers
@@ -6146,6 +6974,11 @@ export declare interface WebConfig {
6146
6974
  * If true, robots.txt will prevent crawling of the website.
6147
6975
  */
6148
6976
  norobots?: boolean;
6977
+ customTranslations?: {
6978
+ [key: string]: {
6979
+ [key: string]: string;
6980
+ };
6981
+ };
6149
6982
  }
6150
6983
 
6151
6984
  /**
@@ -6251,6 +7084,7 @@ export declare interface WebPlayerProps {
6251
7084
  */
6252
7085
  disablePlayNext?: boolean;
6253
7086
  setPaymentOverlayVisible?: React_2.Dispatch<React_2.SetStateAction<boolean>>;
7087
+ hideOverlay?: boolean;
6254
7088
  }
6255
7089
 
6256
7090
  /**