@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.
package/dist/index.d.ts CHANGED
@@ -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
  */
@@ -550,6 +602,12 @@ export declare const bundlePromise: Promise<RemoteBundleState>;
550
602
  */
551
603
  export declare type Callback<T = any> = (arg?: T) => void;
552
604
 
605
+ export declare interface CancellingMonetizationsSummaryItem {
606
+ date: number;
607
+ monetizationId: string;
608
+ cancellingUsers: number;
609
+ }
610
+
553
611
  /**
554
612
  * @public
555
613
  * @deprecated this channel structure is not used anymore (don't confuse with tv channels, which are used).
@@ -596,35 +654,17 @@ export declare interface ChannelSourceParams extends PlayerSourceParams<SourceTy
596
654
  */
597
655
  export declare type Chapter = any;
598
656
 
599
- /**
600
- * @public
601
- */
602
- export declare type CmpConfig = 'default' | 'debug' | 'none';
603
-
604
- /**
605
- * @public
606
- */
607
- declare interface Comment_2 {
608
- id: string;
609
- text: string;
610
- videoTime: number | null;
611
- createdAt: Date;
612
- editedAt: Date | null;
613
- user: CommentUser | null;
614
- reactions: Record<string, number> | null;
615
- repliesCount: number | null;
616
- isReady: boolean;
617
- updateRepliesCount: (increment: boolean) => void;
657
+ export declare interface ChurnedMonetizationsSummaryItem {
658
+ date: number;
659
+ monetizationId: string;
660
+ canceledUsers: number;
661
+ expiredUsers: number;
618
662
  }
619
- export { Comment_2 as Comment }
620
663
 
621
664
  /**
622
665
  * @public
623
666
  */
624
- export declare interface CommentUser {
625
- name: string;
626
- avatarUrl: string | null;
627
- }
667
+ export declare type CmpConfig = 'default' | 'debug' | 'none';
628
668
 
629
669
  /**
630
670
  * TODO same name as core-js entity, not convenient
@@ -727,6 +767,16 @@ export declare interface ContentAvailability {
727
767
  manual: boolean;
728
768
  }
729
769
 
770
+ /**
771
+ * @public
772
+ */
773
+ export declare type ContentOrConversationId = {
774
+ contentId: string;
775
+ contentType?: 'video' | 'article';
776
+ } | {
777
+ conversationId: string;
778
+ };
779
+
730
780
  /**
731
781
  * @public
732
782
  */
@@ -748,11 +798,76 @@ export declare interface ContentSortPickerProps {
748
798
  onChange: (value: ContentSortEnum) => void;
749
799
  }
750
800
 
801
+ export declare type ContentType = 'ARTICLE' | 'VIDEO' | 'SERIES' | 'EPISODE';
802
+
751
803
  /**
752
804
  * @public
753
805
  */
754
806
  export declare type ContinuePosition = number | null | Promise<number | null>;
755
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
+
756
871
  /**
757
872
  * Entity aggregate conversion statistics per day
758
873
  * TODO in future change structure, new used like array item
@@ -845,12 +960,12 @@ export declare const createPubSub: () => PubSub;
845
960
  * Fetch & load CommonJS remote module.
846
961
  * @public
847
962
  */
848
- export declare const createRemotePackageLoader: () => (secret: string, conf: InternalConfig) => Promise<TivioBundle>;
963
+ export declare const createRemotePackageLoader: () => (secret: string, conf: InternalConfig, checkBundleCharCount?: boolean) => Promise<TivioBundle>;
849
964
 
850
965
  /**
851
966
  * @public
852
967
  */
853
- export declare const createUseRemoteBundle: () => (conf: InternalConfig) => RemoteBundleState;
968
+ export declare const createUseRemoteBundle: () => (conf: InternalConfig, checkBundleCharCount?: boolean) => RemoteBundleState;
854
969
 
855
970
  export declare interface CreateUserPayload {
856
971
  displayName?: string;
@@ -900,6 +1015,7 @@ export declare enum CustomerId {
900
1015
  CNC = "CNC",
901
1016
  DVTV = "DVTV",
902
1017
  DVTV_DEV = "DVTV_DEV",
1018
+ DVTV_SK = "DVTV_SK",
903
1019
  GARAZ = "GARAZ",
904
1020
  GRAPE = "GRAPE",
905
1021
  HODINA_DEJEPICHU = "HODINA_DEJEPICHU",
@@ -924,7 +1040,29 @@ export declare enum CustomerId {
924
1040
  VIRTUAL_CHANNEL_VIDEOS = "VIRTUAL_CHANNEL_VIDEOS",
925
1041
  VOJTA_ZIZKA = "VOJTA_ZIZKA",
926
1042
  LIGA_NARUBY = "LIGA_NARUBY",
927
- VIC_NEZ_SI_MYSLITE = "VIC_NEZ_SI_MYSLITE"
1043
+ VIC_NEZ_SI_MYSLITE = "VIC_NEZ_SI_MYSLITE",
1044
+ ZIMAK = "ZIMAK",
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"
928
1066
  }
929
1067
 
930
1068
  export declare interface CustomScript {
@@ -990,6 +1128,23 @@ export declare type DeviceInfo = ArrisDeviceInfo | ReactNativeDeviceInfo;
990
1128
  */
991
1129
  export declare type DeviceOs = OperatingSystem | 'Tizen' | 'webOS' | 'Arris' | 'Android TV' | 'tvOS';
992
1130
 
1131
+ /**
1132
+ * Window object with Didomi SDK properties.
1133
+ */
1134
+ export declare interface DidomiWindow {
1135
+ didomiEventListeners: Array<{
1136
+ event: string;
1137
+ listener: () => void;
1138
+ }>;
1139
+ /**
1140
+ * The window.didomiOnReady callbacks are called after the SDK
1141
+ * is initialized and has loaded its configuration.
1142
+ *
1143
+ * https://developers.didomi.io/cmp/web-sdk/reference/api
1144
+ */
1145
+ didomiOnReady: (() => void)[];
1146
+ }
1147
+
993
1148
  /**
994
1149
  * @public
995
1150
  */
@@ -1008,14 +1163,6 @@ export declare interface DividerProps {
1008
1163
  horizontalSpacing?: number;
1009
1164
  }
1010
1165
 
1011
- /**
1012
- * @public
1013
- */
1014
- export declare type DocumentOptions = Partial<{
1015
- lazyLoading: boolean;
1016
- subscribeOnChanges: boolean;
1017
- }>;
1018
-
1019
1166
  export declare interface Drm {
1020
1167
  encryption: VideoSourceEncryption;
1021
1168
  /**
@@ -1035,12 +1182,6 @@ export declare interface Drm {
1035
1182
  }
1036
1183
 
1037
1184
  export declare enum DrmProvider {
1038
- /**
1039
- * Original oktagon stream provider.
1040
- *
1041
- * https://streamonline.pl
1042
- */
1043
- STREAMONLINE = "streamonline",
1044
1185
  /**
1045
1186
  * New stream provider for tivio. Also known as insys video technologies.
1046
1187
  *
@@ -1048,7 +1189,13 @@ export declare enum DrmProvider {
1048
1189
  * https://www.drm.cloud
1049
1190
  * https://videokit.cloud
1050
1191
  */
1051
- INSYS = "insys"
1192
+ INSYS = "insys",
1193
+ /**
1194
+ * Original oktagon stream provider.
1195
+ *
1196
+ * https://streamonline.pl
1197
+ */
1198
+ STREAMONLINE = "streamonline"
1052
1199
  }
1053
1200
 
1054
1201
  /**
@@ -1059,6 +1206,8 @@ export declare interface Duration {
1059
1206
  value: number;
1060
1207
  }
1061
1208
 
1209
+ declare type DurationUnit = duration.DurationUnitType & ('day' | 'week' | 'month' | 'year');
1210
+
1062
1211
  /**
1063
1212
  * @public
1064
1213
  */
@@ -1067,11 +1216,19 @@ export declare enum DurationUnits {
1067
1216
  MONTH = "month"
1068
1217
  }
1069
1218
 
1219
+ /**
1220
+ * Duration field using dayjs duration
1221
+ */
1222
+ export declare interface DurationWithUnit {
1223
+ value: number;
1224
+ unit: DurationUnit;
1225
+ }
1226
+
1070
1227
  /**
1071
1228
  * @public
1072
1229
  */
1073
- export declare interface EditCommentOptions extends Omit<AddCommentOptions, 'parentCommentId'> {
1074
- commentId: string;
1230
+ export declare interface EditMessageOptions extends Omit<AddMessageOptions, 'parentMessageId'> {
1231
+ messageId: string;
1075
1232
  text: string;
1076
1233
  videoTime?: number;
1077
1234
  }
@@ -1209,7 +1366,7 @@ export declare type ExternalTvConfig = {
1209
1366
  * @throws if fetch fails
1210
1367
  * @public
1211
1368
  */
1212
- export declare const fetchBundle: (secret: string, conf: InternalConfig) => Promise<string>;
1369
+ export declare const fetchBundle: (secret: string, conf: InternalConfig, checkBundleCharCount?: boolean) => Promise<string>;
1213
1370
 
1214
1371
  /**
1215
1372
  * Copyright (c) 2021, nangu.TV, a.s. All rights reserved.
@@ -1248,6 +1405,15 @@ export declare enum ForbiddenReason {
1248
1405
  GEO_BLOCKING = "GEO_BLOCKING"
1249
1406
  }
1250
1407
 
1408
+ /**
1409
+ * @public
1410
+ */
1411
+ export declare type FrequencyInfo = {
1412
+ title: Translation;
1413
+ unit: string;
1414
+ value: number;
1415
+ };
1416
+
1251
1417
  /**
1252
1418
  * On call error interface for front-end.
1253
1419
  * Do not use it / throw it from @tivio/api.
@@ -1375,6 +1541,10 @@ export declare interface GetSourceUrlRequest {
1375
1541
  * Returns url to manifest with audio only chunks.
1376
1542
  */
1377
1543
  audioOnly?: boolean;
1544
+ /**
1545
+ * Start time in ms, for live streams. Will return manifest with desired start.
1546
+ */
1547
+ startTimeMs?: number;
1378
1548
  }
1379
1549
 
1380
1550
  export declare interface GetSourceUrlResponse {
@@ -1398,10 +1568,28 @@ export declare interface GetSourceUrlResponse {
1398
1568
  * Returns url to manifest with audio only chunks.
1399
1569
  */
1400
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;
1401
1579
  }
1402
1580
 
1403
1581
  export declare type GetTilesInRowResponse<U extends NextPageParamType = NextPageParamType> = PaginatedResponse<TileData, U>;
1404
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
+
1405
1593
  export declare interface GetVideoAnalyticsErrorItem {
1406
1594
  count: number;
1407
1595
  timestamp: number;
@@ -1475,7 +1663,7 @@ export declare enum GRID_TYPES {
1475
1663
  */
1476
1664
  export declare interface HistoryContextData {
1477
1665
  history: string[];
1478
- backOrRedirectToRoot: () => void;
1666
+ backOrRedirectToRoot: (delta?: number) => void;
1479
1667
  }
1480
1668
 
1481
1669
  export declare type IncludedItem = {
@@ -1530,17 +1718,6 @@ export declare interface IndexedTvChannel extends IndexedObject {
1530
1718
  organizationPath: string;
1531
1719
  }
1532
1720
 
1533
- /**
1534
- * @public
1535
- */
1536
- export declare interface IndexedUser extends IndexedObject {
1537
- authUserId: string;
1538
- type: string;
1539
- externalUserId?: string;
1540
- email?: string;
1541
- organizationPath?: string;
1542
- }
1543
-
1544
1721
  /**
1545
1722
  * @public
1546
1723
  */
@@ -1641,6 +1818,10 @@ export declare function isChannelSource(source?: CommonSource | null): source is
1641
1818
  */
1642
1819
  export declare const isClassicChannelSource: (source?: CommonSource | null) => source is ChannelSourceInterface;
1643
1820
 
1821
+ export declare interface IsUserAlreadyRegisteredByTenantRequest {
1822
+ email: string;
1823
+ }
1824
+
1644
1825
  /**
1645
1826
  * @public
1646
1827
  */
@@ -1664,7 +1845,7 @@ export declare type ItemComponent = RowItemComponent | BannerItemComponent;
1664
1845
  /**
1665
1846
  * @public
1666
1847
  */
1667
- export declare type ItemInRow = Tag | Video | TvChannel | Advertisement | Application | Article;
1848
+ export declare type ItemInRow = Tag | Video | TvChannel | Advertisement | Application | Article | Series;
1668
1849
 
1669
1850
  /**
1670
1851
  * @public
@@ -1718,6 +1899,12 @@ export declare const languages: LangCode[];
1718
1899
  */
1719
1900
  export declare type LanguageType = `${LangCode}`;
1720
1901
 
1902
+ export declare interface LastMessage {
1903
+ from: string;
1904
+ text: string;
1905
+ createdAt: Date;
1906
+ }
1907
+
1721
1908
  /**
1722
1909
  * @public
1723
1910
  */
@@ -1839,7 +2026,8 @@ export declare enum LoginRedirect {
1839
2026
  PAYMENT = "payment",
1840
2027
  VOUCHER = "voucher",
1841
2028
  VOUCHER_PURCHASE = "voucherPurchase",
1842
- MAGENTA_MOMENTS = "magenta_moments"
2029
+ MAGENTA_MOMENTS = "magenta_moments",
2030
+ REMOTE_CONTROLLER = "remote-controller"
1843
2031
  }
1844
2032
 
1845
2033
  /**
@@ -1849,6 +2037,22 @@ export declare interface MallTvExternals {
1849
2037
  mallTvEntityId: string;
1850
2038
  }
1851
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
+
1852
2056
  /**
1853
2057
  * @public
1854
2058
  */
@@ -1872,11 +2076,53 @@ export declare interface MarkersProps {
1872
2076
  className?: string;
1873
2077
  }
1874
2078
 
2079
+ export declare enum MarkerType {
2080
+ MIDROLL = "midroll",
2081
+ POSTROLL = "postroll",
2082
+ PREROLL = "preroll",
2083
+ NONE = "none"
2084
+ }
2085
+
1875
2086
  declare type Membership = {
1876
2087
  id: string;
1877
2088
  type: string;
1878
2089
  };
1879
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
+
1880
2126
  /**
1881
2127
  * External information of video migrated via our Public API.
1882
2128
  * @public
@@ -1911,6 +2157,7 @@ export declare interface Monetization {
1911
2157
  name?: string;
1912
2158
  description?: string;
1913
2159
  organizationId?: string;
2160
+ order?: number;
1914
2161
  }
1915
2162
 
1916
2163
  /**
@@ -1969,6 +2216,10 @@ export declare interface MonetizationsCountsSummaryItem {
1969
2216
  * Count of active purchases for that date
1970
2217
  */
1971
2218
  count: number;
2219
+ /**
2220
+ * Gateway of the purchase
2221
+ */
2222
+ gateway: string;
1972
2223
  }
1973
2224
 
1974
2225
  /**
@@ -2029,6 +2280,18 @@ export declare interface MonetizationSummaryItem {
2029
2280
  * Count of payments cancelled in in the current period
2030
2281
  */
2031
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;
2032
2295
  /**
2033
2296
  * Count of payments made regularly like in the previous period
2034
2297
  */
@@ -2074,19 +2337,84 @@ export declare type NonAdSourceType = Exclude<SourceType, SourceType.ADVERTISEME
2074
2337
  declare interface Notification_2 {
2075
2338
  id: string;
2076
2339
  name: string;
2077
- targeting: UserGroup;
2340
+ targeting: NotificationTargeting | null;
2078
2341
  templateId: string;
2079
2342
  thumbnailUrl?: string;
2080
- triggerType: TriggerType;
2343
+ triggerType: NotificationTriggerType;
2344
+ scheduleTime?: Date;
2081
2345
  status?: NotificationStatus;
2346
+ substitutions: NotificationSubstitution[];
2082
2347
  }
2083
2348
  export { Notification_2 as Notification }
2084
2349
 
2350
+ export declare interface NotificationDuration {
2351
+ value: number;
2352
+ unit: dayjs.ManipulateType;
2353
+ }
2354
+
2355
+ export declare type NotificationFilterType = NotificationFirestoreFilterType | NotificationSurveyFilterType | NotificationLastActivityFilterType;
2356
+
2357
+ export declare type NotificationFirestoreFilterType = NotificationSubscriptionFilterType | NotificationMembershipFilterType;
2358
+
2359
+ export declare interface NotificationLastActivity {
2360
+ value: number;
2361
+ unit: 'DAY' | 'WEEK' | 'MONTH';
2362
+ }
2363
+
2364
+ export declare interface NotificationLastActivityFilterType {
2365
+ type: 'lastActivity';
2366
+ value: NotificationLastActivity;
2367
+ }
2368
+
2369
+ export declare interface NotificationMembershipFilterType {
2370
+ type: 'membership';
2371
+ value: {
2372
+ membershipId: string;
2373
+ isActive: boolean;
2374
+ };
2375
+ }
2376
+
2085
2377
  export declare enum NotificationStatus {
2378
+ AUTOMATIC = "automatic",
2379
+ DRAFT = "draft",
2086
2380
  PLANNED = "planned",
2087
- SENT = "sent"
2381
+ SENT = "sent",
2382
+ WAITING = "waiting",
2383
+ RUNNING = "running"
2384
+ }
2385
+
2386
+ export declare interface NotificationSubscriptionFilterType {
2387
+ type: 'subscription';
2388
+ value: {
2389
+ subscriptionId: string;
2390
+ isActive: boolean;
2391
+ };
2392
+ }
2393
+
2394
+ export declare interface NotificationSubstitution {
2395
+ key: string;
2396
+ value: string;
2397
+ }
2398
+
2399
+ export declare interface NotificationSurveyFilterType {
2400
+ type: 'survey';
2401
+ value: {
2402
+ ageFrom: number;
2403
+ ageTo?: number;
2404
+ gender: 'm' | 'f' | 'all';
2405
+ };
2406
+ }
2407
+
2408
+ export declare interface NotificationTargeting {
2409
+ monetizationId: string;
2410
+ membershipId: string;
2411
+ isActive: boolean;
2412
+ from?: Date;
2413
+ to?: Date;
2088
2414
  }
2089
2415
 
2416
+ export declare type NotificationTriggerType = 'scheduled' | 'manual' | 'purchaseStatusChange' | 'duration' | 'userRegistration';
2417
+
2090
2418
  /**
2091
2419
  * @public
2092
2420
  */
@@ -2137,6 +2465,80 @@ export declare interface Organization {
2137
2465
  logoLandscape: string | null;
2138
2466
  organizationBanner: string | null;
2139
2467
  profilePhoto: string | null;
2468
+ defaultLanguage?: string;
2469
+ }
2470
+
2471
+ export declare interface OrganizationInterface {
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
+ };
2140
2542
  }
2141
2543
 
2142
2544
  /**
@@ -2174,6 +2576,7 @@ export declare type PaginationInterface<Entity> = {
2174
2576
  fetchMore: () => void;
2175
2577
  hasNextPage?: boolean;
2176
2578
  loading?: boolean;
2579
+ initialLoading?: boolean;
2177
2580
  };
2178
2581
 
2179
2582
  /**
@@ -2545,6 +2948,7 @@ export declare interface PlayerInterface {
2545
2948
  */
2546
2949
  getNativeImaAdUrl?: () => string | null;
2547
2950
  lastQuality?: number | null;
2951
+ getQualities?: () => Track[];
2548
2952
  /**
2549
2953
  * Attribute indicating that the video is to be played "inline"
2550
2954
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Element/video#playsinline
@@ -2709,6 +3113,7 @@ export declare interface PlayerWrapper {
2709
3113
  changeVolumeBy: (volume: number) => void;
2710
3114
  setMuted: (muted: boolean) => void;
2711
3115
  toggleMuted: () => void;
3116
+ getQualities: () => Track[];
2712
3117
  }
2713
3118
 
2714
3119
  /**
@@ -2724,6 +3129,14 @@ export declare enum PlayerWrapperEventType {
2724
3129
  */
2725
3130
  export declare type PlayerWrapperEventTypeType = `${PlayerWrapperEventType}`;
2726
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
+
2727
3140
  /**
2728
3141
  * @public
2729
3142
  */
@@ -2780,6 +3193,7 @@ export declare interface PurchasableMonetization extends Monetization {
2780
3193
  price?: string | number;
2781
3194
  promotion: Promotion | null;
2782
3195
  frequency?: MONETIZATION_FREQUENCY;
3196
+ frequencyInfo?: FrequencyInfo;
2783
3197
  durationDays?: number;
2784
3198
  /**
2785
3199
  * Returns TRUE if subscription is purchased (and not expired) by user.
@@ -2810,6 +3224,15 @@ export declare interface PurchasableMonetization extends Monetization {
2810
3224
  * When set to true, subscription is hidden in UI (e.g. in MonetizationSelectOverlay).
2811
3225
  */
2812
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;
2813
3236
  }
2814
3237
 
2815
3238
  /**
@@ -2859,7 +3282,9 @@ export declare enum PurchaseDocumentGateway {
2859
3282
  'comgate' = "comgate",
2860
3283
  'tivio' = "tivio",
2861
3284
  'patreon' = "patreon",
2862
- 'paypal' = "paypal"
3285
+ 'paypal' = "paypal",
3286
+ 'unknown' = "unknown",
3287
+ 'stargaze' = "stargaze"
2863
3288
  }
2864
3289
 
2865
3290
  /**
@@ -2873,6 +3298,17 @@ export declare type PurchaseEndpointPayload = {
2873
3298
  * Information about the purchase which changes status to PAID.
2874
3299
  */
2875
3300
  purchase: {
3301
+ /**
3302
+ * See {@link LocationField["city"]["cityName"]} type.
3303
+ */
3304
+ cityName?: string;
3305
+ /**
3306
+ * See {@link LocationField["geoPoint"]} type. Here it is serialized from Firebase.GeoPoint type.
3307
+ */
3308
+ geoPoint?: {
3309
+ latitude: number;
3310
+ longitude: number;
3311
+ };
2876
3312
  /**
2877
3313
  * Two-letter upper-case continent code.
2878
3314
  */
@@ -2887,7 +3323,7 @@ export declare type PurchaseEndpointPayload = {
2887
3323
  */
2888
3324
  expiration?: number;
2889
3325
  /**
2890
- * If purchase was made outside of standard Tivio payment method (e.g PayPal), this is its ID.
3326
+ * Paypal Id, Qerko Id or Voucher Id based on the gateway.
2891
3327
  */
2892
3328
  externalId?: string;
2893
3329
  /**
@@ -3061,6 +3497,7 @@ export declare enum PurchaseStatus {
3061
3497
  export declare type PurchaseType = 'transaction' | 'subscription' | 'voucher';
3062
3498
 
3063
3499
  /**
3500
+ * TODO more generic name, since we support stargaze payment gateway as well
3064
3501
  * @public
3065
3502
  */
3066
3503
  export declare interface QerkoCancellationInfo {
@@ -3080,6 +3517,7 @@ export declare interface QerkoData {
3080
3517
  * Otherwise, user is making a purchase for himself.
3081
3518
  */
3082
3519
  voucherPurchase?: boolean;
3520
+ quantity?: number;
3083
3521
  onPurchase?: (paymentInfo: QerkoPaymentInfo | null) => void;
3084
3522
  onClose?: () => void;
3085
3523
  }
@@ -3100,18 +3538,20 @@ export declare interface QerkoOverlayState {
3100
3538
  }
3101
3539
 
3102
3540
  /**
3541
+ * TODO more generic name, since we support stargaze payment gateway as well
3103
3542
  * @public
3104
3543
  */
3105
3544
  export declare interface QerkoPaymentInfo {
3106
- webPaymentGatewayLink: string;
3107
- gatewayUri: string;
3108
- paymentQRCodeUri: string;
3545
+ webPaymentGatewayLink?: string;
3546
+ gatewayUri?: string;
3547
+ paymentQRCodeUri?: string;
3548
+ confirmationPaymentUrl?: string;
3109
3549
  purchaseId: string;
3110
3550
  currency: string;
3111
3551
  amount: number;
3112
- monetizationType: MonetizationType;
3552
+ monetizationType?: MonetizationType;
3113
3553
  recovery?: boolean;
3114
- monetizationFrequency: MONETIZATION_FREQUENCY;
3554
+ monetizationFrequency?: MONETIZATION_FREQUENCY;
3115
3555
  customToken?: string;
3116
3556
  }
3117
3557
 
@@ -3149,6 +3589,11 @@ export declare interface QerkoPaymentWebhookByApiKeyRequest {
3149
3589
  */
3150
3590
  userId: string;
3151
3591
  };
3592
+ items: {
3593
+ name: string;
3594
+ price: string;
3595
+ quantity: string;
3596
+ }[];
3152
3597
  };
3153
3598
  /**
3154
3599
  * Gateway where payment was made.
@@ -3161,6 +3606,7 @@ export declare interface QerkoPaymentWebhookByApiKeyRequest {
3161
3606
  }
3162
3607
 
3163
3608
  /**
3609
+ * TODO more generic name, since we support stargaze payment gateway as well
3164
3610
  * @public
3165
3611
  */
3166
3612
  export declare interface QerkoTransaction {
@@ -3171,6 +3617,27 @@ export declare interface QerkoTransaction {
3171
3617
  voucherId?: string;
3172
3618
  }
3173
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
+
3174
3641
  /**
3175
3642
  * @public
3176
3643
  */
@@ -3180,6 +3647,9 @@ export declare interface ReactableContent {
3180
3647
  [key in ReactionEnum]?: number;
3181
3648
  } | null;
3182
3649
  updateReactionCount: (reaction: ReactionEnum, newCount: number) => void;
3650
+ isFavorite?: boolean;
3651
+ removeFromFavorites?: () => void;
3652
+ addToFavorites?: () => void;
3183
3653
  }
3184
3654
 
3185
3655
  /**
@@ -3304,6 +3774,7 @@ export declare interface RouterOverrides {
3304
3774
  } | {
3305
3775
  gridType: GRID_TYPES.ROW;
3306
3776
  rowId: string;
3777
+ organizationId?: string;
3307
3778
  } | {
3308
3779
  gridType: GRID_TYPES.VIDEO;
3309
3780
  videoId: string;
@@ -3317,6 +3788,7 @@ export declare interface RouterOverrides {
3317
3788
  email?: string;
3318
3789
  urlHandle?: string;
3319
3790
  replace?: boolean;
3791
+ params?: string;
3320
3792
  }) => void;
3321
3793
  goToRegistrationPage: (options?: {
3322
3794
  origin?: RegistrationRedirect;
@@ -3325,6 +3797,7 @@ export declare interface RouterOverrides {
3325
3797
  goBack: () => void;
3326
3798
  goLivePlayer: (tvChannelId: string) => void;
3327
3799
  goVodPlayer: (videoIdOrUrlName: string) => void;
3800
+ goToConversationPage: (conversationId: string) => void;
3328
3801
  goToHome: (user?: any, activeUserProfileId?: string) => void;
3329
3802
  goToRoute: (route: string) => void;
3330
3803
  goToArticle: (id: string, applicationUrlHandle?: string) => void;
@@ -3332,6 +3805,8 @@ export declare interface RouterOverrides {
3332
3805
  goToRecommendedFromOrganizationRow: (screenId: string, rowId: string) => void;
3333
3806
  goToMagentaMomentsPage: (voucher?: string) => void;
3334
3807
  goToVoucherRedeemPage: () => void;
3808
+ updateParams: (params: URLSearchParams) => void;
3809
+ navigate: (path: string) => void;
3335
3810
  }
3336
3811
 
3337
3812
  /**
@@ -3364,6 +3839,8 @@ export declare interface Row {
3364
3839
  rowComponent: RowComponent.ROW | RowComponent.BANNER;
3365
3840
  itemComponent: RowItemComponent | BannerItemComponent;
3366
3841
  organizationId?: string;
3842
+ bottomComponent?: BottomComponent;
3843
+ showDescriptionAsTitle?: boolean;
3367
3844
  }
3368
3845
 
3369
3846
  /**
@@ -3375,7 +3852,8 @@ export declare enum ROW_ITEM_TYPES {
3375
3852
  TAG = "TAG",
3376
3853
  TV_CHANNEL = "TV_CHANNEL",
3377
3854
  ADVERTISEMENT = "ADVERTISEMENT",
3378
- ARTICLE = "ARTICLE"
3855
+ ARTICLE = "ARTICLE",
3856
+ SERIES = "SERIES"
3379
3857
  }
3380
3858
 
3381
3859
  /**
@@ -3401,7 +3879,8 @@ export declare enum RowFilterCollection {
3401
3879
  */
3402
3880
  TAGS = "tags",
3403
3881
  TV_CHANNELS = "tvChannels",
3404
- CONTENTS = "contents"
3882
+ CONTENTS = "contents",
3883
+ APPLICATIONS = "applications"
3405
3884
  }
3406
3885
 
3407
3886
  /**
@@ -3469,6 +3948,18 @@ export declare type RowInScreen = {
3469
3948
  * Items to display in the row.
3470
3949
  */
3471
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;
3472
3963
  };
3473
3964
 
3474
3965
  /**
@@ -3579,6 +4070,10 @@ export declare type ScalableAsset = {
3579
4070
  */
3580
4071
  export declare type Scale = '@1' | '@2' | '@3';
3581
4072
 
4073
+ export declare interface ScheduleNotificationRequest {
4074
+ notificationPath: string;
4075
+ }
4076
+
3582
4077
  /**
3583
4078
  * @public
3584
4079
  */
@@ -3651,7 +4146,8 @@ export declare enum ScreenType {
3651
4146
  GRID = "grid",
3652
4147
  EMBED = "embed",
3653
4148
  RECOMMENDATION = "recommendation",
3654
- FEED = "feed"
4149
+ FEED = "feed",
4150
+ EPG = "epg"
3655
4151
  }
3656
4152
 
3657
4153
  /**
@@ -3686,6 +4182,31 @@ export declare interface Section {
3686
4182
  videos: Video[];
3687
4183
  }
3688
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
+
3689
4210
  export declare enum SemanticDate {
3690
4211
  YESTERDAY = "Yesterday",
3691
4212
  TODAY = "Today",
@@ -3698,6 +4219,63 @@ export declare interface SendFinalizeRegistrationEmailPayload {
3698
4219
  authUserId: string;
3699
4220
  }
3700
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
+
4240
+ export declare interface SendTivioTemplateEmailRequest {
4241
+ notificationId: string;
4242
+ organizationId: string;
4243
+ testEmailAddress?: string;
4244
+ }
4245
+
4246
+ /**
4247
+ * @public
4248
+ */
4249
+ export declare interface Series extends RowItem, MonetizableItem, ReactableContent {
4250
+ id: string;
4251
+ itemType: ROW_ITEM_TYPES.SERIES;
4252
+ cover: string;
4253
+ organizationId?: string;
4254
+ /**
4255
+ * Only used for non migrated series
4256
+ */
4257
+ originalSeriesTagRef?: any;
4258
+ ref: DocumentReference<any>;
4259
+ availableSeasons: AvailableSeason[];
4260
+ actors?: DocumentReference<any>[];
4261
+ linkedContent?: {
4262
+ type: ContentType;
4263
+ contentRef: DocumentReference<any>;
4264
+ }[];
4265
+ seriesDetailArticle?: Article;
4266
+ originalTagId?: string;
4267
+ }
4268
+
4269
+ export declare interface SeriesTileSpecificData {
4270
+ organizationId: string;
4271
+ assets?: AssetsField;
4272
+ availableSeasons: AvailableSeason[];
4273
+ }
4274
+
4275
+ export declare interface SetCustomClaimsRequest {
4276
+ organizationId: string;
4277
+ }
4278
+
3701
4279
  /**
3702
4280
  * Used for entities, that can be global (e.g. asset presets, tag types).
3703
4281
  * Non-global is stored under organizations (in sub-collection), and shown for organization's users and super-admin.
@@ -3723,13 +4301,20 @@ export declare const setUser: (userId: string | null, payload?: UserPayload) =>
3723
4301
  */
3724
4302
  export declare const showGdprConsentPreferences: () => Promise<void>;
3725
4303
 
4304
+ /**
4305
+ * @public
4306
+ */
4307
+ export declare type SignInProvider = 'google' | 'patreon' | 'apple';
4308
+
3726
4309
  export declare enum SocialNetworks {
3727
4310
  FACEBOOK = 0,
3728
4311
  INSTAGRAM = 1,
3729
4312
  TWITTER = 2,
3730
4313
  LINKED_IN = 3,
3731
4314
  EMAIL = 4,
3732
- YOUTUBE = 5
4315
+ YOUTUBE = 5,
4316
+ THREADS = 6,
4317
+ TIKTOK = 7
3733
4318
  }
3734
4319
 
3735
4320
  /**
@@ -3787,6 +4372,16 @@ export declare enum SourceType {
3787
4372
  VOD_EXTERNAL = "vod_external"
3788
4373
  }
3789
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
+
3790
4385
  /**
3791
4386
  * @public
3792
4387
  */
@@ -3825,10 +4420,16 @@ export declare interface StoreBadgeConfig {
3825
4420
  appId: string;
3826
4421
  }
3827
4422
 
4423
+ export declare interface SubmitAnswerResponse {
4424
+ id: string;
4425
+ receivedTimestamp: number;
4426
+ leaderboardScore?: number;
4427
+ }
4428
+
3828
4429
  /**
3829
4430
  * @public
3830
4431
  */
3831
- 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;
3832
4433
 
3833
4434
  /**
3834
4435
  * @public
@@ -3847,7 +4448,21 @@ export declare type SubscribeToRowsInScreen = (screenId: string, cb: (error: Err
3847
4448
  /**
3848
4449
  * @public
3849
4450
  */
3850
- export declare type SubscribeToTaggedVideos = (tagIds: string[], cb: (error: Error | null, data: PaginationInterface<Video> | null) => void, options?: SubscribeToTaggedVideosOptions) => Disposer_2;
4451
+ export declare type SubscribeToSeriesEpisodes = (seriesRef: any, cb: (error: Error | null, data: PaginationInterface<Video> | null) => void, options?: SubscribeToSeriesEpisodesOptions) => Disposer_2;
4452
+
4453
+ /**
4454
+ * @public
4455
+ */
4456
+ export declare type SubscribeToSeriesEpisodesOptions = Omit<SubscribeToItemsInRowOptions, 'orderBy'> & {
4457
+ orderBy?: OrderBy<TaggedVideosOrderByField>[];
4458
+ };
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
+
4462
+ /**
4463
+ * @public
4464
+ */
4465
+ export declare type SubscribeToTaggedVideos = (tagIds: string[], cb: (error: Error | null, data: PaginationInterface<Video> | null) => void, options?: SubscribeToTaggedVideosOptions, organizationPath?: string) => Disposer_2;
3851
4466
 
3852
4467
  /**
3853
4468
  * @public
@@ -3890,6 +4505,15 @@ export declare interface Tag extends RowItem {
3890
4505
  removeFromFavorites: () => void;
3891
4506
  cover: string;
3892
4507
  getApplicationName: () => string | undefined;
4508
+ seriesRef?: DocumentReference<any>;
4509
+ fetchData: () => Promise<void>;
4510
+ getSeriesEntity: (path: string) => Promise<Series>;
4511
+ ref: DocumentReference<any>;
4512
+ seriesEntity: Series | null;
4513
+ tagType: {
4514
+ tagTypeId: string | null;
4515
+ } | null;
4516
+ initSeries: () => Promise<void>;
3893
4517
  }
3894
4518
 
3895
4519
  export declare interface TagAvailableSeasonsFieldType extends TagMetadataFieldDefinition {
@@ -3955,6 +4579,7 @@ export declare interface TagTileSpecificData {
3955
4579
  metadata: TagMetadataField[];
3956
4580
  simplicity: TagSimplicityType;
3957
4581
  tagTypePath?: string;
4582
+ description?: string;
3958
4583
  }
3959
4584
 
3960
4585
  export declare interface TagTranslationFieldType extends TagMetadataFieldDefinition {
@@ -3962,6 +4587,8 @@ export declare interface TagTranslationFieldType extends TagMetadataFieldDefinit
3962
4587
  value: Translation;
3963
4588
  }
3964
4589
 
4590
+ export declare type TemplateSubstitutionType = 'text' | 'html' | 'image' | 'video';
4591
+
3965
4592
  export declare type Tier = {
3966
4593
  attributes: {
3967
4594
  amount_cents: number;
@@ -3985,9 +4612,10 @@ export declare interface TileApplicationData {
3985
4612
  organizationId: string;
3986
4613
  type: ApplicationType;
3987
4614
  profilePhoto?: string;
4615
+ isMainApplication?: boolean;
3988
4616
  }
3989
4617
 
3990
- export declare interface TileData<ItemSpecificData = VideoTileSpecificData | TvChannelTileSpecificData | TagTileSpecificData | ArticleTileSpecificData> {
4618
+ export declare interface TileData<ItemSpecificData = VideoTileSpecificData | TvChannelTileSpecificData | TagTileSpecificData | ArticleTileSpecificData | SeriesTileSpecificData> {
3991
4619
  /**
3992
4620
  * Tile item ID.
3993
4621
  */
@@ -4018,6 +4646,13 @@ export declare interface TileData<ItemSpecificData = VideoTileSpecificData | TvC
4018
4646
  itemSpecificData: ItemSpecificData;
4019
4647
  }
4020
4648
 
4649
+ declare interface TileMonetizationData {
4650
+ id: string;
4651
+ path: string;
4652
+ placementType: 'channel' | 'tvChannel' | 'condition' | 'video' | 'section' | 'row';
4653
+ type: MonetizationType;
4654
+ }
4655
+
4021
4656
  /**
4022
4657
  * @public
4023
4658
  */
@@ -4026,8 +4661,12 @@ export declare interface TileProps {
4026
4661
  cover?: string;
4027
4662
  bottomLabel: string;
4028
4663
  bottomLabelAreaHeight: number;
4029
- bottomComponent?: React_2.ReactNode;
4664
+ bottomItem?: React_2.ReactNode;
4030
4665
  innerLabel: string;
4666
+ /**
4667
+ * Override font size of component type specific tile based on viewport width
4668
+ */
4669
+ innerLabelFontSize?: number;
4031
4670
  duration: string;
4032
4671
  price: string | null;
4033
4672
  focused: boolean;
@@ -4054,6 +4693,11 @@ export declare interface TileProps {
4054
4693
  hasBranding?: boolean;
4055
4694
  applicationHandle?: string;
4056
4695
  fullWidth?: boolean;
4696
+ bottomComponent?: BottomComponent;
4697
+ showAlreadyWatchedOverlay?: boolean;
4698
+ itemType?: ROW_ITEM_TYPES;
4699
+ description?: string;
4700
+ showDescriptionAsTitle?: boolean;
4057
4701
  }
4058
4702
 
4059
4703
  /**
@@ -4239,7 +4883,7 @@ export declare type TivioHooks = {
4239
4883
  useAd: () => [(AdExternal | null)];
4240
4884
  useAdSegment: () => AdSegment_2 | null;
4241
4885
  useCancelSubscription: UseCancelSubscription;
4242
- useItemsInRow: (rowId?: string, options?: PaginationOptions) => {
4886
+ useItemsInRow: ({ rowId, organizationId, options }: UseItemsInRow) => {
4243
4887
  pagination: PaginationInterface<ItemInRow> | null;
4244
4888
  error: Error | null;
4245
4889
  };
@@ -4592,6 +5236,15 @@ export declare interface TivioWidgetRef {
4592
5236
  });
4593
5237
  }
4594
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
+
4595
5248
  export declare interface TopWatchItem {
4596
5249
  videoId: string;
4597
5250
  /**
@@ -4616,12 +5269,13 @@ export declare interface TopWatchItem {
4616
5269
  * @public
4617
5270
  * Video track
4618
5271
  */
4619
- declare interface Track {
5272
+ export declare interface Track {
4620
5273
  id: number;
4621
5274
  /**
4622
5275
  * e.g. 480, 720, 1080
4623
5276
  */
4624
5277
  height: number;
5278
+ width: number;
4625
5279
  active: boolean;
4626
5280
  language: LangCode;
4627
5281
  }
@@ -4642,8 +5296,6 @@ export declare type Translation = {
4642
5296
  [key in LangCode]?: string;
4643
5297
  };
4644
5298
 
4645
- export declare type TriggerType = 'scheduled' | 'manual';
4646
-
4647
5299
  /**
4648
5300
  * @public
4649
5301
  */
@@ -4694,6 +5346,7 @@ export declare interface TvChannelTileSpecificData {
4694
5346
  sources: VideoSourceField[];
4695
5347
  organizationId: string;
4696
5348
  assets?: AssetsField<TvChannelAssetValue>;
5349
+ monetizations?: TileMonetizationData[];
4697
5350
  }
4698
5351
 
4699
5352
  export declare enum TvChannelType {
@@ -4722,6 +5375,8 @@ export declare interface TvProgram {
4722
5375
  image: string;
4723
5376
  landscape?: string | null;
4724
5377
  video: Video | null;
5378
+ tvChannelRef?: any;
5379
+ loadVideo?: () => Promise<void>;
4725
5380
  }
4726
5381
 
4727
5382
  /**
@@ -4853,39 +5508,18 @@ export declare const useChannelSource: (tvChannelId: string) => {
4853
5508
 
4854
5509
  /**
4855
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
4856
5515
  */
4857
- export declare type UseComments = (options: UseCommentsOptions) => {
4858
- pagination: PaginationInterface<Comment_2>;
4859
- addComment: (options: AddCommentOptions) => Promise<UseCommentsAddEditCommentResponse>;
4860
- editComment: (options: EditCommentOptions) => Promise<UseCommentsAddEditCommentResponse>;
4861
- 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>;
4862
5521
  };
4863
5522
 
4864
- /**
4865
- * @public
4866
- */
4867
- export declare interface UseCommentsAddEditCommentResponse {
4868
- id?: string;
4869
- error?: string;
4870
- }
4871
-
4872
- /**
4873
- * @public
4874
- */
4875
- export declare interface UseCommentsDeleteCommentResponse {
4876
- deleted?: boolean;
4877
- error?: string;
4878
- }
4879
-
4880
- /**
4881
- * @public
4882
- */
4883
- export declare interface UseCommentsOptions {
4884
- videoId: string;
4885
- mainParentId?: string;
4886
- autoInit?: boolean;
4887
- }
4888
-
4889
5523
  /**
4890
5524
  * @public
4891
5525
  */
@@ -4941,13 +5575,22 @@ export declare const useIsMonetizationPurchased: () => {
4941
5575
  isOneOfSubscriptionPurchased: (subscriptionIds: string[]) => boolean;
4942
5576
  };
4943
5577
 
5578
+ /**
5579
+ * @public
5580
+ */
5581
+ export declare interface UseItemsInRow {
5582
+ rowId?: string;
5583
+ organizationId?: string;
5584
+ options?: SubscribeToItemsInRowOptions;
5585
+ }
5586
+
4944
5587
  /**
4945
5588
  * Use row items
4946
5589
  * @param rowId - row ID
4947
5590
  * @param options - subscription options
4948
5591
  * @public
4949
5592
  */
4950
- export declare const useItemsInRow: (rowId?: string, options?: SubscribeToItemsInRowOptions) => {
5593
+ export declare const useItemsInRow: ({ rowId, organizationId, options, }: UseItemsInRow) => {
4951
5594
  pagination: PaginationInterface<ItemInRow> | null;
4952
5595
  error: Error | null;
4953
5596
  };
@@ -4957,6 +5600,40 @@ export declare const useItemsInRow: (rowId?: string, options?: SubscribeToItemsI
4957
5600
  */
4958
5601
  export declare const useMarkers: () => Marker[] | null;
4959
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
+
4960
5637
  /**
4961
5638
  * @public
4962
5639
  *
@@ -5021,7 +5698,7 @@ export declare type User = {
5021
5698
  * Returns last expired subscription which user can renew or undefined
5022
5699
  */
5023
5700
  extendableSubscription?: Purchase;
5024
- getPurchasedVideos: () => Video[];
5701
+ getPurchasedVideos: () => unknown[];
5025
5702
  getOneTimePurchases: () => Purchase[];
5026
5703
  isPurchasesInitialized: boolean;
5027
5704
  isSignedIn: boolean;
@@ -5044,12 +5721,19 @@ export declare type User = {
5044
5721
  followedOrganizationIds: string[];
5045
5722
  isAnonymous: boolean;
5046
5723
  isDiscordConnected: boolean;
5724
+ disconnectDiscord: () => Promise<void>;
5047
5725
  createUserProfile: (request: any) => Promise<void>;
5048
5726
  deleteUserProfile: (profileId: string) => Promise<void>;
5049
5727
  setActiveUserProfileId: (id: string) => void;
5050
5728
  getFollowedOrganizations: () => Promise<Array<FollowedOrganizationData | undefined>>;
5051
5729
  sendFinalizeRegistrationEmail: (email: string) => Promise<void>;
5052
- 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;
5053
5737
  };
5054
5738
 
5055
5739
  /**
@@ -5080,7 +5764,7 @@ export declare enum UserGroup {
5080
5764
  /**
5081
5765
  * @public
5082
5766
  */
5083
- export declare type UseRow = (rowId: string | null) => {
5767
+ export declare type UseRow = (rowId: string | null, organizationId?: string) => {
5084
5768
  row: Row | null;
5085
5769
  error: Error | null;
5086
5770
  };
@@ -5098,6 +5782,24 @@ export declare const useRowsInScreen: (screenId: string, options?: PaginationOpt
5098
5782
  */
5099
5783
  export declare type UserPayload = Record<string, any>;
5100
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
+
5101
5803
  /**
5102
5804
  * @public
5103
5805
  */
@@ -5106,6 +5808,34 @@ export declare enum UserType {
5106
5808
  TIVIO_USER = "TIVIO_USER"
5107
5809
  }
5108
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
+
5109
5839
  /**
5110
5840
  * @public
5111
5841
  */
@@ -5254,6 +5984,9 @@ export declare type VastApiFramework = string | 'VPAID' | null;
5254
5984
  */
5255
5985
  export declare enum VastProvider {
5256
5986
  CNC_PREBID = "cnc-prebid",
5987
+ CNC_STARGAZE_PREROLL_1 = "cnc-stargaze-preroll-1",
5988
+ CNC_STARGAZE_PREROLL_2 = "cnc-stargaze-preroll-2",
5989
+ CNC_STARGAZE_MIDROLL = "cnc-stargaze-midroll",
5257
5990
  ETARGET_PREBID = "etarget-prebid",
5258
5991
  FALLBACK_HLS = "fallback-hls",
5259
5992
  FALLBACK_MP4 = "fallback",
@@ -5311,15 +6044,7 @@ export declare interface Video extends RowItem, MonetizableItem, ReactableConten
5311
6044
  }): Promise<GetSourceUrlResponse & {
5312
6045
  language?: LangCode;
5313
6046
  }>;
5314
- getSeekingMatrixPreviewByTime(timeMs: number, offsetIndex?: number): {
5315
- url: string;
5316
- x: number;
5317
- y: number;
5318
- width: number;
5319
- height: number;
5320
- interval: number;
5321
- timeMs: number;
5322
- } | null;
6047
+ getSeekingMatrixPreviewByTime(timeMs: number, offsetIndex?: number): SeekingMatrix | null;
5323
6048
  purchasableMonetization: any | null;
5324
6049
  transaction: PurchasableMonetization | undefined;
5325
6050
  subscriptions: PurchasableMonetization[];
@@ -5366,6 +6091,13 @@ export declare interface Video extends RowItem, MonetizableItem, ReactableConten
5366
6091
  setApplicationData: (applicationData: RowItemApplicationData) => void;
5367
6092
  linkedVideosInNotLoaded: () => boolean | undefined;
5368
6093
  initApplication: () => Promise<void>;
6094
+ init: () => Promise<void>;
6095
+ progress?: number;
6096
+ backgroundBlurBannerMobile?: string | null;
6097
+ isWatched?: boolean;
6098
+ pgRating?: string;
6099
+ contentDescriptors?: string[];
6100
+ publishedStatus?: PublishedStatus;
5369
6101
  }
5370
6102
 
5371
6103
  /**
@@ -5380,18 +6112,45 @@ export declare enum VideoContentType {
5380
6112
  SERIES = "SERIES"
5381
6113
  }
5382
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
+
5383
6130
  /**
5384
6131
  * @public
5385
6132
  */
5386
- export declare type VideoExternals = (JojExternals | MallTvExternals | OktagonExternals | MigratedVideoExternals) & {
6133
+ export declare type VideoExternals = (JojExternals | MallTvExternals | OktagonExternals | MigratedVideoExternals | SportyExternals) & {
5387
6134
  channelKey?: string;
5388
6135
  };
5389
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
+
5390
6148
  declare type VideoPath = string;
5391
6149
 
5392
6150
  export declare enum VideoSourceCodec {
5393
6151
  H264 = "h264",
5394
- H265 = "h265"
6152
+ H265 = "h265",
6153
+ MPEG_2 = "MPEG-2"
5395
6154
  }
5396
6155
 
5397
6156
  export declare enum VideoSourceEncryption {
@@ -5416,8 +6175,24 @@ export declare interface VideoSourceField {
5416
6175
  */
5417
6176
  priority: VideoSourcePriority;
5418
6177
  protocol: VideoSourceProtocol;
6178
+ provider?: VideoSourceProvider;
5419
6179
  url: string;
5420
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;
5421
6196
  }
5422
6197
 
5423
6198
  /**
@@ -5428,15 +6203,28 @@ export declare type VideoSourcePriority = 1 | 2 | 3 | 4 | 5;
5428
6203
  export declare enum VideoSourceProtocol {
5429
6204
  HLS = "hls",
5430
6205
  DASH = "dash",
5431
- MP4 = "mp4"
6206
+ MP4 = "mp4",
6207
+ MP3 = "mp3"
6208
+ }
6209
+
6210
+ export declare enum VideoSourceProvider {
6211
+ AWS = "aws",
6212
+ CLOUDFLARE = "cloudflare",
6213
+ NANGU = "nangu"
5432
6214
  }
5433
6215
 
6216
+ declare type VideoTileMonetizationData = TileMonetizationData & {
6217
+ expirationDaysSincePublished?: number;
6218
+ };
6219
+
5434
6220
  export declare interface VideoTileSpecificData {
5435
6221
  cover?: string;
5436
6222
  assets?: AssetsField;
5437
6223
  episodeNumber?: number;
5438
6224
  seasonNumber?: number;
5439
6225
  urlName?: VideoUrlNames;
6226
+ monetizations?: VideoTileMonetizationData[];
6227
+ description?: Translation;
5440
6228
  }
5441
6229
 
5442
6230
  /**
@@ -5496,7 +6284,11 @@ export declare enum VideoType {
5496
6284
  /**
5497
6285
  * Video that is in locked state and is used in virtual channel EPG.
5498
6286
  */
5499
- 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"
5500
6292
  }
5501
6293
 
5502
6294
  /**
@@ -5699,6 +6491,11 @@ export declare interface WebConfig {
5699
6491
  email?: string;
5700
6492
  };
5701
6493
  cookieSettingsLabel?: string;
6494
+ partners?: {
6495
+ name: string;
6496
+ logo: string;
6497
+ url?: string;
6498
+ }[];
5702
6499
  };
5703
6500
  theme?: {
5704
6501
  headerType?: PaletteType;
@@ -5776,6 +6573,7 @@ export declare interface WebConfig {
5776
6573
  };
5777
6574
  payment?: {
5778
6575
  paymentConsent?: string;
6576
+ paymentRenewalConsent?: boolean;
5779
6577
  };
5780
6578
  /**
5781
6579
  * If web supports entering vouchers
@@ -5828,6 +6626,11 @@ export declare interface WebConfig {
5828
6626
  * If true, robots.txt will prevent crawling of the website.
5829
6627
  */
5830
6628
  norobots?: boolean;
6629
+ customTranslations?: {
6630
+ [key: string]: {
6631
+ [key: string]: string;
6632
+ };
6633
+ };
5831
6634
  }
5832
6635
 
5833
6636
  /**
@@ -5933,6 +6736,7 @@ export declare interface WebPlayerProps {
5933
6736
  */
5934
6737
  disablePlayNext?: boolean;
5935
6738
  setPaymentOverlayVisible?: React_2.Dispatch<React_2.SetStateAction<boolean>>;
6739
+ hideOverlay?: boolean;
5936
6740
  }
5937
6741
 
5938
6742
  /**