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

Sign up to get free protection for your applications and to get access to all the features.
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