@tivio/sdk-react 9.1.0-alpha.0 → 9.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -1,9 +1,26 @@
1
1
  import { ComponentType } from 'react';
2
+ import { DocumentReference } from '@firebase/firestore-types';
3
+ import firebase from '@firebase/app-types';
2
4
  import { FunctionComponentElement } from 'react';
3
5
  import { GeoPoint } from '@firebase/firestore-types';
4
6
  import { OperatingSystem } from 'detect-browser';
7
+ import type { PaletteType } from '@material-ui/core';
5
8
  import { default as React_2 } from 'react';
6
9
  import { RecommendationsQuery } from '@algolia/recommend';
10
+ import type { TagManagerArgs } from 'react-gtm-module';
11
+
12
+ /**
13
+ * @public
14
+ */
15
+ export declare interface AddCommentOptions {
16
+ parentCommentId?: string;
17
+ text: string;
18
+ videoTime?: number;
19
+ }
20
+
21
+ export declare type AddEditCommentResponse = {
22
+ id: string;
23
+ };
7
24
 
8
25
  /**
9
26
  * @public
@@ -224,6 +241,10 @@ export declare enum ALGOLIA_INDEX_NAME {
224
241
  USERS = "users"
225
242
  }
226
243
 
244
+ export declare interface AllStargazeCreatorsWithVoucherSubscriptionsResponse {
245
+ creators: CreatorsWithVoucherSubscriptions[];
246
+ }
247
+
227
248
  /**
228
249
  * List of conversion types that we send to analytics.
229
250
  */
@@ -292,11 +313,20 @@ export declare interface AnalyticsInterface {
292
313
  /**
293
314
  * @public
294
315
  */
295
- export declare interface Application {
296
- name: Translation;
316
+ export declare interface Application extends RowItem {
317
+ id: string;
318
+ organizationId?: string;
319
+ itemType: ROW_ITEM_TYPES.APPLICATION;
320
+ name: string;
297
321
  type: ApplicationType;
298
322
  urlHandle: string;
299
- screens: ApplicationScreenConfig[] | null;
323
+ applicationScreens: ApplicationScreenConfig[] | null;
324
+ screenConfigs: ScreenConfig[] | null;
325
+ logo: string | null;
326
+ cover: string | null;
327
+ videosCount: number | null;
328
+ organization?: Organization;
329
+ isEnabled: boolean;
300
330
  }
301
331
 
302
332
  /**
@@ -314,6 +344,16 @@ export declare enum ApplicationType {
314
344
  ORGANIZATION = "ORGANIZATION"
315
345
  }
316
346
 
347
+ /**
348
+ * @public
349
+ */
350
+ export declare interface ApplyScreenConditionPayload {
351
+ embedUrl?: string;
352
+ userPurchases?: Purchase[];
353
+ isSignedIn?: boolean;
354
+ condition: RenderCondition;
355
+ }
356
+
317
357
  /**
318
358
  * @public
319
359
  */
@@ -322,6 +362,45 @@ export declare type ArrisDeviceInfo = {
322
362
  model?: 'VIP1003' | 'VIP1113' | 'VIP5305';
323
363
  };
324
364
 
365
+ /**
366
+ * @public
367
+ */
368
+ export declare interface Article extends RowItem, MonetizableItem, ReactableContent {
369
+ id: string;
370
+ itemType: ROW_ITEM_TYPES.ARTICLE;
371
+ blocks: ArticleBlock[];
372
+ cover: string;
373
+ organizationId?: string;
374
+ }
375
+
376
+ /**
377
+ * @public
378
+ */
379
+ export declare interface ArticleBlock {
380
+ id: string;
381
+ type: ArticleBlockType;
382
+ htmlContent?: string;
383
+ imageUrl?: string;
384
+ textContent?: string;
385
+ videoId?: string;
386
+ }
387
+
388
+ export declare interface ArticleBlockField extends Omit<ArticleBlock, 'textContent' | 'htmlContent'> {
389
+ textContent?: Translation;
390
+ htmlContent?: Translation;
391
+ }
392
+
393
+ /**
394
+ * @public
395
+ */
396
+ export declare type ArticleBlockType = 'PARAGRAPH' | 'IMAGE' | 'VIDEO' | 'HEADING' | 'PAYWALL';
397
+
398
+ export declare interface ArticleTileSpecificData {
399
+ organizationId: string;
400
+ blocks: ArticleBlockField[];
401
+ assets?: AssetsField;
402
+ }
403
+
325
404
  /**
326
405
  * @public
327
406
  */
@@ -339,7 +418,14 @@ export declare type Assets = {
339
418
  /**
340
419
  * @public
341
420
  */
342
- export declare type AssetType = 'circled' | 'landscape' | 'portrait';
421
+ export declare interface AssetsField<TAsset extends ScalableAsset = ScalableAsset> {
422
+ [assetName: string]: TAsset;
423
+ }
424
+
425
+ /**
426
+ * @public
427
+ */
428
+ export declare type AssetType = 'circled' | 'landscape' | 'portrait' | 'square';
343
429
 
344
430
  declare type Attributes = {
345
431
  created: string;
@@ -354,36 +440,45 @@ declare type Attributes = {
354
440
  */
355
441
  export declare interface AvailableSeason {
356
442
  seasonNumber: number;
443
+ seasonName?: string;
444
+ }
445
+
446
+ export declare interface AvailableSeasonField {
447
+ seasonNumber: number;
448
+ seasonName?: Translation;
357
449
  }
358
450
 
359
451
  /**
360
452
  * @public
361
453
  */
362
- export declare type AvatarProps = {
454
+ export declare interface AvatarProps {
363
455
  cover?: string;
364
456
  isLoading?: boolean;
365
457
  size?: number;
366
- };
458
+ }
367
459
 
368
460
  /**
369
461
  * @public
370
462
  */
371
463
  export declare type BadRequestError = Error & {
372
464
  details?: {
373
- reason?: 'DOES_NOT_EXIST' | 'EXPIRED' | 'ALREADY_USED';
465
+ reason?: 'DOES_NOT_EXIST' | 'EXPIRED' | 'ALREADY_USED' | 'ALREADY_USED_BY_CURRENT_USER';
374
466
  };
375
467
  };
376
468
 
377
469
  export declare enum BannerItemComponent {
378
470
  CLASSIC = "CLASSIC",
379
471
  SPLIT = "SPLIT",
380
- BACKGROUND = "BACKGROUND"
472
+ BACKGROUND = "BACKGROUND",
473
+ BACKGROUND_BLUR = "BACKGROUND_BLUR",
474
+ ORGANIZATION_BANNER = "ORGANIZATION_BANNER",
475
+ CAROUSEL = "CAROUSEL"
381
476
  }
382
477
 
383
478
  /**
384
479
  * @public
385
480
  */
386
- export declare type BannerProps = {
481
+ export declare interface BannerProps {
387
482
  isLoading: boolean;
388
483
  text: string;
389
484
  description?: string;
@@ -391,7 +486,7 @@ export declare type BannerProps = {
391
486
  onClick?: () => void;
392
487
  hoverable: boolean;
393
488
  height: number;
394
- cover: string;
489
+ cover?: string | null;
395
490
  overlay: boolean;
396
491
  price: string;
397
492
  borderRadius?: string | number;
@@ -399,7 +494,13 @@ export declare type BannerProps = {
399
494
  onButtonClick?: () => void;
400
495
  buttonHref?: string;
401
496
  numberOfLines?: number;
402
- };
497
+ organizationId?: string;
498
+ organizationName?: string;
499
+ organizationLogo?: string;
500
+ organizationLogoLandscape?: string;
501
+ organizationHandle?: string;
502
+ organizationProfilePhoto?: string;
503
+ }
403
504
 
404
505
  /**
405
506
  * @public
@@ -500,6 +601,31 @@ export declare type Chapter = any;
500
601
  */
501
602
  export declare type CmpConfig = 'default' | 'debug' | 'none';
502
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;
618
+ }
619
+ export { Comment_2 as Comment }
620
+
621
+ /**
622
+ * @public
623
+ */
624
+ export declare interface CommentUser {
625
+ name: string;
626
+ avatarUrl: string | null;
627
+ }
628
+
503
629
  /**
504
630
  * TODO same name as core-js entity, not convenient
505
631
  * @public
@@ -592,6 +718,15 @@ export declare interface ConsumedAds {
592
718
  preroll: boolean;
593
719
  }
594
720
 
721
+ /**
722
+ * @public
723
+ */
724
+ export declare interface ContentAvailability {
725
+ from: Date;
726
+ to: Date | null;
727
+ manual: boolean;
728
+ }
729
+
595
730
  /**
596
731
  * @public
597
732
  */
@@ -607,11 +742,11 @@ export declare enum ContentSortEnum {
607
742
  /**
608
743
  * @public
609
744
  */
610
- export declare type ContentSortPickerProps = {
745
+ export declare interface ContentSortPickerProps {
611
746
  value: ContentSortEnum;
612
747
  isSeries?: boolean;
613
748
  onChange: (value: ContentSortEnum) => void;
614
- };
749
+ }
615
750
 
616
751
  /**
617
752
  * @public
@@ -694,12 +829,12 @@ export declare interface ConversionsTargetItem {
694
829
  * @public
695
830
  * @TODO move somewhere else
696
831
  */
697
- export declare type CoverPadding = {
832
+ export declare interface CoverPadding {
698
833
  top?: number;
699
834
  bottom?: number;
700
835
  left?: number;
701
836
  right?: number;
702
- };
837
+ }
703
838
 
704
839
  /**
705
840
  * @public
@@ -725,6 +860,8 @@ export declare interface CreateUserPayload {
725
860
  referralToken?: string;
726
861
  username?: string;
727
862
  phoneNumber?: string;
863
+ authUserId?: string;
864
+ isAnonymous?: boolean;
728
865
  }
729
866
 
730
867
  /**
@@ -732,6 +869,12 @@ export declare interface CreateUserPayload {
732
869
  */
733
870
  export declare type CreateUserWithEmailAndPassword = (email: string, password: string, username?: string, phoneNumber?: string, referralToken?: string) => Promise<string | null>;
734
871
 
872
+ export declare interface CreatorsWithVoucherSubscriptions {
873
+ id: string;
874
+ logo: string;
875
+ name: string;
876
+ }
877
+
735
878
  /**
736
879
  * @public
737
880
  */
@@ -743,10 +886,17 @@ export declare const CURRENCIES: string[];
743
886
  */
744
887
  export declare type Currency = 'CZK' | 'EUR' | 'USD';
745
888
 
889
+ /**
890
+ * Necessary because keys in cloud function config cannot contain upper-case letters.
891
+ * Has to be in sync with {@link Currency}.
892
+ */
893
+ export declare type CurrencyLowerCase = 'czk' | 'eur' | 'usd';
894
+
746
895
  /**
747
896
  * @public
748
897
  */
749
898
  export declare enum CustomerId {
899
+ CESTMIR_STRAKATY = "CESTMIR_STRAKATY",
750
900
  CNC = "CNC",
751
901
  DVTV = "DVTV",
752
902
  DVTV_DEV = "DVTV_DEV",
@@ -756,17 +906,31 @@ export declare enum CustomerId {
756
906
  INVESTICNI_PRUVODCE = "INVESTICNI_PRUVODCE",
757
907
  INVESTOREES = "INVESTOREES",
758
908
  JOJ = "JOJ",
909
+ KLUCI_Z_PRAHY = "KLUCI_Z_PRAHY",
759
910
  MALL = "MALL",
760
911
  MEDIAR = "MEDIAR",
761
912
  NANGU_DEV = "NANGU_DEV",
762
913
  O2 = "O2",
763
914
  OKTAGON = "OKTAGON",
915
+ ONDREJ_AUST = "ONDREJ_AUST",
764
916
  ONDREJ_KOBERSKY = "ONDREJ_KOBERSKY",
917
+ REALTALK = "REALTALK",
765
918
  STARMAX = "STARMAX",
766
- STORYBOOK = "STORYBOOK",
919
+ STARGAZE = "STARGAZE",
920
+ STORYBOOK = "STORYBOOK",// dev
767
921
  TIVIO = "TIVIO",
922
+ TIVIO_PRO = "TIVIO_PRO",
768
923
  U_KULATEHO_STOLU = "U_KULATEHO_STOLU",
769
- STARME = "STARME"
924
+ VIRTUAL_CHANNEL_VIDEOS = "VIRTUAL_CHANNEL_VIDEOS",
925
+ VOJTA_ZIZKA = "VOJTA_ZIZKA",
926
+ LIGA_NARUBY = "LIGA_NARUBY",
927
+ VIC_NEZ_SI_MYSLITE = "VIC_NEZ_SI_MYSLITE"
928
+ }
929
+
930
+ export declare interface CustomScript {
931
+ src: string;
932
+ event?: EventName;
933
+ isAsync?: boolean;
770
934
  }
771
935
 
772
936
  /**
@@ -802,14 +966,19 @@ export declare const DEFAULT_ORDER_BY: {
802
966
  */
803
967
  export declare type DefaultOrderByField = 'created';
804
968
 
969
+ export declare type DeleteCommentResponse = {
970
+ deleted: boolean;
971
+ };
972
+
805
973
  /**
806
974
  * @public
807
975
  */
808
- export declare type DetailedPrice = {
976
+ export declare interface DetailedPrice {
809
977
  amount: number;
810
978
  currency: Currency;
811
979
  frequency?: MONETIZATION_FREQUENCY;
812
- };
980
+ durationDays?: number;
981
+ }
813
982
 
814
983
  /**
815
984
  * @public
@@ -834,10 +1003,10 @@ declare type Disposer_2 = () => void;
834
1003
  /**
835
1004
  * @public
836
1005
  */
837
- export declare type DividerProps = {
1006
+ export declare interface DividerProps {
838
1007
  verticalSpacing?: number;
839
1008
  horizontalSpacing?: number;
840
- };
1009
+ }
841
1010
 
842
1011
  /**
843
1012
  * @public
@@ -847,14 +1016,6 @@ export declare type DocumentOptions = Partial<{
847
1016
  subscribeOnChanges: boolean;
848
1017
  }>;
849
1018
 
850
- /**
851
- * Does the same as TivioProvider in useRemoteBundle - so it downloads bundle,
852
- * calls init on it and returns bundle state.
853
- *
854
- * @public
855
- */
856
- export declare const downloadRemoteBundle: (conf: SdkReactConfig) => Promise<RemoteBundleState>;
857
-
858
1019
  export declare interface Drm {
859
1020
  encryption: VideoSourceEncryption;
860
1021
  /**
@@ -906,6 +1067,15 @@ export declare enum DurationUnits {
906
1067
  MONTH = "month"
907
1068
  }
908
1069
 
1070
+ /**
1071
+ * @public
1072
+ */
1073
+ export declare interface EditCommentOptions extends Omit<AddCommentOptions, 'parentCommentId'> {
1074
+ commentId: string;
1075
+ text: string;
1076
+ videoTime?: number;
1077
+ }
1078
+
909
1079
  /**
910
1080
  * Represents a SendGrid transactional template.
911
1081
  */
@@ -1015,6 +1185,10 @@ export declare type Empty = void | Promise<void> | undefined | Promise<undefined
1015
1185
  */
1016
1186
  declare type Empty_2 = void | Promise<void> | undefined | Promise<undefined>;
1017
1187
 
1188
+ export declare enum EventName {
1189
+ REGISTRATION_DONE = "REGISTRATION_DONE"
1190
+ }
1191
+
1018
1192
  /**
1019
1193
  * @public
1020
1194
  */
@@ -1043,6 +1217,21 @@ export declare const fetchBundle: (secret: string, conf: InternalConfig) => Prom
1043
1217
  */
1044
1218
  declare type FetchPackage = (url: string) => Promise<string>;
1045
1219
 
1220
+ /**
1221
+ * @public
1222
+ */
1223
+ export declare type FollowedOrganizationData = {
1224
+ id: string;
1225
+ name: string;
1226
+ application: {
1227
+ id: string;
1228
+ urlHandle: string;
1229
+ logo?: string;
1230
+ logoLandscape?: string;
1231
+ profilePhoto?: string;
1232
+ };
1233
+ };
1234
+
1046
1235
  /**
1047
1236
  * Counterpart for {@link ForbiddenError} from @tivio/api.
1048
1237
  * @public
@@ -1072,6 +1261,15 @@ export declare interface GenericOnCallError extends Error {
1072
1261
  details?: Record<string, string>;
1073
1262
  }
1074
1263
 
1264
+ /**
1265
+ * @public
1266
+ */
1267
+ export declare type GeoBlocking = {
1268
+ whitelist: Array<any>;
1269
+ } | {
1270
+ blacklist: Array<any>;
1271
+ };
1272
+
1075
1273
  export declare interface GetBaseAnalyticsRequest {
1076
1274
  /**
1077
1275
  * Id of organization to return analytics data.
@@ -1095,6 +1293,12 @@ export declare interface GetMonetizationsAnalyticsResponse {
1095
1293
  monetizationsAnalytics: MonetizationSummaryItem[];
1096
1294
  }
1097
1295
 
1296
+ export declare type GetMonetizationsCountsAnalyticsRequest = GetBaseAnalyticsRequest;
1297
+
1298
+ export declare interface GetMonetizationsCountsAnalyticsResponse {
1299
+ monetizationsCountsAnalytics: MonetizationsCountsSummaryItem[];
1300
+ }
1301
+
1098
1302
  /**
1099
1303
  * Share singleton instance
1100
1304
  * @public
@@ -1104,9 +1308,9 @@ export declare const getPubSub: () => PubSub;
1104
1308
  /**
1105
1309
  * @public
1106
1310
  */
1107
- export declare type GetPurchasableMonetizationsOptions = {
1311
+ export declare interface GetPurchasableMonetizationsOptions {
1108
1312
  includeMonetizationsWithPurchaseDisabled: boolean;
1109
- };
1313
+ }
1110
1314
 
1111
1315
  /**
1112
1316
  * Response from Tivio getPurchaseInfo HTTP endpoint.
@@ -1123,6 +1327,8 @@ export declare type GetPurchaseInfoResponse = {
1123
1327
  };
1124
1328
  };
1125
1329
 
1330
+ export declare type GetRowsInScreenResponse = PaginatedResponse<RowInScreen, 'screenId'>;
1331
+
1126
1332
  export declare interface GetSourceUrlRequest {
1127
1333
  /**
1128
1334
  * Id of the document to return source for.
@@ -1194,6 +1400,8 @@ export declare interface GetSourceUrlResponse {
1194
1400
  audioOnly?: boolean;
1195
1401
  }
1196
1402
 
1403
+ export declare type GetTilesInRowResponse<U extends NextPageParamType = NextPageParamType> = PaginatedResponse<TileData, U>;
1404
+
1197
1405
  export declare interface GetVideoAnalyticsErrorItem {
1198
1406
  count: number;
1199
1407
  timestamp: number;
@@ -1262,19 +1470,26 @@ export declare enum GRID_TYPES {
1262
1470
  SERIES = "SERIES"
1263
1471
  }
1264
1472
 
1265
- declare type IncludedItem = {
1473
+ /**
1474
+ * @public
1475
+ */
1476
+ export declare interface HistoryContextData {
1477
+ history: string[];
1478
+ backOrRedirectToRoot: () => void;
1479
+ }
1480
+
1481
+ export declare type IncludedItem = {
1266
1482
  attributes: {
1267
1483
  next_charge_date: string;
1268
- /**
1269
- * A null value indicates the member has never pledged. Can be null.
1270
- */
1271
- patron_status: 'active_patron' | 'declined_patron' | 'former_patron' | null;
1484
+ patron_status: PatreonStatus;
1272
1485
  /**
1273
1486
  * The only successful status is Paid. null if never charged. Can be null.
1274
1487
  * One of Paid Declined Deleted Pending Refunded Fraud Other.
1275
1488
  */
1276
1489
  last_charge_status: 'Paid' | 'Declined' | 'Deleted' | 'Pending' | 'Refunded' | 'Fraud' | 'Other';
1277
1490
  last_charge_date: string;
1491
+ pledge_relationship_start: string;
1492
+ campaign_lifetime_support_cents: number;
1278
1493
  };
1279
1494
  id: string;
1280
1495
  type: string;
@@ -1335,7 +1550,16 @@ export declare interface IndexedVideo extends IndexedObject {
1335
1550
  sharedOrganizationPaths?: string[];
1336
1551
  tagPaths?: string[];
1337
1552
  created: Date | string;
1553
+ /**
1554
+ * Is evaluated on publishedStatus and transcodingStatus fields.
1555
+ * TODO this will be true for videos with UNLISTED status, which is unintuitive for 'isDraft', we need to rename this
1556
+ */
1338
1557
  isDraft: boolean;
1558
+ /**
1559
+ * TODO: Remove optional once we have all videos with transcodingStatus and publishedStatus set in algolia
1560
+ */
1561
+ transcodingStatus?: VideoTranscodingStatus;
1562
+ publishedStatus?: PublishedStatus;
1339
1563
  type: VideoType;
1340
1564
  contentType?: VideoContentType;
1341
1565
  name: string | Translation;
@@ -1351,8 +1575,17 @@ export declare interface IndexedVideo extends IndexedObject {
1351
1575
  * True if the video is available in Tivio Pro (StarMe)
1352
1576
  */
1353
1577
  isTivioPro: boolean;
1578
+ /**
1579
+ * See {@link VideoDocument.monetizationAccessRefs}.
1580
+ * We need explicitly set to false when there are no access monetizations set,
1581
+ * because algolia can't filter based on absence of attribute,
1582
+ * see https://www.algolia.com/doc/guides/managing-results/refine-results/filtering/how-to/filter-by-attributes/#filter-by-null-or-missing-attributes.
1583
+ */
1584
+ monetizationAccessIds: string[] | false;
1354
1585
  }
1355
1586
 
1587
+ export declare type IntegrationType = 'discord' | 'patreon';
1588
+
1356
1589
  /**
1357
1590
  * @public
1358
1591
  */
@@ -1431,7 +1664,7 @@ export declare type ItemComponent = RowItemComponent | BannerItemComponent;
1431
1664
  /**
1432
1665
  * @public
1433
1666
  */
1434
- export declare type ItemsInRow = Tag | Video | TvChannel | Advertisement;
1667
+ export declare type ItemInRow = Tag | Video | TvChannel | Advertisement | Application | Article;
1435
1668
 
1436
1669
  /**
1437
1670
  * @public
@@ -1441,6 +1674,11 @@ export declare interface JojExternals {
1441
1674
  tvProfiContentId?: string;
1442
1675
  tvProfiSerialId?: string;
1443
1676
  contentId?: string;
1677
+ /**
1678
+ * Temporary contentId used only for live channel. The video is already encoded and stored in our storage
1679
+ * but is also stored on nangu platform to be used for live channel.
1680
+ */
1681
+ dvtvExtraContentId?: string;
1444
1682
  provysId?: string;
1445
1683
  tvProfiProvysId?: string;
1446
1684
  tvProfiHouseId?: string;
@@ -1483,10 +1721,18 @@ export declare type LanguageType = `${LangCode}`;
1483
1721
  /**
1484
1722
  * @public
1485
1723
  */
1486
- export declare type LinkedVideo = {
1724
+ export declare interface LinkedVideo {
1487
1725
  video: Video;
1488
- type: 'CUT' | 'TRAILER' | 'BONUS' | 'CHILD';
1489
- };
1726
+ type: 'CUT' | 'TRAILER' | 'BONUS' | 'CHILD' | 'TEASER' | 'TASTING' | 'VIRTUAL_PROGRAM' | 'PIP';
1727
+ }
1728
+
1729
+ /**
1730
+ * @public
1731
+ */
1732
+ export declare interface LinkedVideoRaw {
1733
+ videoRef: any;
1734
+ type: LinkedVideo['type'];
1735
+ }
1490
1736
 
1491
1737
  declare type Links = {
1492
1738
  self: string;
@@ -1591,7 +1837,9 @@ declare type LoggerArgs = any[];
1591
1837
 
1592
1838
  export declare enum LoginRedirect {
1593
1839
  PAYMENT = "payment",
1594
- VOUCHER = "voucher"
1840
+ VOUCHER = "voucher",
1841
+ VOUCHER_PURCHASE = "voucherPurchase",
1842
+ MAGENTA_MOMENTS = "magenta_moments"
1595
1843
  }
1596
1844
 
1597
1845
  /**
@@ -1619,10 +1867,10 @@ export declare interface Marker {
1619
1867
  /**
1620
1868
  * @public
1621
1869
  */
1622
- export declare type MarkersProps = {
1870
+ export declare interface MarkersProps {
1623
1871
  color?: string;
1624
1872
  className?: string;
1625
- };
1873
+ }
1626
1874
 
1627
1875
  declare type Membership = {
1628
1876
  id: string;
@@ -1635,7 +1883,23 @@ declare type Membership = {
1635
1883
  */
1636
1884
  export declare interface MigratedVideoExternals {
1637
1885
  externalVideoId: string;
1638
- additionalData: any;
1886
+ additionalData?: any;
1887
+ }
1888
+
1889
+ export declare interface MonetizableItem {
1890
+ /**
1891
+ * Returns true if content is purchased (via transaction or subscription) or free.
1892
+ */
1893
+ isPaid: boolean;
1894
+ /**
1895
+ * Gets the most relevant monetization for this content.
1896
+ */
1897
+ purchasableMonetization: PurchasableMonetization | null;
1898
+ /**
1899
+ * Returns all transactions and subscriptions applied to this video.
1900
+ * Transactions before subscriptions, sorted by price ascending.
1901
+ */
1902
+ getPurchasableMonetizations(options?: GetPurchasableMonetizationsOptions): PurchasableMonetization[];
1639
1903
  }
1640
1904
 
1641
1905
  /**
@@ -1646,6 +1910,7 @@ export declare interface Monetization {
1646
1910
  type?: MonetizationType;
1647
1911
  name?: string;
1648
1912
  description?: string;
1913
+ organizationId?: string;
1649
1914
  }
1650
1915
 
1651
1916
  /**
@@ -1691,6 +1956,21 @@ export declare interface MonetizationCardProps {
1691
1956
  focused?: boolean;
1692
1957
  }
1693
1958
 
1959
+ export declare interface MonetizationsCountsSummaryItem {
1960
+ /**
1961
+ * Unix timestamp at which the data is aggregated
1962
+ */
1963
+ date: number;
1964
+ /**
1965
+ * ID of monetization
1966
+ */
1967
+ monetizationId: string;
1968
+ /**
1969
+ * Count of active purchases for that date
1970
+ */
1971
+ count: number;
1972
+ }
1973
+
1694
1974
  /**
1695
1975
  * @public
1696
1976
  */
@@ -1707,8 +1987,15 @@ export declare interface MonetizationsSelectOverlayData {
1707
1987
  */
1708
1988
  voucherPurchase?: boolean;
1709
1989
  registrationRedirect?: boolean;
1990
+ organizationId?: string;
1710
1991
  onPurchase?: () => void;
1711
1992
  onClose?: () => void;
1993
+ hideActivateVoucherButton?: boolean;
1994
+ showHeaderBackButton?: boolean;
1995
+ /**
1996
+ * Applies only if {@link subscriptions} are passed.
1997
+ */
1998
+ doNotFilterPassedSubscriptions?: boolean;
1712
1999
  }
1713
2000
 
1714
2001
  /**
@@ -1717,7 +2004,7 @@ export declare interface MonetizationsSelectOverlayData {
1717
2004
  export declare type MonetizationsSelectOverlayState = {
1718
2005
  isOpen: boolean;
1719
2006
  data: MonetizationsSelectOverlayData | null;
1720
- openMonetizationsSelectOverlay: (data: MonetizationsSelectOverlayData) => void;
2007
+ openMonetizationsSelectOverlay: (data?: MonetizationsSelectOverlayData) => void;
1721
2008
  closeMonetizationsSelectOverlay: () => void;
1722
2009
  };
1723
2010
 
@@ -1777,6 +2064,8 @@ export declare type NewVoucher = {
1777
2064
  expirationDate: Date | number;
1778
2065
  };
1779
2066
 
2067
+ declare type NextPageParamType = 'screenId' | 'rowId' | 'filter';
2068
+
1780
2069
  /**
1781
2070
  * @public
1782
2071
  */
@@ -1841,8 +2130,13 @@ declare type OrderByDirection = 'desc' | 'asc';
1841
2130
  * @public
1842
2131
  */
1843
2132
  export declare interface Organization {
2133
+ id: string;
1844
2134
  userProfileConfiguration: any;
1845
2135
  screenConfigs: ScreenConfig[];
2136
+ logo: string | null;
2137
+ logoLandscape: string | null;
2138
+ organizationBanner: string | null;
2139
+ profilePhoto: string | null;
1846
2140
  }
1847
2141
 
1848
2142
  /**
@@ -1855,6 +2149,23 @@ export declare type OtherSource = SourceBase & StartAndContinuePosition & {
1855
2149
  type: 'other';
1856
2150
  };
1857
2151
 
2152
+ export declare interface PaginatedResponse<T = unknown, U extends NextPageParamType = NextPageParamType> {
2153
+ items: T[];
2154
+ nextPageParams: {
2155
+ offset: number;
2156
+ limit: number;
2157
+ } & (U extends 'screenId' ? {
2158
+ organizationId: string;
2159
+ screenId: string;
2160
+ initialTilesCount: number;
2161
+ } : U extends 'rowId' ? {
2162
+ organizationId: string;
2163
+ rowId: string;
2164
+ } : U extends 'filter' ? {
2165
+ filter: Omit<RowFilterField, 'limit'>;
2166
+ } : {}) | null;
2167
+ }
2168
+
1858
2169
  /**
1859
2170
  * @public
1860
2171
  */
@@ -1874,6 +2185,18 @@ export declare type PaginationOptions = Partial<{
1874
2185
  noAutoFetch: boolean;
1875
2186
  }>;
1876
2187
 
2188
+ /**
2189
+ * @public
2190
+ */
2191
+ export declare interface PartialRegistrationOverlayContextState {
2192
+ isOpen: boolean;
2193
+ openOverlay: (onEmailSent?: () => void, origin?: RegistrationRedirect, voucher?: string) => void;
2194
+ closeOverlay: () => void;
2195
+ onEmailSent?: () => void;
2196
+ origin?: RegistrationRedirect;
2197
+ voucher?: string;
2198
+ }
2199
+
1877
2200
  export declare type PatreonCreatorData = {
1878
2201
  campaign: string;
1879
2202
  tiers: Tier[];
@@ -1889,6 +2212,11 @@ declare type PatreonError = {
1889
2212
  title?: string;
1890
2213
  };
1891
2214
 
2215
+ /**
2216
+ * A null value indicates the member has never pledged. Can be null.
2217
+ */
2218
+ export declare type PatreonStatus = 'active_patron' | 'declined_patron' | 'former_patron' | null;
2219
+
1892
2220
  export declare type PatreonUserAuth = {
1893
2221
  access_token: string;
1894
2222
  refresh_token: string;
@@ -1898,9 +2226,16 @@ export declare type PatreonUserAuth = {
1898
2226
  version?: string;
1899
2227
  };
1900
2228
 
2229
+ export declare interface PatreonUserAuthWithCreated extends PatreonUserAuth {
2230
+ /**
2231
+ * unix timestamp in ms
2232
+ */
2233
+ created: number;
2234
+ }
2235
+
1901
2236
  export declare type PatreonUserResponse = {
1902
2237
  data: Data;
1903
- included: IncludedItem[];
2238
+ included?: IncludedItem[];
1904
2239
  links: Links;
1905
2240
  errors?: PatreonError[];
1906
2241
  };
@@ -1958,6 +2293,7 @@ export declare interface PlayerCapability {
1958
2293
  * @public
1959
2294
  */
1960
2295
  export declare type PlayerConfig = {
2296
+ enabled?: boolean;
1961
2297
  /**
1962
2298
  * Some devices do not seek exactly
1963
2299
  *
@@ -2134,6 +2470,7 @@ export declare interface PlayerEngineInterface {
2134
2470
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Element/video#playsinline
2135
2471
  */
2136
2472
  setPlaysInline(value: boolean): void;
2473
+ setControlsList(value: string[]): void;
2137
2474
  }
2138
2475
 
2139
2476
  /**
@@ -2213,6 +2550,7 @@ export declare interface PlayerInterface {
2213
2550
  * https://developer.mozilla.org/en-US/docs/Web/HTML/Element/video#playsinline
2214
2551
  */
2215
2552
  setPlaysInline?: (value: boolean) => void;
2553
+ setControlsList?: (value: string[]) => void;
2216
2554
  }
2217
2555
 
2218
2556
  /**
@@ -2392,6 +2730,8 @@ export declare type PlayerWrapperEventTypeType = `${PlayerWrapperEventType}`;
2392
2730
  export declare interface Promotion {
2393
2731
  duration?: Duration;
2394
2732
  price?: number;
2733
+ requiresPaymentAuthorization?: boolean;
2734
+ hideOtherSubscriptions?: boolean;
2395
2735
  }
2396
2736
 
2397
2737
  /**
@@ -2399,6 +2739,25 @@ export declare interface Promotion {
2399
2739
  */
2400
2740
  export declare type PromotionType = 'CLASSIC' | 'PATREON';
2401
2741
 
2742
+ /**
2743
+ * @public
2744
+ */
2745
+ export declare enum PublishedStatus {
2746
+ /**
2747
+ * Content is not published, is not shown in any application and cannot be played,
2748
+ * even if user enters url directly into browser.
2749
+ */
2750
+ DRAFT = "DRAFT",
2751
+ /**
2752
+ * Content is published and can be accessed and played freely in any application.
2753
+ */
2754
+ PUBLISHED = "PUBLISHED",
2755
+ /**
2756
+ * Content is not visible in the application (e.g. rows, search), but if user has direct url to it, they can play it.
2757
+ */
2758
+ UNLISTED = "UNLISTED"
2759
+ }
2760
+
2402
2761
  /**
2403
2762
  * @public
2404
2763
  */
@@ -2421,6 +2780,7 @@ export declare interface PurchasableMonetization extends Monetization {
2421
2780
  price?: string | number;
2422
2781
  promotion: Promotion | null;
2423
2782
  frequency?: MONETIZATION_FREQUENCY;
2783
+ durationDays?: number;
2424
2784
  /**
2425
2785
  * Returns TRUE if subscription is purchased (and not expired) by user.
2426
2786
  * Returns TRUE if transaction is purchased (and not expired) for transactionItemId.
@@ -2446,6 +2806,10 @@ export declare interface PurchasableMonetization extends Monetization {
2446
2806
  * Returns array of tag ids of monetization placements
2447
2807
  */
2448
2808
  tagIds: string[];
2809
+ /**
2810
+ * When set to true, subscription is hidden in UI (e.g. in MonetizationSelectOverlay).
2811
+ */
2812
+ subscriptionIsHidden?: boolean;
2449
2813
  }
2450
2814
 
2451
2815
  /**
@@ -2461,6 +2825,7 @@ export declare type Purchase = {
2461
2825
  */
2462
2826
  createdBy?: string;
2463
2827
  expirationDate: Date | null;
2828
+ gateway: PurchaseDocumentGateway | null;
2464
2829
  id: string;
2465
2830
  isExpired: boolean;
2466
2831
  /**
@@ -2480,6 +2845,8 @@ export declare type Purchase = {
2480
2845
  videoId: string | null;
2481
2846
  videoRef: any | null;
2482
2847
  voucherId: string | null;
2848
+ isVoucherActivation?: boolean;
2849
+ rebalancingVideoRef?: any;
2483
2850
  };
2484
2851
 
2485
2852
  /**
@@ -2491,7 +2858,8 @@ export declare enum PurchaseDocumentGateway {
2491
2858
  'voucher' = "voucher",
2492
2859
  'comgate' = "comgate",
2493
2860
  'tivio' = "tivio",
2494
- 'patreon' = "patreon"
2861
+ 'patreon' = "patreon",
2862
+ 'paypal' = "paypal"
2495
2863
  }
2496
2864
 
2497
2865
  /**
@@ -2518,6 +2886,10 @@ export declare type PurchaseEndpointPayload = {
2518
2886
  * really expire at this timestamp - additional payment of this subscription can occur so expiration timestamp may be increased.
2519
2887
  */
2520
2888
  expiration?: number;
2889
+ /**
2890
+ * If purchase was made outside of standard Tivio payment method (e.g PayPal), this is its ID.
2891
+ */
2892
+ externalId?: string;
2521
2893
  /**
2522
2894
  * Gateway name or "voucher".
2523
2895
  */
@@ -2539,9 +2911,10 @@ export declare type PurchaseEndpointPayload = {
2539
2911
  */
2540
2912
  originalPurchaseId?: string;
2541
2913
  /**
2542
- * Purchase status before change.
2914
+ * Purchase status before change. Not present for new documents - e.g. for reoccurring payment (old document is
2915
+ * set to RENEWED, new document is created with PAID status).
2543
2916
  */
2544
- previousStatus: PurchaseStatus;
2917
+ previousStatus?: PurchaseStatus;
2545
2918
  /**
2546
2919
  * Timestamp of the last change of the purchase - in this case it is timestamp when it was paid.
2547
2920
  */
@@ -2634,8 +3007,8 @@ export declare type PurchaseEndpointPayload = {
2634
3007
  * @public
2635
3008
  */
2636
3009
  export declare type PurchaseMonetization = {
3010
+ durationDays?: MONETIZATION_DURATION | number;
2637
3011
  currency?: Currency;
2638
- period?: number;
2639
3012
  price?: number;
2640
3013
  /**
2641
3014
  * Here are only transaction and subscription because purchasing of advertisement monetization doesn't make sense.
@@ -2701,6 +3074,7 @@ export declare interface QerkoCancellationInfo {
2701
3074
  export declare interface QerkoData {
2702
3075
  monetization: PurchasableMonetization;
2703
3076
  item?: Video | TvChannel;
3077
+ isMagentaMoments?: boolean;
2704
3078
  /**
2705
3079
  * If set to true, user is buying voucher.
2706
3080
  * Otherwise, user is making a purchase for himself.
@@ -2738,6 +3112,7 @@ export declare interface QerkoPaymentInfo {
2738
3112
  monetizationType: MonetizationType;
2739
3113
  recovery?: boolean;
2740
3114
  monetizationFrequency: MONETIZATION_FREQUENCY;
3115
+ customToken?: string;
2741
3116
  }
2742
3117
 
2743
3118
  /**
@@ -2753,6 +3128,38 @@ export declare interface QerkoPaymentProps {
2753
3128
  masterCardLogoUrl?: string;
2754
3129
  }
2755
3130
 
3131
+ /**
3132
+ * Request body which is accepted by qerkoPaymentWebhookByApiKey endpoint.
3133
+ *
3134
+ * @public
3135
+ */
3136
+ export declare interface QerkoPaymentWebhookByApiKeyRequest {
3137
+ /**
3138
+ * Payment state.
3139
+ */
3140
+ state: 'PAID' | 'CANCELLED';
3141
+ /**
3142
+ * Tivio purchase ID.
3143
+ */
3144
+ idOrder: string;
3145
+ payment: {
3146
+ additionalData: {
3147
+ /**
3148
+ * Tivio user ID.
3149
+ */
3150
+ userId: string;
3151
+ };
3152
+ };
3153
+ /**
3154
+ * Gateway where payment was made.
3155
+ */
3156
+ gateway?: PurchaseDocumentGateway;
3157
+ /**
3158
+ * If purchase was made outside of standard Tivio payment method (e.g PayPal), this is its ID.
3159
+ */
3160
+ externalPurchaseId?: string;
3161
+ }
3162
+
2756
3163
  /**
2757
3164
  * @public
2758
3165
  */
@@ -2764,6 +3171,39 @@ export declare interface QerkoTransaction {
2764
3171
  voucherId?: string;
2765
3172
  }
2766
3173
 
3174
+ /**
3175
+ * @public
3176
+ */
3177
+ export declare interface ReactableContent {
3178
+ path: string;
3179
+ reactions: {
3180
+ [key in ReactionEnum]?: number;
3181
+ } | null;
3182
+ updateReactionCount: (reaction: ReactionEnum, newCount: number) => void;
3183
+ }
3184
+
3185
+ /**
3186
+ * @public
3187
+ */
3188
+ export declare enum ReactionEnum {
3189
+ LIKE = "LIKE",
3190
+ DISLIKE = "DISLIKE",
3191
+ LOVE = "LOVE",
3192
+ HAHA = "HAHA",
3193
+ WOW = "WOW",
3194
+ SAD = "SAD",
3195
+ ANGRY = "ANGRY",
3196
+ CARE = "CARE",
3197
+ SUPPORT = "SUPPORT",
3198
+ PRAY = "PRAY",
3199
+ THINK = "THINK",
3200
+ CELEBRATE = "CELEBRATE",
3201
+ THANKFUL = "THANKFUL",
3202
+ LAUGH = "LAUGH",
3203
+ INSPIRED = "INSPIRED",
3204
+ AWW = "AWW"
3205
+ }
3206
+
2767
3207
  /**
2768
3208
  * @public
2769
3209
  */
@@ -2779,7 +3219,10 @@ export declare type ReactNativeDeviceInfo = {
2779
3219
  };
2780
3220
 
2781
3221
  export declare enum RegistrationRedirect {
2782
- PAYMENT = "payment"
3222
+ PAYMENT = "payment",
3223
+ VOUCHER_PURCHASE = "voucherPurchase",
3224
+ VOUCHER = "voucher",
3225
+ MAGENTA_MOMENTS = "magenta_moments"
2783
3226
  }
2784
3227
 
2785
3228
  declare type Relationship = {
@@ -2803,11 +3246,11 @@ export declare type RemoteBundleState = {
2803
3246
  /**
2804
3247
  * @public
2805
3248
  */
2806
- export declare type RemoteProviderProps = {
3249
+ export declare interface RemoteProviderProps {
2807
3250
  disableUnmounting?: boolean;
2808
3251
  language?: LangCode;
2809
3252
  children: React_2.ReactNode;
2810
- };
3253
+ }
2811
3254
 
2812
3255
  /**
2813
3256
  * Conditions that are dynamically applied to screens before they are rendered.
@@ -2816,44 +3259,79 @@ export declare type RemoteProviderProps = {
2816
3259
  * 'else' indicates what should happen if the conditions are not met.
2817
3260
  * 'elseValue' is a payload.
2818
3261
  */
2819
- export declare type RenderCondition = {
3262
+ export declare interface RenderCondition {
2820
3263
  type: ScreenConditionType;
3264
+ value?: RenderConditionValue[];
2821
3265
  else: ScreenConditionElse;
2822
3266
  elseValue: RenderConditionElseValue[];
2823
- };
3267
+ }
2824
3268
 
2825
- export declare type RenderConditionElseValue = {
3269
+ export declare interface RenderConditionElseValue {
2826
3270
  key: string;
2827
3271
  value: string;
2828
- };
3272
+ }
3273
+
3274
+ export declare interface RenderConditionValue {
3275
+ subscriptionRefs?: any[];
3276
+ }
3277
+
3278
+ /**
3279
+ * Make all attributes in given type required, non-nullable and defined.
3280
+ * e.g. will make `{ attribute?: string | null }` to be `{ attribute: string }`
3281
+ */
3282
+ export declare type RequiredNonNullable<T> = {
3283
+ [P in keyof T]-?: NonNullable<T[P]>;
3284
+ };
2829
3285
 
2830
3286
  /**
2831
3287
  * @public
2832
3288
  */
2833
3289
  export declare interface RouterOverrides {
2834
- getVideoDetailPath: (videoIdOrUrlName: string) => string;
2835
- getSeriesDetailPath: (tagId: string) => string;
3290
+ getVideoDetailPath: (videoIdOrUrlName: string, item?: ItemInRow) => string;
3291
+ getSeriesDetailPath: (tagId: string, item?: ItemInRow) => string;
2836
3292
  getTagPath: (tagId: string) => string;
2837
3293
  getLoginPath: () => string;
2838
3294
  getRegistrationPath: () => string;
2839
3295
  getLivePlayerPath: (tvChannelId: string) => string;
2840
3296
  getVodPlayerPath: (videoIdOrUrlName: string) => string;
2841
3297
  getHomePath: (screens: ScreenConfig[]) => string;
2842
- goToVideoDetailPage: (videoIdOrUrlName: string) => void;
3298
+ getArticlePath: (articleId: string) => string;
3299
+ getApplicationPath: (applicationUrlHandle: string) => string;
3300
+ getGridPath: (options: {
3301
+ gridType: GRID_TYPES.SERIES;
3302
+ seriesTagId: string;
3303
+ season?: number;
3304
+ } | {
3305
+ gridType: GRID_TYPES.ROW;
3306
+ rowId: string;
3307
+ } | {
3308
+ gridType: GRID_TYPES.VIDEO;
3309
+ videoId: string;
3310
+ }) => string;
3311
+ goToVideoDetailPage: (videoIdOrUrlName: string, item?: ItemInRow) => void;
2843
3312
  goToSeriesDetailPage: (tagId: string) => void;
2844
3313
  goToTagPage: (tagId: string) => void;
2845
3314
  goToLoginPage: (options?: {
2846
3315
  manual?: boolean;
2847
3316
  origin?: LoginRedirect;
3317
+ email?: string;
3318
+ urlHandle?: string;
3319
+ replace?: boolean;
2848
3320
  }) => void;
2849
3321
  goToRegistrationPage: (options?: {
2850
3322
  origin?: RegistrationRedirect;
3323
+ email?: string;
2851
3324
  }) => void;
2852
3325
  goBack: () => void;
2853
3326
  goLivePlayer: (tvChannelId: string) => void;
2854
3327
  goVodPlayer: (videoIdOrUrlName: string) => void;
2855
3328
  goToHome: (user?: any, activeUserProfileId?: string) => void;
2856
3329
  goToRoute: (route: string) => void;
3330
+ goToArticle: (id: string, applicationUrlHandle?: string) => void;
3331
+ goToRecommendedFromOrganization: (screenId: string, organizationId: string) => void;
3332
+ goToRecommendedFromOrganizationRow: (screenId: string, rowId: string) => void;
3333
+ goToMagentaMomentsPage: (voucher?: string) => void;
3334
+ goToVoucherRedeemPage: () => void;
2857
3335
  }
2858
3336
 
2859
3337
  /**
@@ -2870,43 +3348,44 @@ export declare interface RouterOverridesContextState {
2870
3348
  /**
2871
3349
  * @public
2872
3350
  */
2873
- export declare type Row = RowStandard | RowBanner;
3351
+ export declare interface Row {
3352
+ id: string;
3353
+ rowId: string;
3354
+ name: string;
3355
+ description?: string;
3356
+ assets: AssetsField;
3357
+ type: ScreenRowType;
3358
+ isLiveRow: boolean;
3359
+ tiles: PaginationInterface<ItemInRow>;
3360
+ numberOfLines?: number;
3361
+ monetizations?: {
3362
+ monetizationRef: any;
3363
+ }[];
3364
+ rowComponent: RowComponent.ROW | RowComponent.BANNER;
3365
+ itemComponent: RowItemComponent | BannerItemComponent;
3366
+ organizationId?: string;
3367
+ }
2874
3368
 
2875
3369
  /**
2876
3370
  * @public
2877
3371
  */
2878
3372
  export declare enum ROW_ITEM_TYPES {
3373
+ APPLICATION = "APPLICATION",
2879
3374
  VIDEO = "VIDEO",
2880
3375
  TAG = "TAG",
2881
3376
  TV_CHANNEL = "TV_CHANNEL",
2882
- ADVERTISEMENT = "ADVERTISEMENT"
3377
+ ADVERTISEMENT = "ADVERTISEMENT",
3378
+ ARTICLE = "ARTICLE"
2883
3379
  }
2884
3380
 
2885
3381
  /**
2886
- * @private
3382
+ * @public
2887
3383
  */
2888
- export declare interface RowBanner extends RowBase {
3384
+ export declare interface RowBanner extends Row {
2889
3385
  rowComponent: RowComponent.BANNER;
2890
3386
  itemComponent: BannerItemComponent;
2891
3387
  }
2892
3388
 
2893
- /**
2894
- * @private
2895
- */
2896
- declare interface RowBase {
2897
- id: string;
2898
- rowId: string;
2899
- name: string;
2900
- description?: string;
2901
- assets: Assets;
2902
- type: ScreenRowType;
2903
- isLiveRow: boolean;
2904
- numberOfLines?: number;
2905
- monetizations?: {
2906
- monetizationRef: any;
2907
- }[];
2908
- }
2909
-
2910
3389
  /**
2911
3390
  * @public
2912
3391
  */
@@ -2915,13 +3394,14 @@ export declare enum RowComponent {
2915
3394
  BANNER = "BANNER"
2916
3395
  }
2917
3396
 
2918
- declare enum RowFilterCollection {
3397
+ export declare enum RowFilterCollection {
2919
3398
  VIDEOS = "videos",
2920
3399
  /**
2921
3400
  * This is not real collection path. Path always should be ${organizationId}/tags
2922
3401
  */
2923
3402
  TAGS = "tags",
2924
- TV_CHANNELS = "tvChannels"
3403
+ TV_CHANNELS = "tvChannels",
3404
+ CONTENTS = "contents"
2925
3405
  }
2926
3406
 
2927
3407
  /**
@@ -2931,19 +3411,66 @@ declare enum RowFilterCollection {
2931
3411
  export declare interface RowFilterField {
2932
3412
  collection: RowFilterCollection;
2933
3413
  limit?: number;
2934
- orderBy: {
3414
+ orderBy?: {
2935
3415
  fieldPath: RowOrderByFieldPath;
2936
- directionStr: OrderByDirection;
3416
+ directionStr?: OrderByDirection;
2937
3417
  };
2938
- where: RowFilterWhereField[];
3418
+ where?: RowFilterWhereField[];
2939
3419
  }
2940
3420
 
2941
- declare interface RowFilterWhereField {
3421
+ export declare interface RowFilterWhereField {
2942
3422
  fieldPath: RowWhereFilterFieldPath;
2943
3423
  opStr: WhereFilterOp;
2944
3424
  value: any;
2945
3425
  }
2946
3426
 
3427
+ export declare type RowInScreen = {
3428
+ /**
3429
+ * Firebase document path. If not provided, the row is not defined in db and is dynamically generated (e.g. recommendation row).
3430
+ */
3431
+ path?: string;
3432
+ /**
3433
+ * Tivio row ID.
3434
+ */
3435
+ rowId: string;
3436
+ /**
3437
+ * If all items are from the same organization this will be set.
3438
+ */
3439
+ organizationId?: string;
3440
+ /**
3441
+ * Row name.
3442
+ */
3443
+ name: Translation;
3444
+ /**
3445
+ * Row filter based on which to pick tiles.
3446
+ */
3447
+ filter?: RowFilterField;
3448
+ /**
3449
+ * Row order in the screen.
3450
+ */
3451
+ order?: number;
3452
+ /**
3453
+ * Number of lines of the title.
3454
+ */
3455
+ numberOfLines?: number;
3456
+ /**
3457
+ * Standard row or a Banner.
3458
+ */
3459
+ rowComponent: RowComponent;
3460
+ /**
3461
+ * Component to use to render the tiles in the row.
3462
+ */
3463
+ itemComponent: RowItemComponent | BannerItemComponent;
3464
+ /**
3465
+ * Type of the row (continue to watch, custom, filter, ...).
3466
+ */
3467
+ type: ScreenRowType;
3468
+ /**
3469
+ * Items to display in the row.
3470
+ */
3471
+ tiles: GetTilesInRowResponse;
3472
+ };
3473
+
2947
3474
  /**
2948
3475
  * @public
2949
3476
  */
@@ -2952,7 +3479,21 @@ export declare interface RowItem extends RowItemAssets {
2952
3479
  itemType: ROW_ITEM_TYPES;
2953
3480
  name?: string;
2954
3481
  description?: string;
2955
- assets: Assets | null;
3482
+ assets: AssetsField | null;
3483
+ application: RowItemApplicationData | null;
3484
+ feedVisible?: boolean;
3485
+ }
3486
+
3487
+ /**
3488
+ * @public
3489
+ */
3490
+ export declare interface RowItemApplicationData {
3491
+ name: string;
3492
+ logo?: string | null;
3493
+ logoLandscape?: string | null;
3494
+ profilePhoto?: string | null;
3495
+ urlHandle: string;
3496
+ organizationId?: string | null;
2956
3497
  }
2957
3498
 
2958
3499
  /**
@@ -2962,6 +3503,7 @@ export declare interface RowItemAssets {
2962
3503
  landscape?: string | null;
2963
3504
  portrait?: string | null;
2964
3505
  circled?: string | null;
3506
+ square?: string | null;
2965
3507
  banner?: string | null;
2966
3508
  bannerMobile?: string | null;
2967
3509
  }
@@ -2972,7 +3514,12 @@ export declare interface RowItemAssets {
2972
3514
  export declare enum RowItemComponent {
2973
3515
  ROW_ITEM_PORTRAIT = "ROW_ITEM_PORTRAIT",
2974
3516
  ROW_ITEM_LANDSCAPE = "ROW_ITEM_LANDSCAPE",
2975
- ROW_ITEM_CIRCLED = "ROW_ITEM_CIRCLED"
3517
+ ROW_ITEM_SQUARE = "ROW_ITEM_SQUARE",
3518
+ ROW_ITEM_CREATORS_SQUARE = "ROW_ITEM_CREATORS_SQUARE",
3519
+ ROW_ITEM_CREATORS_LANDSCAPE = "ROW_ITEM_CREATORS_LANDSCAPE",
3520
+ ROW_ITEM_CIRCLED = "ROW_ITEM_CIRCLED",
3521
+ ROW_ITEM_HIGHLIGHTED = "ROW_ITEM_HIGHLIGHTED",
3522
+ ROW_ITEM_PLAIN = "ROW_ITEM_PLAIN"
2976
3523
  }
2977
3524
 
2978
3525
  /**
@@ -2999,9 +3546,9 @@ export declare enum RowOrderByFieldPath {
2999
3546
  }
3000
3547
 
3001
3548
  /**
3002
- * @private
3549
+ * @public
3003
3550
  */
3004
- export declare interface RowStandard extends RowBase {
3551
+ export declare interface RowStandard extends Row {
3005
3552
  rowComponent: RowComponent.ROW;
3006
3553
  itemComponent: RowItemComponent;
3007
3554
  }
@@ -3012,7 +3559,10 @@ export declare enum RowWhereFilterFieldPath {
3012
3559
  TAG_TYPE_REF = "tagTypeRef",
3013
3560
  TYPE = "type",
3014
3561
  CONTENT_TYPE = "contentType",
3015
- CHANNEL_KEY = "channelKey"
3562
+ CHANNEL_KEY = "channelKey",
3563
+ PUBLISHED_STATUS = "publishedStatus",
3564
+ ORGANIZATION_REF = "organizationRef",
3565
+ TRANSCODING_STATUS = "transcodingStatus"
3016
3566
  }
3017
3567
 
3018
3568
  /**
@@ -3036,20 +3586,35 @@ declare interface Screen_2 {
3036
3586
  id: string;
3037
3587
  name: string | null;
3038
3588
  description?: string | null;
3039
- assets: Assets;
3040
- rows: Row[];
3589
+ assets: AssetsField;
3590
+ rows: PaginatedResponse<Row>;
3041
3591
  type?: ScreenType;
3042
3592
  filter?: RowFilterField | null;
3043
- embedUrl?: string | null;
3593
+ embedUrl?: string;
3594
+ screenId: string;
3595
+ renderConditions: RenderCondition[];
3596
+ getRenderCondition: (context: {
3597
+ purchasedSubscriptions: Purchase[];
3598
+ }) => RenderCondition | undefined;
3599
+ applyRenderCondition: (payload: ApplyScreenConditionPayload) => {
3600
+ isSignInRequired?: boolean;
3601
+ isPurchaseRequired?: boolean;
3602
+ embedUrl?: string;
3603
+ };
3604
+ fetchMoreRows: () => Promise<void>;
3605
+ hasNextPage: boolean;
3606
+ refetchIfNeeded: () => Promise<void>;
3044
3607
  }
3045
3608
  export { Screen_2 as Screen }
3046
3609
 
3047
3610
  export declare enum ScreenConditionElse {
3048
- SET_QUERY_PARAMS = "setQueryParams"
3611
+ SET_QUERY_PARAMS = "setQueryParams",
3612
+ SHOW_PURCHASE_MODAL = "showPurchaseModal"
3049
3613
  }
3050
3614
 
3051
3615
  export declare enum ScreenConditionType {
3052
- SUBSCRIBED = "subscribed"
3616
+ SUBSCRIBED = "subscribed",
3617
+ SIGNED_IN = "signedIn"
3053
3618
  }
3054
3619
 
3055
3620
  /**
@@ -3059,24 +3624,18 @@ export declare type ScreenConfig = {
3059
3624
  id: string;
3060
3625
  name: string;
3061
3626
  route?: string;
3627
+ isHiddenFromMenu?: boolean;
3062
3628
  showForUserProfileType?: {
3063
3629
  kids: boolean;
3064
3630
  adults: boolean;
3065
3631
  };
3632
+ monetizationAccessIds?: string[];
3066
3633
  };
3067
3634
 
3068
3635
  /**
3069
3636
  * @public
3070
3637
  */
3071
- export declare type ScreenOptions = Partial<{
3072
- language: LangCode;
3073
- initRows: boolean;
3074
- }> & DocumentOptions;
3075
-
3076
- /**
3077
- * @public
3078
- */
3079
- export declare type ScreenRowType = 'filter' | 'custom' | 'continueToWatch' | 'favourites' | 'topWatched';
3638
+ export declare type ScreenRowType = 'filter' | 'custom' | 'continueToWatch' | 'favourites' | 'topWatched' | 'applications';
3080
3639
 
3081
3640
  /**
3082
3641
  * Listen to screen data
@@ -3090,7 +3649,9 @@ export declare type ScreenSubscription = (screenId: string, cb: (error: Error |
3090
3649
  export declare enum ScreenType {
3091
3650
  DEFAULT = "default",
3092
3651
  GRID = "grid",
3093
- EMBED = "embed"
3652
+ EMBED = "embed",
3653
+ RECOMMENDATION = "recommendation",
3654
+ FEED = "feed"
3094
3655
  }
3095
3656
 
3096
3657
  /**
@@ -3131,6 +3692,12 @@ export declare enum SemanticDate {
3131
3692
  TOMORROW = "Tomorrow"
3132
3693
  }
3133
3694
 
3695
+ export declare interface SendFinalizeRegistrationEmailPayload {
3696
+ email: string;
3697
+ userId: string;
3698
+ authUserId: string;
3699
+ }
3700
+
3134
3701
  /**
3135
3702
  * Used for entities, that can be global (e.g. asset presets, tag types).
3136
3703
  * Non-global is stored under organizations (in sub-collection), and shown for organization's users and super-admin.
@@ -3156,6 +3723,15 @@ export declare const setUser: (userId: string | null, payload?: UserPayload) =>
3156
3723
  */
3157
3724
  export declare const showGdprConsentPreferences: () => Promise<void>;
3158
3725
 
3726
+ export declare enum SocialNetworks {
3727
+ FACEBOOK = 0,
3728
+ INSTAGRAM = 1,
3729
+ TWITTER = 2,
3730
+ LINKED_IN = 3,
3731
+ EMAIL = 4,
3732
+ YOUTUBE = 5
3733
+ }
3734
+
3159
3735
  /**
3160
3736
  * @public
3161
3737
  */
@@ -3241,13 +3817,18 @@ export declare type StartAndContinuePosition = {
3241
3817
  declare interface StorageManager_2 {
3242
3818
  getItem(key: string): string | null | Promise<string | null>;
3243
3819
  setItem(key: string, value: string): void | Promise<void>;
3820
+ removeItem(key: string): void | Promise<void>;
3244
3821
  }
3245
3822
  export { StorageManager_2 as StorageManager }
3246
3823
 
3824
+ export declare interface StoreBadgeConfig {
3825
+ appId: string;
3826
+ }
3827
+
3247
3828
  /**
3248
3829
  * @public
3249
3830
  */
3250
- export declare type SubscribeToItemsInRow = (rowId: string, cb: (error: Error | null, data: PaginationInterface<ItemsInRow> | null) => void, options?: SubscribeToItemsInRowOptions) => Disposer_2;
3831
+ export declare type SubscribeToItemsInRow = (rowId: string, cb: (error: Error | null, data: PaginationInterface<ItemInRow> | null) => void, options?: SubscribeToItemsInRowOptions) => Disposer_2;
3251
3832
 
3252
3833
  /**
3253
3834
  * @public
@@ -3263,11 +3844,6 @@ export declare type SubscribeToItemsInRowOptions = Partial<{
3263
3844
  */
3264
3845
  export declare type SubscribeToRowsInScreen = (screenId: string, cb: (error: Error | null, data: PaginationInterface<Row> | null) => void, options?: PaginationOptions) => Disposer_2;
3265
3846
 
3266
- /**
3267
- * @public
3268
- */
3269
- export declare type SubscribeToScreen = (screenId: string, cb: (error: Error | null, data: Screen_2 | null) => void, options?: ScreenOptions) => Disposer_2;
3270
-
3271
3847
  /**
3272
3848
  * @public
3273
3849
  */
@@ -3295,7 +3871,7 @@ export declare interface SuccessConfirmationOverlayPayload extends ConfirmationO
3295
3871
  confirmButtonText?: string;
3296
3872
  }
3297
3873
 
3298
- export declare type SynchronizeUserTypeFunction = (payload: CreateUserPayload, tenantId: string, tenantUserId: string) => Promise<string>;
3874
+ export declare type SynchronizeUserTypeFunction = (payload: CreateUserPayload, tenantId: string, tenantUserId: string, organizationId?: string) => Promise<string>;
3299
3875
 
3300
3876
  /**
3301
3877
  * @public
@@ -3305,7 +3881,7 @@ export declare interface Tag extends RowItem {
3305
3881
  itemType: ROW_ITEM_TYPES.TAG;
3306
3882
  tagId: string;
3307
3883
  type?: string | null;
3308
- metadata?: any[];
3884
+ metadata?: TagMetadataField[];
3309
3885
  color?: string;
3310
3886
  detailBanner?: string;
3311
3887
  availableSeasons?: AvailableSeason[];
@@ -3313,6 +3889,17 @@ export declare interface Tag extends RowItem {
3313
3889
  addToFavorites: () => void;
3314
3890
  removeFromFavorites: () => void;
3315
3891
  cover: string;
3892
+ getApplicationName: () => string | undefined;
3893
+ }
3894
+
3895
+ export declare interface TagAvailableSeasonsFieldType extends TagMetadataFieldDefinition {
3896
+ type: TagMetadataFieldType.AVAILABLE_SEASONS;
3897
+ value: AvailableSeasonField[];
3898
+ }
3899
+
3900
+ export declare interface TagBooleanFieldType extends TagMetadataFieldDefinition {
3901
+ type: TagMetadataFieldType.BOOLEAN;
3902
+ value: boolean;
3316
3903
  }
3317
3904
 
3318
3905
  /**
@@ -3320,6 +3907,61 @@ export declare interface Tag extends RowItem {
3320
3907
  */
3321
3908
  export declare type TaggedVideosOrderByField = 'seasonNumber' | 'episodeNumber' | 'contentType' | DefaultOrderByField;
3322
3909
 
3910
+ export declare type TagMetadataField = TagStringFieldType | TagNumberFieldType | TagBooleanFieldType | TagTranslationFieldType | TagAvailableSeasonsFieldType | TagOrganizationRefFieldType;
3911
+
3912
+ export declare interface TagMetadataFieldDefinition {
3913
+ key: string;
3914
+ type: TagMetadataFieldType;
3915
+ }
3916
+
3917
+ export declare enum TagMetadataFieldType {
3918
+ STRING = "STRING",
3919
+ TRANSLATION = "TRANSLATION",
3920
+ NUMBER = "NUMBER",
3921
+ BOOLEAN = "BOOLEAN",
3922
+ AVAILABLE_SEASONS = "AVAILABLE_SEASONS",
3923
+ ORGANIZATION_REF = "ORGANIZATION_REF"
3924
+ }
3925
+
3926
+ export declare interface TagNumberFieldType extends TagMetadataFieldDefinition {
3927
+ type: TagMetadataFieldType.NUMBER;
3928
+ value: number;
3929
+ }
3930
+
3931
+ export declare interface TagOrganizationRefFieldType extends TagMetadataFieldDefinition {
3932
+ type: TagMetadataFieldType.ORGANIZATION_REF;
3933
+ value: DocumentReference<any>;
3934
+ }
3935
+
3936
+ export declare enum TagSimplicityType {
3937
+ /**
3938
+ * Simple tags
3939
+ */
3940
+ SIMPLE = "SIMPLE",
3941
+ /**
3942
+ * Composed of simple tags. Used for filtering by tagA AND tagB by using one composed tag tagA__tagB
3943
+ */
3944
+ COMPOSED = "COMPOSED"
3945
+ }
3946
+
3947
+ export declare interface TagStringFieldType extends TagMetadataFieldDefinition {
3948
+ type: TagMetadataFieldType.STRING;
3949
+ value: string;
3950
+ }
3951
+
3952
+ export declare interface TagTileSpecificData {
3953
+ assets?: AssetsField;
3954
+ tagId: string;
3955
+ metadata: TagMetadataField[];
3956
+ simplicity: TagSimplicityType;
3957
+ tagTypePath?: string;
3958
+ }
3959
+
3960
+ export declare interface TagTranslationFieldType extends TagMetadataFieldDefinition {
3961
+ type: TagMetadataFieldType.TRANSLATION;
3962
+ value: Translation;
3963
+ }
3964
+
3323
3965
  export declare type Tier = {
3324
3966
  attributes: {
3325
3967
  amount_cents: number;
@@ -3338,19 +3980,53 @@ export declare interface TileApplicationData {
3338
3980
  name: Translation;
3339
3981
  description?: string;
3340
3982
  logo: string;
3983
+ organizationBanner?: string;
3341
3984
  urlHandle: string;
3342
3985
  organizationId: string;
3343
3986
  type: ApplicationType;
3987
+ profilePhoto?: string;
3988
+ }
3989
+
3990
+ export declare interface TileData<ItemSpecificData = VideoTileSpecificData | TvChannelTileSpecificData | TagTileSpecificData | ArticleTileSpecificData> {
3991
+ /**
3992
+ * Tile item ID.
3993
+ */
3994
+ id: string;
3995
+ /**
3996
+ * Timestamp of the item creation.
3997
+ */
3998
+ created: number;
3999
+ /**
4000
+ * Type of the tile. VIDEO, TV_CHANNEL, TAG, ...
4001
+ */
4002
+ itemType: ROW_ITEM_TYPES;
4003
+ /**
4004
+ * Tile item name translation.
4005
+ */
4006
+ name: Translation;
4007
+ /**
4008
+ * Firestore path to the item.
4009
+ */
4010
+ path: string;
4011
+ /**
4012
+ * Application info including logo, name and number of videos.
4013
+ */
4014
+ application?: TileApplicationData;
4015
+ /**
4016
+ * Specific data for an item type (e.g. video, tv channel, tag, ...).
4017
+ */
4018
+ itemSpecificData: ItemSpecificData;
3344
4019
  }
3345
4020
 
3346
4021
  /**
3347
4022
  * @public
3348
4023
  */
3349
- export declare type TileProps = {
4024
+ export declare interface TileProps {
3350
4025
  children?: React_2.ReactNode;
3351
- cover: string;
4026
+ cover?: string;
3352
4027
  bottomLabel: string;
3353
4028
  bottomLabelAreaHeight: number;
4029
+ bottomComponent?: React_2.ReactNode;
3354
4030
  innerLabel: string;
3355
4031
  duration: string;
3356
4032
  price: string | null;
@@ -3363,7 +4039,9 @@ export declare type TileProps = {
3363
4039
  progress?: number;
3364
4040
  time?: string;
3365
4041
  logo?: string;
4042
+ bigLogo?: string;
3366
4043
  coverHeight: number;
4044
+ aspectRatio?: number;
3367
4045
  /**
3368
4046
  * Margin of inner TileContainer.
3369
4047
  * Now used for backward compatibility for WebTileGrid. Consider to use it other way.
@@ -3371,7 +4049,12 @@ export declare type TileProps = {
3371
4049
  containerMargin?: number | string;
3372
4050
  created?: Date;
3373
4051
  numberOfLines?: number;
3374
- };
4052
+ applicationName?: string;
4053
+ applicationLogo?: string;
4054
+ hasBranding?: boolean;
4055
+ applicationHandle?: string;
4056
+ fullWidth?: boolean;
4057
+ }
3375
4058
 
3376
4059
  /**
3377
4060
  * @public
@@ -3423,7 +4106,7 @@ export declare type TivioBundleFile = {
3423
4106
  /**
3424
4107
  * @public
3425
4108
  */
3426
- export declare type TivioComponents = {
4109
+ export declare interface TivioComponents {
3427
4110
  Markers: React_2.ComponentType<MarkersProps>;
3428
4111
  PlayerDataContext: React_2.Context<{
3429
4112
  player: any | null;
@@ -3445,6 +4128,7 @@ export declare type TivioComponents = {
3445
4128
  FeatureSupportCheck: React_2.ComponentType;
3446
4129
  CustomerScreen: React_2.ComponentType<{
3447
4130
  screenId: string;
4131
+ screen: Screen_2;
3448
4132
  }>;
3449
4133
  WebTagScreen: React_2.ComponentType<{
3450
4134
  tagId: string;
@@ -3456,11 +4140,13 @@ export declare type TivioComponents = {
3456
4140
  }>;
3457
4141
  WebRow: React_2.ComponentType<WebRowProps>;
3458
4142
  WebTile: React_2.ComponentType<{
3459
- item?: ItemsInRow;
4143
+ item?: ItemInRow;
3460
4144
  } & TilePropsPartial>;
3461
4145
  ChannelContext: React_2.Context<TvChannel | undefined>;
3462
4146
  ContentSortPicker: React_2.ComponentType<ContentSortPickerProps>;
3463
- };
4147
+ WebProfileScreen: React_2.ComponentType<WebProfileScreenProps>;
4148
+ WebTivioProVideoScreen: React_2.ComponentType<WebTivioProVideoScreenProps>;
4149
+ }
3464
4150
 
3465
4151
  /**
3466
4152
  * @public
@@ -3487,10 +4173,13 @@ export declare interface TivioConfig {
3487
4173
  debug?: boolean;
3488
4174
  verbose?: boolean;
3489
4175
  firebaseApp?: any | null;
4176
+ firebaseFactory?: (config: Object, appName?: string) => firebase.FirebaseApp;
4177
+ authDomainOverride?: string;
3490
4178
  firestore?: any | null;
3491
4179
  currency: Currency;
3492
4180
  applicationId?: string;
3493
4181
  isTivioProApp?: boolean;
4182
+ lockApplicationHandle?: string;
3494
4183
  /**
3495
4184
  * Configuration for GDPR consent collection (CMP)
3496
4185
  */
@@ -3551,7 +4240,7 @@ export declare type TivioHooks = {
3551
4240
  useAdSegment: () => AdSegment_2 | null;
3552
4241
  useCancelSubscription: UseCancelSubscription;
3553
4242
  useItemsInRow: (rowId?: string, options?: PaginationOptions) => {
3554
- pagination: PaginationInterface<ItemsInRow> | null;
4243
+ pagination: PaginationInterface<ItemInRow> | null;
3555
4244
  error: Error | null;
3556
4245
  };
3557
4246
  usePurchaseRecovery: () => {
@@ -3616,6 +4305,7 @@ export declare type TivioInternalComponents = {
3616
4305
  onClose: (selectedProfileId: string) => void;
3617
4306
  }>;
3618
4307
  Banner: React_2.ComponentType<BannerPropsPartial>;
4308
+ CustomAppHistoryContext: React_2.Context<HistoryContextData | undefined>;
3619
4309
  };
3620
4310
 
3621
4311
  /**
@@ -3632,7 +4322,7 @@ export declare type TivioInternalHooks = {
3632
4322
  pagination: PaginationInterface<Video> | null;
3633
4323
  error: Error | null;
3634
4324
  };
3635
- useSimilars: () => {
4325
+ useSimilars: (shouldLoadApplicationsOfOrganizations?: boolean) => {
3636
4326
  getSimilars: ({ videoId, similarsQuery }: {
3637
4327
  videoId: string;
3638
4328
  similarsQuery?: RecommendationsQuery | undefined;
@@ -3646,9 +4336,12 @@ export declare type TivioInternalHooks = {
3646
4336
  useCurrentApplication: () => {
3647
4337
  screenConfigs: ScreenConfig[] | undefined;
3648
4338
  isLoading: boolean;
3649
- switchApplicationByHandle: (handle?: string) => (Promise<void> | undefined);
3650
4339
  isDefaultOrganization: boolean;
3651
4340
  };
4341
+ useDefaultApplication: () => {
4342
+ isLoading: boolean;
4343
+ screenConfigs: ScreenConfig[] | undefined;
4344
+ };
3652
4345
  useIsMonetizationPurchased: () => {
3653
4346
  isOneOfSubscriptionPurchased: (subscriptionIds: string[]) => boolean;
3654
4347
  };
@@ -3673,6 +4366,7 @@ export declare type TivioInternalHooks = {
3673
4366
  useOrganization: () => Organization | null;
3674
4367
  useRow: UseRow;
3675
4368
  useScreen: (screenId: string | null) => Screen_2 | null;
4369
+ useCustomAppHistory: () => HistoryContextData;
3676
4370
  };
3677
4371
 
3678
4372
  /**
@@ -3953,9 +4647,9 @@ export declare type TriggerType = 'scheduled' | 'manual';
3953
4647
  /**
3954
4648
  * @public
3955
4649
  */
3956
- export declare type TvAppProps = {
4650
+ export declare interface TvAppProps {
3957
4651
  customer: CustomerId;
3958
- };
4652
+ }
3959
4653
 
3960
4654
  /**
3961
4655
  * @public
@@ -3989,6 +4683,19 @@ export declare interface TvChannel extends RowItem {
3989
4683
  type?: TvChannelType;
3990
4684
  }
3991
4685
 
4686
+ export declare interface TvChannelAssetValue extends ScalableAsset {
4687
+ pendingOverlayWidth: string;
4688
+ }
4689
+
4690
+ export declare interface TvChannelTileSpecificData {
4691
+ type: TvChannelType;
4692
+ channelKey: string;
4693
+ filters: string[];
4694
+ sources: VideoSourceField[];
4695
+ organizationId: string;
4696
+ assets?: AssetsField<TvChannelAssetValue>;
4697
+ }
4698
+
3992
4699
  export declare enum TvChannelType {
3993
4700
  /**
3994
4701
  * Classic live tv channel
@@ -4058,6 +4765,8 @@ export declare enum TvStreamType {
4058
4765
  */
4059
4766
  export declare const TvTivioProvider: React_2.FC<TivioProviderProps>;
4060
4767
 
4768
+ export declare type UpsertCommentResponse = AddEditCommentResponse | DeleteCommentResponse;
4769
+
4061
4770
  /**
4062
4771
  * @public
4063
4772
  */
@@ -4142,6 +4851,41 @@ export declare const useChannelSource: (tvChannelId: string) => {
4142
4851
  source: null;
4143
4852
  };
4144
4853
 
4854
+ /**
4855
+ * @public
4856
+ */
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>;
4862
+ };
4863
+
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
+
4145
4889
  /**
4146
4890
  * @public
4147
4891
  */
@@ -4204,7 +4948,7 @@ export declare const useIsMonetizationPurchased: () => {
4204
4948
  * @public
4205
4949
  */
4206
4950
  export declare const useItemsInRow: (rowId?: string, options?: SubscribeToItemsInRowOptions) => {
4207
- pagination: PaginationInterface<ItemsInRow> | null;
4951
+ pagination: PaginationInterface<ItemInRow> | null;
4208
4952
  error: Error | null;
4209
4953
  };
4210
4954
 
@@ -4264,6 +5008,7 @@ export declare type User = {
4264
5008
  * Returns all PAID or CANCELLED user purchases (expired and non-expired)
4265
5009
  */
4266
5010
  allPurchases: Purchase[];
5011
+ availablePromotionsIds: string[];
4267
5012
  /**
4268
5013
  * Returns "active" (not CANCELLED) VoD purchases ("transaction" type)
4269
5014
  */
@@ -4277,6 +5022,7 @@ export declare type User = {
4277
5022
  */
4278
5023
  extendableSubscription?: Purchase;
4279
5024
  getPurchasedVideos: () => Video[];
5025
+ getOneTimePurchases: () => Purchase[];
4280
5026
  isPurchasesInitialized: boolean;
4281
5027
  isSignedIn: boolean;
4282
5028
  isReady: boolean;
@@ -4290,14 +5036,41 @@ export declare type User = {
4290
5036
  authUserId?: string;
4291
5037
  favorites: any[];
4292
5038
  watchedPositions: any[];
5039
+ watchHistory: any[];
4293
5040
  profiles: any[];
4294
5041
  activeUserProfileId: string | null;
4295
5042
  patreon?: PatreonUserAuth;
5043
+ subscriptionIdsToShow: string[] | null;
5044
+ followedOrganizationIds: string[];
5045
+ isAnonymous: boolean;
5046
+ isDiscordConnected: boolean;
4296
5047
  createUserProfile: (request: any) => Promise<void>;
4297
5048
  deleteUserProfile: (profileId: string) => Promise<void>;
4298
5049
  setActiveUserProfileId: (id: string) => void;
5050
+ getFollowedOrganizations: () => Promise<Array<FollowedOrganizationData | undefined>>;
5051
+ sendFinalizeRegistrationEmail: (email: string) => Promise<void>;
5052
+ isUserAlreadyRegisteredByTenant: (email: string, tenantId: string) => Promise<boolean>;
5053
+ };
5054
+
5055
+ /**
5056
+ * @public
5057
+ */
5058
+ export declare type UseReactions = (options: UseReactionsOptions) => {
5059
+ react: () => void;
5060
+ count: number;
5061
+ hasReacted: boolean;
4299
5062
  };
4300
5063
 
5064
+ /**
5065
+ * @public
5066
+ */
5067
+ export declare interface UseReactionsOptions {
5068
+ content: ReactableContent;
5069
+ reactionType: ReactionEnum;
5070
+ onUnauthorized?: () => void;
5071
+ onError?: (error: Error) => void;
5072
+ }
5073
+
4301
5074
  export declare enum UserGroup {
4302
5075
  ALL = "all",
4303
5076
  FREE = "free",
@@ -4454,7 +5227,7 @@ export declare const useVoucher: (voucherId: string) => {
4454
5227
  voucher: Voucher | null;
4455
5228
  /**
4456
5229
  * You can check error.details if you need to know error type when you want your own error messages
4457
- * (can be one of "DOES_NOT_EXIST", "EXPIRED" and "ALREADY_USED").
5230
+ * (can be one of "DOES_NOT_EXIST", "EXPIRED", "ALREADY_USED_BY_CURRENT_USER" and "ALREADY_USED").
4458
5231
  */
4459
5232
  error: Error | BadRequestError | null;
4460
5233
  /**
@@ -4518,7 +5291,7 @@ export declare interface verifyCustomTokenProps {
4518
5291
  /**
4519
5292
  * @public
4520
5293
  */
4521
- export declare interface Video extends RowItem {
5294
+ export declare interface Video extends RowItem, MonetizableItem, ReactableContent {
4522
5295
  id: string;
4523
5296
  itemType: ROW_ITEM_TYPES.VIDEO;
4524
5297
  /**
@@ -4527,35 +5300,31 @@ export declare interface Video extends RowItem {
4527
5300
  cover: string | null;
4528
5301
  sectionId: string | null;
4529
5302
  channelId: string | null;
4530
- /**
4531
- * seconds
4532
- */
4533
5303
  duration: number;
4534
5304
  path: string;
4535
5305
  tags: Tag[];
4536
5306
  image: string | null;
4537
5307
  isPlayable: boolean;
4538
5308
  monetizations: Monetization[];
4539
- /**
4540
- * Returns all transactions and subscriptions applied to this video.
4541
- * Transactions before subscriptions, sorted by price ascending.
4542
- */
4543
- getPurchasableMonetizations(options?: GetPurchasableMonetizationsOptions): PurchasableMonetization[];
4544
5309
  getSourceUrl(options?: {
4545
5310
  language?: LangCode;
4546
5311
  }): Promise<GetSourceUrlResponse & {
4547
5312
  language?: LangCode;
4548
5313
  }>;
4549
- getSeekingMatrixPreviewByTime(timeMs: number, offsetIndex: number): {
5314
+ getSeekingMatrixPreviewByTime(timeMs: number, offsetIndex?: number): {
4550
5315
  url: string;
4551
5316
  x: number;
4552
5317
  y: number;
5318
+ width: number;
5319
+ height: number;
5320
+ interval: number;
4553
5321
  timeMs: number;
4554
5322
  } | null;
4555
5323
  purchasableMonetization: any | null;
4556
5324
  transaction: PurchasableMonetization | undefined;
4557
5325
  subscriptions: PurchasableMonetization[];
4558
5326
  sources?: any[];
5327
+ allSources?: any[];
4559
5328
  isPlaylist: boolean;
4560
5329
  name: string;
4561
5330
  urlNames?: string[];
@@ -4567,34 +5336,38 @@ export declare interface Video extends RowItem {
4567
5336
  from?: Date;
4568
5337
  to?: Date;
4569
5338
  detailBanner?: string;
4570
- linkedVideosRaw: any[];
4571
- linkedVideos: LinkedVideo[];
5339
+ descriptionRich?: string;
5340
+ organizationId?: string;
5341
+ linkedVideosRaw: LinkedVideoRaw[] | undefined;
5342
+ linkedVideos: LinkedVideo[] | undefined;
5343
+ pipPaths?: string[];
4572
5344
  contentType: VideoContentType | null;
4573
5345
  year?: number;
4574
5346
  episodeNumber?: number;
4575
5347
  seasonNumber?: number;
4576
5348
  getTagsOfType: (type: string) => Tag[];
5349
+ geoBlocking: GeoBlocking | undefined;
4577
5350
  loadLinkedVideos: () => any;
4578
5351
  getLinkedVideos: (type: any) => any;
4579
5352
  trailer: Video | null;
5353
+ teaser: Video | null;
5354
+ hasTasting: boolean;
5355
+ isTastingValid: () => boolean;
5356
+ tasting: Video | null;
4580
5357
  watchPosition: number | null;
4581
5358
  isFavorite: boolean;
4582
5359
  addToFavorites: () => void;
4583
5360
  removeFromFavorites: () => void;
4584
- availability: VideoAvailability | null;
5361
+ availability: ContentAvailability | null;
4585
5362
  sourceLanguages: LangCode[];
4586
5363
  urlByLanguage: (lang: LangCode) => string | undefined;
5364
+ getApplicationName: () => string | undefined;
5365
+ getApplicationLogo: () => string | undefined;
5366
+ setApplicationData: (applicationData: RowItemApplicationData) => void;
5367
+ linkedVideosInNotLoaded: () => boolean | undefined;
5368
+ initApplication: () => Promise<void>;
4587
5369
  }
4588
5370
 
4589
- /**
4590
- * @public
4591
- */
4592
- export declare type VideoAvailability = {
4593
- from: Date;
4594
- to: Date | null;
4595
- manual: boolean;
4596
- };
4597
-
4598
5371
  /**
4599
5372
  * @public
4600
5373
  */
@@ -4628,6 +5401,25 @@ export declare enum VideoSourceEncryption {
4628
5401
  PLAYREADY = "playready"
4629
5402
  }
4630
5403
 
5404
+ export declare interface VideoSourceField {
5405
+ codec: VideoSourceCodec;
5406
+ /**
5407
+ * DRM provider for given encrypted source.
5408
+ *
5409
+ * If encryption is {@link VideoSourceEncryption.NONE}, DRM provider should not be set.
5410
+ * If encryption is set to anything other than {@link VideoSourceEncryption.NONE} and DRM provider is not set, we pick the default one.
5411
+ */
5412
+ drmProvider?: DrmProvider;
5413
+ encryption: VideoSourceEncryption;
5414
+ /**
5415
+ * Lower number = higher priority (so 1 equals highest priority)
5416
+ */
5417
+ priority: VideoSourcePriority;
5418
+ protocol: VideoSourceProtocol;
5419
+ url: string;
5420
+ languages?: LangCode[];
5421
+ }
5422
+
4631
5423
  /**
4632
5424
  * Lower number = higher priority.
4633
5425
  */
@@ -4639,6 +5431,37 @@ export declare enum VideoSourceProtocol {
4639
5431
  MP4 = "mp4"
4640
5432
  }
4641
5433
 
5434
+ export declare interface VideoTileSpecificData {
5435
+ cover?: string;
5436
+ assets?: AssetsField;
5437
+ episodeNumber?: number;
5438
+ seasonNumber?: number;
5439
+ urlName?: VideoUrlNames;
5440
+ }
5441
+
5442
+ /**
5443
+ * Transcoding status of uploaded video.
5444
+ * @public
5445
+ */
5446
+ export declare enum VideoTranscodingStatus {
5447
+ /**
5448
+ * Video is not transcoded yet. It's in the queue, though.
5449
+ */
5450
+ ON_HOLD = "CREATED",
5451
+ /**
5452
+ * Video is being transcoded.
5453
+ */
5454
+ IN_PROGRESS = "ENCODING",
5455
+ /**
5456
+ * Video has been transcoded.
5457
+ */
5458
+ DONE = "ENCODING_DONE",
5459
+ /**
5460
+ * An error occured during transcoding.
5461
+ */
5462
+ ERROR = "ERROR"
5463
+ }
5464
+
4642
5465
  /**
4643
5466
  * Video type.
4644
5467
  * @public
@@ -4660,11 +5483,20 @@ export declare enum VideoType {
4660
5483
  * Part of video original video like TRAILER.
4661
5484
  */
4662
5485
  TRAILER = "TRAILER",
5486
+ /**
5487
+ * Timeshift.
5488
+ */
4663
5489
  TV_PROGRAM = "TV_PROGRAM",
4664
5490
  /**
4665
5491
  * Video object represents whole series, e.g. tv show.
4666
5492
  */
4667
- SERIES = "SERIES"
5493
+ SERIES = "SERIES",
5494
+ TEASER = "TEASER",
5495
+ TASTING = "TASTING",
5496
+ /**
5497
+ * Video that is in locked state and is used in virtual channel EPG.
5498
+ */
5499
+ VIRTUAL_PROGRAM = "VIRTUAL_PROGRAM"
4668
5500
  }
4669
5501
 
4670
5502
  /**
@@ -4753,7 +5585,7 @@ export declare interface VodTivioSourceInterface extends PlayerSourceInterface<S
4753
5585
  watermark: Watermark | null;
4754
5586
  canWatchOnDevice: boolean;
4755
5587
  isAvailable: boolean;
4756
- availability: VideoAvailability | null;
5588
+ availability: ContentAvailability | null;
4757
5589
  video: Video;
4758
5590
  clone: (params?: Partial<VodTivioSourceParams>) => VodTivioSourceInterface;
4759
5591
  }
@@ -4766,6 +5598,7 @@ export declare interface VodTivioSourceParams extends PlayerSourceParams<SourceT
4766
5598
  adMonetizationId?: string;
4767
5599
  language?: LangCode;
4768
5600
  drm?: Drm;
5601
+ ignoreWatchPosition?: boolean;
4769
5602
  }
4770
5603
 
4771
5604
  /**
@@ -4786,6 +5619,7 @@ export declare interface WarningConfirmationOverlayPayload extends ConfirmationO
4786
5619
  type: 'warning';
4787
5620
  confirmButtonText?: string;
4788
5621
  closeButtonText?: string;
5622
+ subscriptionExpirationText?: string;
4789
5623
  }
4790
5624
 
4791
5625
  /**
@@ -4796,16 +5630,216 @@ export declare interface Watermark {
4796
5630
  size: 'large' | 'medium';
4797
5631
  }
4798
5632
 
5633
+ export declare interface WebConfig {
5634
+ customer: CustomerId;
5635
+ title?: string;
5636
+ description?: string;
5637
+ logo: string;
5638
+ mobileLogo?: string;
5639
+ /**
5640
+ * Logo for loading overlay, if not present, logo is used.
5641
+ */
5642
+ logoLoadingOverlay?: string;
5643
+ tivio: WebTivioConfig;
5644
+ appColorMode?: 'light' | 'dark';
5645
+ header?: {
5646
+ /**
5647
+ * Text on buy voucher button, if not provided the default text will be used.
5648
+ */
5649
+ buyVoucherButtonText?: string;
5650
+ allowSearch?: boolean;
5651
+ logoHeight?: string;
5652
+ mobileLogoHeight?: string;
5653
+ buySubscriptionButtonText?: string;
5654
+ };
5655
+ footer?: {
5656
+ /**
5657
+ * If logo is different from logo in header
5658
+ */
5659
+ logo?: string;
5660
+ showLogo?: boolean;
5661
+ /**
5662
+ * right panel - various type of contacts to owners of website
5663
+ */
5664
+ contacts?: {
5665
+ name: string;
5666
+ contact: string;
5667
+ }[];
5668
+ /**
5669
+ * right panel - important documents for viewer of website that should know about it
5670
+ */
5671
+ documents?: {
5672
+ name: string;
5673
+ href: string;
5674
+ }[];
5675
+ /**
5676
+ * right panel - hyperlinks to social networks
5677
+ */
5678
+ socialNetworks?: {
5679
+ type: SocialNetworks;
5680
+ url: string;
5681
+ }[];
5682
+ /**
5683
+ * right panel - some short common description of website
5684
+ */
5685
+ description?: string;
5686
+ /**
5687
+ * left panel - hyperlinks to stores for downloading native app
5688
+ * if our client has some native app
5689
+ */
5690
+ storeBadges?: {
5691
+ ios?: StoreBadgeConfig;
5692
+ android?: StoreBadgeConfig;
5693
+ };
5694
+ isCentered?: boolean;
5695
+ legalInfo?: {
5696
+ name?: string;
5697
+ address?: string;
5698
+ cin?: string;
5699
+ email?: string;
5700
+ };
5701
+ cookieSettingsLabel?: string;
5702
+ };
5703
+ theme?: {
5704
+ headerType?: PaletteType;
5705
+ };
5706
+ screens?: ScreenConfig[];
5707
+ /**
5708
+ * If content is secured, then landing page is shown to hide content (customer screens, videos etc.),
5709
+ * so app requires authorization to see them.
5710
+ */
5711
+ securedContent?: boolean;
5712
+ /**
5713
+ * CSS styles for application background.
5714
+ */
5715
+ appBackground?: string;
5716
+ /**
5717
+ * CSS styles for application color.
5718
+ */
5719
+ appColor?: string;
5720
+ loader?: {
5721
+ /**
5722
+ * URL to animated image shown on splash screen.
5723
+ */
5724
+ animatedLogo?: string;
5725
+ /**
5726
+ * Defines if progress bar should be shown on loading screen.
5727
+ * Default is TRUE (see {@link AppLoadingOverlay}
5728
+ */
5729
+ showProgressBar?: boolean;
5730
+ };
5731
+ /**
5732
+ * Slug of all pages where user will be forced to fill login form if he's not logged in.
5733
+ */
5734
+ forceLogin?: string[];
5735
+ /**
5736
+ * Hides registration button from the menu and from the login form. Direct access to /registration URL will still work.
5737
+ *
5738
+ * Useful when customer is going to quit a business or leaves Tivio platform - so he doesn't want to allow
5739
+ * a creation of new users anymore.
5740
+ */
5741
+ hideRegistrationButton?: boolean;
5742
+ /**
5743
+ * Hides registration button from the login form.
5744
+ */
5745
+ allowRegistrationFromLoginForm?: boolean;
5746
+ /**
5747
+ * Customization of auth process
5748
+ */
5749
+ /**
5750
+ * When enabled choose subscription button will be shown in the header. After choosing a subscription user will be
5751
+ * redirected to registration form.
5752
+ *
5753
+ * This will also hide registration button from the header
5754
+ */
5755
+ showChooseSubscription?: boolean;
5756
+ registration?: {
5757
+ /**
5758
+ * Customization of auth form
5759
+ */
5760
+ form?: {
5761
+ subtitle?: string;
5762
+ /**
5763
+ * Optional phoneNumber form field
5764
+ */
5765
+ showPhoneNumberField?: boolean;
5766
+ /**
5767
+ * Optional bottomText (e.g. terms & conditions agreement)
5768
+ */
5769
+ bottomText?: string;
5770
+ /**
5771
+ * Toggle for showing acceptance of terms & conditions text
5772
+ */
5773
+ showAcceptanceOfTermsAndConditions?: boolean;
5774
+ };
5775
+ registrationConsent?: string;
5776
+ };
5777
+ payment?: {
5778
+ paymentConsent?: string;
5779
+ };
5780
+ /**
5781
+ * If web supports entering vouchers
5782
+ */
5783
+ supportVouchers?: boolean;
5784
+ /**
5785
+ * Config for Google Tag Manager
5786
+ */
5787
+ googleTagManagerConfig?: TagManagerArgs;
5788
+ customScripts?: CustomScript[];
5789
+ /**
5790
+ * Favicons config
5791
+ */
5792
+ favicons?: {
5793
+ /**
5794
+ * Path to folder with favicons in format generated by https://realfavicongenerator.net
5795
+ */
5796
+ folderPath: string;
5797
+ safariFavicon: {
5798
+ color: string;
5799
+ };
5800
+ msFaviconApplication: {
5801
+ color: string;
5802
+ };
5803
+ };
5804
+ monetizationSelectOverlay?: {
5805
+ title?: string;
5806
+ };
5807
+ /**
5808
+ * Google Analytics ID. If provided, Google Analytics will be enabled.
5809
+ */
5810
+ googleAnalyticsId?: string;
5811
+ /**
5812
+ * If enabled, header menu will be centered.
5813
+ */
5814
+ centeredMenu?: boolean;
5815
+ /**
5816
+ * All values are considered as false if not provided.
5817
+ */
5818
+ socialLogins?: {
5819
+ showAppleLogin?: boolean;
5820
+ showGoogleLogin?: boolean;
5821
+ showPatreonLogin?: boolean;
5822
+ };
5823
+ /**
5824
+ * If the monetizations are filled in, the MonetizationSelectOverlay displays the monetizations from that configuration.
5825
+ */
5826
+ monetizationOverride?: string[];
5827
+ /**
5828
+ * If true, robots.txt will prevent crawling of the website.
5829
+ */
5830
+ norobots?: boolean;
5831
+ }
5832
+
4799
5833
  /**
4800
5834
  * @public
4801
5835
  */
4802
- export declare type WebGridScreenProps = {
5836
+ export declare interface WebGridScreenProps {
4803
5837
  screen?: Screen_2;
4804
5838
  seriesId?: string;
4805
5839
  season?: number;
4806
5840
  rowId?: string;
4807
5841
  videoId?: string;
4808
- };
5842
+ }
4809
5843
 
4810
5844
  /**
4811
5845
  * @public
@@ -4814,6 +5848,10 @@ export declare interface WebPlayerProps {
4814
5848
  id: string;
4815
5849
  source?: SourceParams | VideoPath | ChannelPath | null;
4816
5850
  onEnded?: () => any;
5851
+ /**
5852
+ * If true, the player will inherit the width and height of its parent element.
5853
+ */
5854
+ isSameSizeAsParent?: boolean;
4817
5855
  /**
4818
5856
  * If this function is specified, then "Back" button is shown in top right corner.
4819
5857
  */
@@ -4894,25 +5932,58 @@ export declare interface WebPlayerProps {
4894
5932
  * If true, it does not play the next video when the current video reaches the end.
4895
5933
  */
4896
5934
  disablePlayNext?: boolean;
5935
+ setPaymentOverlayVisible?: React_2.Dispatch<React_2.SetStateAction<boolean>>;
5936
+ }
5937
+
5938
+ /**
5939
+ * @public
5940
+ */
5941
+ export declare interface WebProfileScreenProps {
5942
+ onLogout: () => void;
4897
5943
  }
4898
5944
 
4899
5945
  /**
4900
5946
  * @public
4901
5947
  */
4902
- export declare type WebRowProps = {
4903
- items?: ItemsInRow[];
5948
+ export declare interface WebRowProps {
5949
+ items?: ItemInRow[];
4904
5950
  variant?: RowItemComponent;
4905
5951
  rowName?: string | any;
4906
5952
  fetchMore?: () => void;
4907
- onTileClick?: (item?: ItemsInRow | null) => void;
4908
- };
5953
+ onTileClick?: (item?: ItemInRow | null) => void;
5954
+ }
4909
5955
 
4910
5956
  /**
4911
5957
  * @public
4912
5958
  */
4913
- export declare type WebSeriesDetailScreenProps = {
5959
+ export declare interface WebSeriesDetailScreenProps {
4914
5960
  tagId: string;
4915
- };
5961
+ }
5962
+
5963
+ /**
5964
+ * Previously SdkReactConfig.
5965
+ */
5966
+ export declare interface WebTivioConfig extends Omit<TivioConfig, 'language'> {
5967
+ disableUnmounting?: boolean;
5968
+ enable?: boolean;
5969
+ enableSentry?: boolean;
5970
+ ErrorComponent?: any;
5971
+ LoaderComponent?: any;
5972
+ logger?: any | null;
5973
+ language?: LangCode;
5974
+ overrideLanguage?: LangCode;
5975
+ lockApplicationHandle?: string;
5976
+ applicationId?: string;
5977
+ }
5978
+
5979
+ /**
5980
+ * @public
5981
+ */
5982
+ export declare interface WebTivioProVideoScreenProps {
5983
+ video: Video;
5984
+ seriesTag?: Tag;
5985
+ autoplay: boolean;
5986
+ }
4916
5987
 
4917
5988
  /**
4918
5989
  * @public