@tivio/sdk-react 9.1.4 → 9.1.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,8 +1,9 @@
1
- import type { ComponentType } from 'react';
1
+ import { ComponentType } from 'react';
2
2
  import type dayjs from 'dayjs';
3
3
  import { DocumentReference } from '@firebase/firestore-types';
4
4
  import type duration from 'dayjs/plugin/duration';
5
- import type firebase from '@firebase/app-types';
5
+ import type { default as firebase_2 } from '@firebase/app-types';
6
+ import type { default as firebase_3 } from 'firebase';
6
7
  import { FunctionComponentElement } from 'react';
7
8
  import type { GeoPoint } from '@firebase/firestore-types';
8
9
  import { OperatingSystem } from 'detect-browser';
@@ -11,15 +12,26 @@ import { default as React_2 } from 'react';
11
12
  import { RecommendationsQuery } from '@algolia/recommend';
12
13
  import type { TagManagerArgs } from 'react-gtm-module';
13
14
 
14
- export declare interface ActivatedPromotionResponse {
15
+ export declare interface ActivatedPromotion {
15
16
  id: string;
16
17
  isFree: boolean;
17
18
  videoId?: string;
18
19
  }
19
20
 
20
- export declare type ActivateVoucherResponse = string | {
21
- activatedPromotions: ActivatedPromotionResponse[];
22
- };
21
+ export declare interface ActivatedPromotionsResponse {
22
+ activatedPromotions: ActivatedPromotion[];
23
+ }
24
+
25
+ export declare interface ActivatedPromotionsWithIdsResponse {
26
+ activatedPromotionsIds: string[];
27
+ }
28
+
29
+ export declare type ActivateVoucherResponse = string | ActivatedPromotionsResponse | ActivatedPromotionsWithIdsResponse;
30
+
31
+ declare interface actualPriceDetails {
32
+ amountCents: number;
33
+ currency?: primaSupportedCurrency;
34
+ }
23
35
 
24
36
  export declare type AdBannerScene = InteractiveWidgetSceneBase<InteractiveWidgetSceneTemplateType.AD_BANNER>;
25
37
 
@@ -273,10 +285,6 @@ export declare enum ALGOLIA_INDEX_NAME {
273
285
  TV_CHANNELS = "tvChannels"
274
286
  }
275
287
 
276
- export declare interface AllStargazeCreatorsWithVoucherSubscriptionsResponse {
277
- creators: CreatorsWithVoucherSubscriptions[];
278
- }
279
-
280
288
  /**
281
289
  * List of conversion types that we send to analytics.
282
290
  */
@@ -416,6 +424,7 @@ export declare interface Article extends RowItem, MonetizableItem, ReactableCont
416
424
 
417
425
  /**
418
426
  * @public
427
+ * TODO this should union separated by article type, this way we don't need optional attributes
419
428
  */
420
429
  export declare interface ArticleBlock {
421
430
  id: string;
@@ -438,6 +447,45 @@ export declare interface ArticleBlockField extends Omit<ArticleBlock, 'textConte
438
447
  */
439
448
  export declare type ArticleBlockType = 'PARAGRAPH' | 'IMAGE' | 'VIDEO' | 'HEADING' | 'PAYWALL' | 'BLOCK_QUOTE';
440
449
 
450
+ /**
451
+ * Serialized version of {@link ArticleDocument} from @tivio/firebase.
452
+ * TODO duplicity with mentioned type, because we can't import firebase here.
453
+ */
454
+ declare interface ArticleDocumentSerialized {
455
+ type: 'ARTICLE';
456
+ name: Translation;
457
+ description?: Translation;
458
+ metadata?: ArticleMetadata;
459
+ assets?: AssetsField;
460
+ feedVisible?: boolean;
461
+ publishedStatus?: PublishedStatus;
462
+ reactions?: ReactionsField;
463
+ availability?: {
464
+ /**
465
+ * Unix timestamp in ms.
466
+ */
467
+ from: number;
468
+ /**
469
+ * Unix timestamp in ms.
470
+ */
471
+ to: number | null;
472
+ manual: boolean;
473
+ };
474
+ /**
475
+ * Unix timestamp in ms.
476
+ */
477
+ created: number;
478
+ organizationId: string;
479
+ tagPaths?: string[];
480
+ monetizations?: TileMonetizationData[];
481
+ seriesPath?: string;
482
+ blocks: ArticleBlockField[] | undefined;
483
+ }
484
+
485
+ export declare interface ArticleMetadata {
486
+ survey?: Survey;
487
+ }
488
+
441
489
  export declare interface ArticleTileSpecificData {
442
490
  organizationId: string;
443
491
  blocks: ArticleBlockField[];
@@ -702,6 +750,7 @@ export declare interface CommonSourceInterface<T extends SourceType = SourceType
702
750
  next: CommonSource | null;
703
751
  canSeek: boolean;
704
752
  hasNext: boolean;
753
+ isCastable: boolean;
705
754
  isFinished: boolean;
706
755
  setIsFinished(isFinished: boolean): void;
707
756
  isStarted: boolean;
@@ -720,6 +769,8 @@ export declare interface CommonSourceParams<T extends SourceType = SourceType> {
720
769
  name?: string;
721
770
  description?: string;
722
771
  autoplay?: boolean;
772
+ isCastable?: boolean;
773
+ videoPath?: string;
723
774
  }
724
775
 
725
776
  /**
@@ -836,6 +887,22 @@ export declare type ContentType = 'ARTICLE' | 'VIDEO' | 'SERIES' | 'EPISODE';
836
887
  */
837
888
  export declare type ContinuePosition = number | null | Promise<number | null>;
838
889
 
890
+ export declare interface ControlPlayback {
891
+ delaySegmentCount?: number;
892
+ status: ControlPlaybackStatus;
893
+ }
894
+
895
+ export declare enum ControlPlaybackStatus {
896
+ PAUSED = "paused",
897
+ PLAYING = "playing"
898
+ }
899
+
900
+ export declare interface ControlReplay {
901
+ videoId: string;
902
+ fromSegment?: number;
903
+ toSegment?: number;
904
+ }
905
+
839
906
  /**
840
907
  * @public
841
908
  */
@@ -995,9 +1062,10 @@ export declare const createPubSub: () => PubSub;
995
1062
  */
996
1063
  export declare const createRemotePackageLoader: () => (secret: string, conf: InternalConfig, checkBundleCharCount?: boolean) => Promise<TivioBundle>;
997
1064
 
998
- export declare const createTivio: () => (conf: SdkReactConfig) => Promise<RemoteBundleState>;
999
-
1000
- export declare const createUseRemoteBundle: () => (sdkReactConfig: SdkReactConfig, checkBundleCharCount?: boolean) => RemoteBundleState;
1065
+ /**
1066
+ * @public
1067
+ */
1068
+ export declare const createUseRemoteBundle: () => (conf: InternalConfig, checkBundleCharCount?: boolean) => RemoteBundleState;
1001
1069
 
1002
1070
  export declare interface CreateUserPayload {
1003
1071
  displayName?: string;
@@ -1050,6 +1118,14 @@ export declare interface CurrentQuestion {
1050
1118
 
1051
1119
  export declare type CurrentQuestionScene = InteractiveWidgetSceneBase<InteractiveWidgetSceneTemplateType.CURRENT_QUESTION>;
1052
1120
 
1121
+ export declare interface currentSubscription {
1122
+ subscriptionId?: string;
1123
+ subscriptionItemType: primaSubscriptionItemType;
1124
+ startDatetime?: Date;
1125
+ endDateTime?: Date;
1126
+ actualPrice: actualPriceDetails;
1127
+ }
1128
+
1053
1129
  /**
1054
1130
  * @public
1055
1131
  */
@@ -1106,7 +1182,9 @@ export declare enum CustomerId {
1106
1182
  DAVID_FRANK_TV = "DAVID_FRANK_TV",
1107
1183
  LEPSI_UZ_TO_NEBUDE = "LEPSI_UZ_TO_NEBUDE",
1108
1184
  BEAT_SEXISM = "BEAT_SEXISM",
1109
- KAROL_A_KVIDO = "KAROL_A_KVIDO"
1185
+ KAROL_A_KVIDO = "KAROL_A_KVIDO",
1186
+ UZ_BUDU = "UZ_BUDU",
1187
+ PRIMA = "PRIMA"
1110
1188
  }
1111
1189
 
1112
1190
  /**
@@ -1237,6 +1315,7 @@ export declare interface Customizations {
1237
1315
  color: string;
1238
1316
  mobileColor?: string;
1239
1317
  display?: 'none' | 'block';
1318
+ durationUnitTexts?: DurationUnitTexts;
1240
1319
  };
1241
1320
  OverlayControls?: {
1242
1321
  size?: number;
@@ -1295,6 +1374,10 @@ export declare interface Customizations {
1295
1374
  backgroundColor: string;
1296
1375
  color: string;
1297
1376
  };
1377
+ ModalDetailCoverOverlay?: {
1378
+ background: string;
1379
+ backgroundMobile: string;
1380
+ };
1298
1381
  }
1299
1382
 
1300
1383
  export declare interface CustomScript {
@@ -1466,6 +1549,15 @@ export declare enum DurationUnits {
1466
1549
  MONTH = "month"
1467
1550
  }
1468
1551
 
1552
+ /**
1553
+ * Custom text for duration units used by formatDuration
1554
+ */
1555
+ export declare interface DurationUnitTexts {
1556
+ hour: string;
1557
+ minute: string;
1558
+ seconds?: string;
1559
+ }
1560
+
1469
1561
  /**
1470
1562
  * Duration field using dayjs duration
1471
1563
  */
@@ -1555,7 +1647,7 @@ export declare interface EmailTemplateVersion {
1555
1647
 
1556
1648
  export declare type EmbedScreenMessageNavigateType = {
1557
1649
  type: EmbedScreenMessageType.NAVIGATE;
1558
- to: string | 'Profile' | 'Home' | 'Search' | 'Video' | 'Series' | 'Subscription';
1650
+ to: string | 'Profile' | 'Home' | 'Search' | 'Video' | 'Series' | 'Subscription' | 'Handle';
1559
1651
  value?: string;
1560
1652
  };
1561
1653
 
@@ -1652,7 +1744,16 @@ export declare interface ForbiddenOnCallError extends GenericOnCallError {
1652
1744
 
1653
1745
  export declare enum ForbiddenReason {
1654
1746
  MONETIZATION = "MONETIZATION",
1655
- GEO_BLOCKING = "GEO_BLOCKING"
1747
+ GEO_BLOCKING = "GEO_BLOCKING",
1748
+ EMAIL_ALREADY_EXISTS = "EMAIL_ALREADY_EXISTS",
1749
+ EMAIL_CONTAINS_PLUS_SIGN = "EMAIL_CONTAINS_PLUS_SIGN",
1750
+ EMAIL_NOT_VERIFIED = "EMAIL_NOT_VERIFIED",
1751
+ INVALID_BIRTH_YEAR = "INVALID_BIRTH_YEAR",
1752
+ INVALID_EMAIL_ADDRESS = "INVALID_EMAIL_ADDRESS",
1753
+ NAME_CONTAINS_INVALID_CHAR = "NAME_CONTAINS_INVALID_CHAR",
1754
+ USER_ACCOUNT_LOCKED = "USER_ACCOUNT_LOCKED",
1755
+ USER_NOT_FOUND = "USER_NOT_FOUND",
1756
+ UNSUPPORTED_BROWSER = "UNSUPPORTED_BROWSER"
1656
1757
  }
1657
1758
 
1658
1759
  /**
@@ -1686,6 +1787,15 @@ export declare type GeoBlocking = {
1686
1787
  blacklist: Array<any>;
1687
1788
  };
1688
1789
 
1790
+ export declare interface GetArticleRequest {
1791
+ id: string;
1792
+ }
1793
+
1794
+ export declare interface GetArticleResponse {
1795
+ article: ArticleDocumentSerialized;
1796
+ isBlockedByPurchase: boolean;
1797
+ }
1798
+
1689
1799
  export declare interface GetBaseAnalyticsRequest {
1690
1800
  /**
1691
1801
  * Id of organization to return analytics data.
@@ -1703,6 +1813,10 @@ export declare interface GetBaseAnalyticsRequest {
1703
1813
 
1704
1814
  export declare type GetConversionAnalyticsRequest = GetBaseAnalyticsRequest;
1705
1815
 
1816
+ export declare interface GetCreatorsWithVoucherResponse {
1817
+ creators: CreatorsWithVoucherSubscriptions[];
1818
+ }
1819
+
1706
1820
  export declare type GetMonetizationsAnalyticsRequest = GetBaseAnalyticsRequest;
1707
1821
 
1708
1822
  export declare interface GetMonetizationsAnalyticsResponse {
@@ -1726,6 +1840,7 @@ export declare const getPubSub: () => PubSub;
1726
1840
  */
1727
1841
  export declare interface GetPurchasableMonetizationsOptions {
1728
1842
  includeMonetizationsWithPurchaseDisabled: boolean;
1843
+ ignoreActiveOrganizationCheck?: boolean;
1729
1844
  }
1730
1845
 
1731
1846
  /**
@@ -1818,14 +1933,26 @@ export declare interface GetSourceUrlResponse {
1818
1933
  * Returns url to manifest with audio only chunks.
1819
1934
  */
1820
1935
  audioOnly?: boolean;
1936
+ /**
1937
+ * In case of HYBRID mode, this field will contain the start date of the live stream in UNIX timestamp format.
1938
+ */
1939
+ from?: number;
1821
1940
  /**
1822
1941
  * Current session id for given user and source.
1823
1942
  */
1824
1943
  sessionId?: string;
1944
+ /**
1945
+ * Active content (e.g. video) id in generated session.
1946
+ */
1947
+ activeContentId?: string;
1825
1948
  /**
1826
1949
  * Template for generating image previews for user scrubbing in player.
1827
1950
  */
1828
1951
  seekingMatrix?: SeekingMatrixTemplate;
1952
+ /**
1953
+ * Determines session type generated for source. If no provided it will be considered 'ondemand' session type.
1954
+ */
1955
+ sessionType?: VideoSourceField['sessionType'];
1829
1956
  }
1830
1957
 
1831
1958
  export declare type GetTilesInRowResponse<U extends NextPageParamType = NextPageParamType> = PaginatedResponse<TileData, U>;
@@ -1899,8 +2026,6 @@ export declare interface GetViewAnalyticsResponse {
1899
2026
 
1900
2027
  export declare type GetViewsAnalyticsRequest = GetBaseAnalyticsRequest;
1901
2028
 
1902
- export declare let globalSdkReactConfig: SdkReactConfig | undefined;
1903
-
1904
2029
  /**
1905
2030
  * @public
1906
2031
  */
@@ -1974,11 +2099,19 @@ export declare interface IndexedTvChannel extends IndexedObject {
1974
2099
  * @public
1975
2100
  */
1976
2101
  export declare interface IndexedVideo extends IndexedObject {
1977
- assets: any;
2102
+ assets?: AssetsField;
1978
2103
  organizationPath: string;
1979
2104
  sharedOrganizationPaths?: string[];
1980
2105
  tagPaths?: string[];
1981
2106
  created: Date | string;
2107
+ /**
2108
+ * Unix timestamp in seconds. This is standard date format for algolia records.
2109
+ *
2110
+ * @deprecated this is temporary workaround, the correct way is to migrate {@link created} to this format,
2111
+ * but before we need to adjust admin and front end applications to parse this format.
2112
+ * Do not read from this field when parsing response in front end applications, use {@link created} instead.
2113
+ */
2114
+ createdUnixTimestamp: number;
1982
2115
  /**
1983
2116
  * Is evaluated on publishedStatus and transcodingStatus fields.
1984
2117
  * TODO this will be true for videos with UNLISTED status, which is unintuitive for 'isDraft', we need to rename this
@@ -1991,6 +2124,7 @@ export declare interface IndexedVideo extends IndexedObject {
1991
2124
  publishedStatus?: PublishedStatus;
1992
2125
  type: VideoType;
1993
2126
  contentType?: VideoContentType;
2127
+ defaultName: string;
1994
2128
  name: string | Translation;
1995
2129
  description: string | Translation;
1996
2130
  hide: boolean;
@@ -2018,6 +2152,7 @@ export declare interface IndexedVideo extends IndexedObject {
2018
2152
  */
2019
2153
  export declare interface InputOptions {
2020
2154
  borderRadius: string;
2155
+ borderColor?: string;
2021
2156
  backgroundColor?: string;
2022
2157
  color?: string;
2023
2158
  }
@@ -2307,7 +2442,17 @@ export declare type LeaderboardScene = InteractiveWidgetSceneBase<InteractiveWid
2307
2442
  */
2308
2443
  export declare interface LinkedVideo {
2309
2444
  video: Video;
2310
- type: 'CUT' | 'TRAILER' | 'BONUS' | 'CHILD' | 'TEASER' | 'TASTING' | 'VIRTUAL_PROGRAM' | 'PIP';
2445
+ type: 'CUT' | 'TRAILER' | 'BONUS' | 'CHILD' | 'TEASER' | 'TASTING' | 'VIRTUAL_PROGRAM' | 'LANGUAGE'
2446
+ /**
2447
+ * Will render separate mini-player on top of the main one, playing given video.
2448
+ */
2449
+ | 'PIP'
2450
+ /**
2451
+ * Will not render separate player, it will override main video source.
2452
+ */
2453
+ | 'COMPOSED_PIP' | 'MATRIX';
2454
+ name?: string;
2455
+ color?: string;
2311
2456
  }
2312
2457
 
2313
2458
  /**
@@ -2578,7 +2723,8 @@ export declare enum MONETIZATION_FREQUENCY {
2578
2723
  WEEKLY = "WEEKLY",
2579
2724
  MONTHLY = "MONTHLY",
2580
2725
  HALF_ANNUALLY = "HALF_ANNUALLY",
2581
- ANNUALLY = "ANNUALLY"
2726
+ ANNUALLY = "ANNUALLY",
2727
+ EVENT = "EVENT"
2582
2728
  }
2583
2729
 
2584
2730
  /**
@@ -2953,6 +3099,7 @@ export declare interface OrganizationSettingsField extends OrganizationResponsiv
2953
3099
  hideTitle?: boolean;
2954
3100
  };
2955
3101
  };
3102
+ voucher?: VoucherPageConfiguration;
2956
3103
  }
2957
3104
 
2958
3105
  /**
@@ -3057,6 +3204,15 @@ export declare type PatreonUserResponse = {
3057
3204
  errors?: PatreonError[];
3058
3205
  };
3059
3206
 
3207
+ /**
3208
+ * @public
3209
+ */
3210
+ export declare interface PaymentInfo {
3211
+ webPaymentGatewayLink?: string;
3212
+ gatewayUri?: string;
3213
+ paymentQRCodeUri?: string;
3214
+ }
3215
+
3060
3216
  /**
3061
3217
  * @public
3062
3218
  */
@@ -3180,7 +3336,7 @@ export declare interface PlayerEngineConfig {
3180
3336
  /**
3181
3337
  * @public
3182
3338
  */
3183
- export declare type PlayerEngineEvent = 'bufferingchange' | 'bufferedinfochange' | 'statechange' | 'loaded' | 'loadfailed' | 'togglefullscreen' | 'durationchange' | 'busychange' | 'trackschanged' | 'abort' | 'canplay' | 'canplaythrough' | 'emptied' | 'enginedurationchange' | 'enginetimeupdate' | 'ended' | 'error' | 'loadeddata' | 'loadedmetadata' | 'loadstart' | 'pause' | 'play' | 'playing' | 'progress' | 'ratechange' | 'seeked' | 'seeking' | 'stalled' | 'suspend' | 'timeupdate' | 'volumechange' | 'waiting' | 'click' | 'fullscreenchange';
3339
+ export declare type PlayerEngineEvent = 'bufferingchange' | 'bufferedinfochange' | 'statechange' | 'loaded' | 'loadfailed' | 'togglefullscreen' | 'durationchange' | 'busychange' | 'trackschanged' | 'abort' | 'canplay' | 'canplaythrough' | 'emptied' | 'adaptation' | 'buffering' | 'enginedurationchange' | 'enginestartrange' | 'enginetimeupdate' | 'ended' | 'error' | 'loadeddata' | 'loadedmetadata' | 'loadstart' | 'pause' | 'play' | 'playing' | 'progress' | 'ratechange' | 'seeked' | 'seeking' | 'stalled' | 'suspend' | 'timeupdate' | 'variantchanged' | 'volumechange' | 'waiting' | 'click' | 'fullscreenchange' | 'iscastingchanged';
3184
3340
 
3185
3341
  /**
3186
3342
  * @public
@@ -3303,21 +3459,11 @@ export declare interface PlayerEngineOptions {
3303
3459
  }
3304
3460
 
3305
3461
  export declare interface PlayerError {
3462
+ detail?: ShakaErrorDetail;
3306
3463
  message: string;
3464
+ timestamp: number;
3307
3465
  }
3308
3466
 
3309
- /**
3310
- * @public
3311
- */
3312
- export declare type PlayerEvent = {
3313
- name: PlayerEventName;
3314
- };
3315
-
3316
- /**
3317
- * @public
3318
- */
3319
- export declare type PlayerEventName = `${PlayerWrapperEvents}`;
3320
-
3321
3467
  /**
3322
3468
  * @public
3323
3469
  */
@@ -3445,7 +3591,12 @@ export declare interface PlayerSourceInterface<T extends NonAdSourceType = NonAd
3445
3591
  pauseReactions(): void;
3446
3592
  correctStartPosition(): Promise<void | null>;
3447
3593
  setCanSeek(canSeek: boolean): void;
3594
+ getOffset(): number;
3595
+ getSeekingMatrixPreviewByTime(timeMs: number, offsetIndex?: number): SeekingMatrix | null;
3448
3596
  originalOptions: Record<string, any>;
3597
+ start?: Date;
3598
+ from?: Date;
3599
+ sourceHistory?: string[];
3449
3600
  }
3450
3601
 
3451
3602
  /**
@@ -3458,6 +3609,12 @@ export declare interface PlayerSourceParams<T extends NonAdSourceType = NonAdSou
3458
3609
  language?: LangCode | null;
3459
3610
  availableLanguages?: LangCode[] | null;
3460
3611
  sourcePlayMode: SourcePlayMode;
3612
+ start?: Date;
3613
+ from?: Date;
3614
+ sourceHistory?: string[];
3615
+ seekingMatrix?: SeekingMatrixTemplate;
3616
+ sessionType?: VideoSourceField['sessionType'];
3617
+ sessionId?: string;
3461
3618
  }
3462
3619
 
3463
3620
  export declare type PlayersScene = InteractiveWidgetSceneBase<InteractiveWidgetSceneTemplateType.PLAYERS>;
@@ -3503,19 +3660,11 @@ export declare interface PlayerWrapper {
3503
3660
  * Pause video
3504
3661
  */
3505
3662
  pause: () => void;
3506
- ad: AdSourceInterface | null;
3507
- adMetadata: AdMetadata | null;
3508
- adSegment: AdSegment | null;
3509
- availableLanguages: LangCode[] | null;
3510
- canReplay: boolean;
3511
- currentTime: number;
3512
3663
  /**
3513
3664
  * Currently playing source
3514
3665
  */
3515
3666
  source: PlayerSource | null;
3516
- seekInterceptor: SeekInterceptor;
3517
3667
  events: EmitterInterface;
3518
- event: PlayerEvent | null;
3519
3668
  /**
3520
3669
  * Register a low level player that implements player methods, like play video, change volume, etc.
3521
3670
  */
@@ -3523,29 +3672,14 @@ export declare interface PlayerWrapper {
3523
3672
  /**
3524
3673
  * duration of current source in ms (both setter and getter)
3525
3674
  */
3526
- durationMs: number;
3527
- intro: {
3528
- marker: any;
3529
- skip: () => void;
3530
- } | null;
3531
- isBuffering: boolean;
3532
- isCurrentTimeLive: boolean;
3533
- isLiveSeekingEnabled: boolean;
3534
- isMuted: boolean;
3675
+ durationMs: number | null;
3535
3676
  isPlaybackStarted?: boolean;
3536
3677
  isPaused: boolean;
3537
3678
  isPlaying: boolean;
3538
3679
  isIdle: boolean;
3539
- language: LangCode | null;
3540
- nextRecommendedVideo: Video | null;
3541
- prerollCheck: PrerollCheck;
3542
- previousSource: PlayerSource | null;
3543
- progress: number | null;
3544
- progressMetadata: ProgressMetadata;
3545
- requestedSource: PlayerSource | null;
3546
3680
  error: PlayerError | null;
3547
- state: PlayerState;
3548
- volume: number;
3681
+ playbackError: PlayerError | null;
3682
+ canPlay: boolean;
3549
3683
  /**
3550
3684
  * Replay the video that finished playback
3551
3685
  */
@@ -3560,56 +3694,14 @@ export declare interface PlayerWrapper {
3560
3694
  * set volume to value between 0,1
3561
3695
  */
3562
3696
  setVolume: (volume: number) => void;
3563
- changeLanguage: (langCode: LangCode) => Promise<void>;
3564
3697
  /**
3565
3698
  * change volume by value between -1,1
3566
3699
  */
3567
3700
  changeVolumeBy: (volume: number) => void;
3568
3701
  setMuted: (muted: boolean) => void;
3702
+ setCanPlay: (canPlay: boolean) => void;
3569
3703
  toggleMuted: () => void;
3570
- getQualities: () => Track[];
3571
- playNativeImaAd: (url: string) => void;
3572
- playSourceAfterAdsRun: () => void;
3573
- putAd: (ad: AdSourceInterface) => void;
3574
- putAdMetadata: (ad: AdSourceInterface) => void;
3575
- reportLoadError: (error: Error) => void;
3576
- reportStateChanged: (state: PlayerState) => void;
3577
- reportTimeProgress: (ms: number) => void;
3578
- reportPlaybackCancelled: () => void;
3579
- reportPlaybackError: (error: Error) => void;
3580
- reportPlaybackEnded: () => void;
3581
- seekToPercent: (percentage: number) => void;
3582
- seekToInternal: (ms: number) => void;
3583
- seekToLive: () => void;
3584
- seekToLiveInternal: () => void;
3585
- setIsBuffering: (isBuffering: boolean) => void;
3586
- skipAd: () => void;
3587
- skipAllAds: () => void;
3588
- }
3589
-
3590
- /**
3591
- * @public
3592
- */
3593
- export declare enum PlayerWrapperEvents {
3594
- 'playback_cancelled' = "playback_cancelled",
3595
- /**
3596
- * Triggered when content video or ad finished playing until the end
3597
- */
3598
- 'playback_ended' = "playback_ended",
3599
- /**
3600
- * Triggered when both content video and all its associated ads finished playing until the end.
3601
- * Or in case of postroll, when content video finished playing unit the end and all postroll
3602
- * ads either finished / failed or were skipped.
3603
- */
3604
- 'video_unit_ended' = "video_unit_ended",
3605
- /**
3606
- * Pause was triggered
3607
- */
3608
- 'pause_triggered' = "pause_triggered",
3609
- /**
3610
- * Un-pause was triggered
3611
- */
3612
- 'unpause_triggered' = "unpause_triggered"
3704
+ resetErrors(): void;
3613
3705
  }
3614
3706
 
3615
3707
  /**
@@ -3625,17 +3717,79 @@ export declare enum PlayerWrapperEventType {
3625
3717
  */
3626
3718
  export declare type PlayerWrapperEventTypeType = `${PlayerWrapperEventType}`;
3627
3719
 
3628
- /**
3629
- * @public
3630
- */
3631
- /**
3632
- * A promise that ads will be loaded. Resolves to the first ad source,
3633
- * other ads are linked to it via `ad.next` attribute.
3634
- *
3635
- * In case preroll is not configured or no ad
3636
- * manages to load successfully, resolves to null.
3637
- */
3638
- export declare type PrerollCheck = (source: PlayerSource) => Promise<AdSourceInterface | null>;
3720
+ export declare enum primaPlusMonetizationLevel {
3721
+ light = "z7soJTA2dYSxnOOJw7B0",
3722
+ premium = "kwfM0D7Vzv5wfLf5go8o",
3723
+ noAds = "L4dzWZHCZenezYawqEbl"
3724
+ }
3725
+
3726
+ export declare interface primaPlusRefreshTokenResponse {
3727
+ result?: {
3728
+ data: {
3729
+ payload: {
3730
+ sessionId: string | null;
3731
+ userUuid: string;
3732
+ accessToken: {
3733
+ token: string;
3734
+ insecure: boolean;
3735
+ expiresAt: string;
3736
+ };
3737
+ refreshToken: {
3738
+ token: string;
3739
+ insecure: boolean;
3740
+ expiresAt: string;
3741
+ };
3742
+ };
3743
+ };
3744
+ datetime: string;
3745
+ };
3746
+ error?: {
3747
+ code: number;
3748
+ message: string;
3749
+ datetime: string;
3750
+ };
3751
+ }
3752
+
3753
+ export declare interface primaPlusSubscription {
3754
+ result?: {
3755
+ data: {
3756
+ subscription: {
3757
+ currentSubscription?: currentSubscription;
3758
+ };
3759
+ };
3760
+ };
3761
+ error?: {
3762
+ code: number;
3763
+ message: string;
3764
+ datetime: string;
3765
+ };
3766
+ }
3767
+
3768
+ export declare enum primaSubscriptionItemType {
3769
+ REGISTERED = "REGISTERED",
3770
+ HVOD_STANDARD = "HVOD_STANDARD",
3771
+ SVOD_STANDARD = "SVOD_STANDARD",
3772
+ IPBR_STANDARD = "IPBR_STANDARD",
3773
+ PREMIUM_STANDARD = "PREMIUM_STANDARD",
3774
+ IPRIMA_NO_ADS_STANDARD = "IPRIMA_NO_ADS_STANDARD",
3775
+ HVOD_PARTIAL = "HVOD_PARTIAL",
3776
+ IPBR_PARTIAL = "IPBR_PARTIAL",
3777
+ PREMIUM_PARTIAL = "PREMIUM_PARTIAL",
3778
+ IPRIMA_NO_ADS_PARTIAL = "IPRIMA_NO_ADS_PARTIAL",
3779
+ SVOD_PREPAID_VOUCHER = "SVOD_PREPAID_VOUCHER",
3780
+ SVOD_DISCOUNT_VOUCHER = "SVOD_DISCOUNT_VOUCHER",
3781
+ HVOD_PREPAID_VOUCHER = "HVOD_PREPAID_VOUCHER",
3782
+ HVOD_DISCOUNT_VOUCHER = "HVOD_DISCOUNT_VOUCHER"
3783
+ }
3784
+
3785
+ declare enum primaSupportedCurrency {
3786
+ CZK = "CZK",
3787
+ EUR = "EUR",
3788
+ PLN = "PLN",
3789
+ USD = "USD",
3790
+ GBP = "GBP",
3791
+ HUF = "HUF"
3792
+ }
3639
3793
 
3640
3794
  /**
3641
3795
  * Values that user entered in survey for given profile.
@@ -3645,18 +3799,6 @@ export declare type ProfileSurvey = {
3645
3799
  age?: AgeRange;
3646
3800
  };
3647
3801
 
3648
- /**
3649
- * @public
3650
- */
3651
- export declare interface ProgressMetadata {
3652
- currentTimeMs: number;
3653
- durationMs: number;
3654
- percent: number;
3655
- remainingMs: number;
3656
- type: 'original' | 'cutout';
3657
- cutout?: Cutout;
3658
- }
3659
-
3660
3802
  /**
3661
3803
  * @public
3662
3804
  */
@@ -3769,6 +3911,11 @@ export declare type Purchase = {
3769
3911
  createdBy?: string;
3770
3912
  expirationDate: Date | null;
3771
3913
  gateway: PurchaseDocumentGateway | null;
3914
+ /**
3915
+ * Returns how many times user has purchased a monetization in a row.
3916
+ * @returns number of purchases (loyalty points)
3917
+ */
3918
+ getLoyaltyCount: () => Promise<number>;
3772
3919
  id: string;
3773
3920
  isExpired: boolean;
3774
3921
  /**
@@ -3804,7 +3951,8 @@ export declare enum PurchaseDocumentGateway {
3804
3951
  'patreon' = "patreon",
3805
3952
  'paypal' = "paypal",
3806
3953
  'unknown' = "unknown",
3807
- 'stargaze' = "stargaze"
3954
+ 'stargaze' = "stargaze",
3955
+ 'prima' = "prima"
3808
3956
  }
3809
3957
 
3810
3958
  /**
@@ -3843,7 +3991,7 @@ export declare type PurchaseEndpointPayload = {
3843
3991
  */
3844
3992
  expiration?: number;
3845
3993
  /**
3846
- * Paypal Id, Qerko Id or Voucher Id based on the gateway.
3994
+ * If purchase was made outside of standard Tivio payment method (e.g PayPal), this is its ID.
3847
3995
  */
3848
3996
  externalId?: string;
3849
3997
  /**
@@ -4066,10 +4214,7 @@ export declare interface QerkoOverlayState {
4066
4214
  * TODO more generic name, since we support stargaze payment gateway as well
4067
4215
  * @public
4068
4216
  */
4069
- export declare interface QerkoPaymentInfo {
4070
- webPaymentGatewayLink?: string;
4071
- gatewayUri?: string;
4072
- paymentQRCodeUri?: string;
4217
+ export declare interface QerkoPaymentInfo extends PaymentInfo {
4073
4218
  confirmationPaymentUrl?: string;
4074
4219
  purchaseId: string;
4075
4220
  currency: string;
@@ -4251,6 +4396,10 @@ export declare enum ReactionEnum {
4251
4396
  AWW = "AWW"
4252
4397
  }
4253
4398
 
4399
+ export declare type ReactionsField = {
4400
+ [reactionId in ReactionEnum]?: number;
4401
+ };
4402
+
4254
4403
  /**
4255
4404
  * @public
4256
4405
  */
@@ -4285,11 +4434,80 @@ declare type Relationship = {
4285
4434
  * @public
4286
4435
  */
4287
4436
  export declare type RemoteBundleState = {
4288
- state: 'loading' | 'error' | 'ready';
4289
- error: string | null;
4290
4437
  config: InternalConfig;
4291
- settings: Settings;
4292
- } & Omit<Partial<TivioJsBundleExposedApi>, 'createPlayerWrapper'> & Nullable<TivioBundle>;
4438
+ error: string | null;
4439
+ state: 'loading' | 'error' | 'ready';
4440
+ } & Nullable<TivioBundle>;
4441
+
4442
+ export declare interface RemoteControlGenerateSourceResponse {
4443
+ sessionId?: string;
4444
+ url?: string;
4445
+ }
4446
+
4447
+ export declare interface RemoteControlGetSourceUrlPayload {
4448
+ videoId: string;
4449
+ userId: string;
4450
+ profileId: string;
4451
+ capabilities: PlayerCapability[];
4452
+ activeVideoId: string;
4453
+ }
4454
+
4455
+ /**
4456
+ * @public
4457
+ */
4458
+ export declare interface RemoteControllerProps {
4459
+ video: Video;
4460
+ className?: string;
4461
+ }
4462
+
4463
+ export declare enum RemoteControlMethod {
4464
+ pairDevice = "pairDevice",
4465
+ unpairDevice = "unpairDevice",
4466
+ playHighlight = "playHighlight",
4467
+ playbackControl = "playbackControl",
4468
+ selectCamera = "selectCamera",
4469
+ getSourceUrl = "getSourceUrl"
4470
+ }
4471
+
4472
+ export declare interface RemoteControlPairPayload {
4473
+ code: string;
4474
+ videoId: string;
4475
+ profileId: string;
4476
+ }
4477
+
4478
+ export declare interface RemoteControlPlaybackControlPayload {
4479
+ sessionId: string;
4480
+ videoId: string;
4481
+ playback: ControlPlayback;
4482
+ activeVideoId?: string;
4483
+ }
4484
+
4485
+ export declare interface RemoteControlPlayHighlightPayload {
4486
+ sessionId: string;
4487
+ videoId: string;
4488
+ activeVideoId: string;
4489
+ replay: ControlReplay;
4490
+ }
4491
+
4492
+ export declare type RemoteControlRequest = RemoteControlRequestBase<RemoteControlMethod.pairDevice> | RemoteControlRequestBase<RemoteControlMethod.unpairDevice> | RemoteControlRequestBase<RemoteControlMethod.playHighlight> | RemoteControlRequestBase<RemoteControlMethod.playbackControl> | RemoteControlRequestBase<RemoteControlMethod.selectCamera> | RemoteControlRequestBase<RemoteControlMethod.getSourceUrl>;
4493
+
4494
+ declare interface RemoteControlRequestBase<TMethod extends RemoteControlMethod> {
4495
+ method: TMethod;
4496
+ payload: RemoteControlRequestPayload<TMethod>;
4497
+ }
4498
+
4499
+ export declare type RemoteControlRequestPayload<TMethod extends RemoteControlMethod> = TMethod extends RemoteControlMethod.pairDevice ? RemoteControlPairPayload : TMethod extends RemoteControlMethod.unpairDevice ? RemoteControlUnpairPayload : TMethod extends RemoteControlMethod.playHighlight ? RemoteControlPlayHighlightPayload : TMethod extends RemoteControlMethod.playbackControl ? RemoteControlPlaybackControlPayload : TMethod extends RemoteControlMethod.selectCamera ? RemoteControlSelectCameraPayload : TMethod extends RemoteControlMethod.getSourceUrl ? RemoteControlGetSourceUrlPayload : object;
4500
+
4501
+ export declare interface RemoteControlSelectCameraPayload {
4502
+ sessionId: string;
4503
+ videoId: string;
4504
+ activeVideoId: string;
4505
+ }
4506
+
4507
+ export declare interface RemoteControlUnpairPayload {
4508
+ sessionId: string;
4509
+ videoId: string;
4510
+ }
4293
4511
 
4294
4512
  /**
4295
4513
  * @public
@@ -4323,8 +4541,6 @@ export declare interface RenderConditionValue {
4323
4541
  subscriptionRefs?: any[];
4324
4542
  }
4325
4543
 
4326
- export declare const renderWebPlayer: (container: HTMLElement, props: WebPlayerProps) => void;
4327
-
4328
4544
  /**
4329
4545
  * Make all attributes in given type required, non-nullable and defined.
4330
4546
  * e.g. will make `{ attribute?: string | null }` to be `{ attribute: string }`
@@ -4816,26 +5032,6 @@ export declare interface SeekingMatrixTemplate {
4816
5032
  interval: number;
4817
5033
  }
4818
5034
 
4819
- export declare interface SeekInterceptionResult {
4820
- position: number | null;
4821
- didChangePosition: boolean;
4822
- priority: number;
4823
- }
4824
-
4825
- /**
4826
- * @public
4827
- */
4828
- export declare interface SeekInterceptor {
4829
- addInterceptor(interceptor: SeekInterceptorFunction, callback?: SeekInterceptorCallback): void;
4830
- applyInterceptors(currentPosition: number, seekPosition: number): SeekInterceptionResult;
4831
- callCallbacksAfterInterception(): void;
4832
- removeInterceptor(interceptor: SeekInterceptorFunction): void;
4833
- }
4834
-
4835
- export declare type SeekInterceptorCallback = (requestedSeekPosition: number) => void;
4836
-
4837
- export declare type SeekInterceptorFunction = (currentPosition: number, seekPosition: number) => SeekInterceptionResult;
4838
-
4839
5035
  export declare enum SemanticDate {
4840
5036
  YESTERDAY = "Yesterday",
4841
5037
  TODAY = "Today",
@@ -4905,13 +5101,6 @@ export declare interface SetCustomClaimsRequest {
4905
5101
  organizationId: string;
4906
5102
  }
4907
5103
 
4908
- export declare const setSdkReactConfig: (tivioConfig: SdkReactConfig) => void;
4909
-
4910
- declare type Settings = {
4911
- onSetUser: (handler: (userId: string, userPayload: UserPayload) => void) => void;
4912
- setUser: (userId: string, userPayload: UserPayload) => void;
4913
- };
4914
-
4915
5104
  /**
4916
5105
  * Used for entities, that can be global (e.g. asset presets, tag types).
4917
5106
  * Non-global is stored under organizations (in sub-collection), and shown for organization's users and super-admin.
@@ -4932,6 +5121,21 @@ export declare interface SettingsItem {
4932
5121
  */
4933
5122
  export declare const setUser: (userId: string | null, payload?: UserPayload) => Promise<void>;
4934
5123
 
5124
+ export declare interface ShakaErrorDetail {
5125
+ category: number;
5126
+ code: number;
5127
+ data: Array<string | number>;
5128
+ handled: boolean;
5129
+ message: string;
5130
+ severity: ShakaErrorSeverity;
5131
+ stack: string;
5132
+ }
5133
+
5134
+ export declare enum ShakaErrorSeverity {
5135
+ RECOVERABLE = 1,
5136
+ CRITICAL = 2
5137
+ }
5138
+
4935
5139
  /**
4936
5140
  * @public
4937
5141
  */
@@ -5116,12 +5320,13 @@ export declare type SubscribeToTaggedVideosOptions = Omit<SubscribeToItemsInRowO
5116
5320
  orderBy?: OrderBy<TaggedVideosOrderByField>[];
5117
5321
  };
5118
5322
 
5119
- declare type SubscriptionInfo = {
5323
+ declare interface SubscriptionInfo {
5324
+ id: string;
5120
5325
  type: 'subscription';
5121
5326
  name: string;
5122
5327
  benefits: string[];
5123
5328
  frequency: string;
5124
- };
5329
+ }
5125
5330
 
5126
5331
  /**
5127
5332
  * @public
@@ -5131,11 +5336,24 @@ export declare interface SuccessConfirmationOverlayPayload extends ConfirmationO
5131
5336
  confirmButtonText?: string;
5132
5337
  }
5133
5338
 
5339
+ export declare interface Survey {
5340
+ items: SurveyItem[];
5341
+ }
5342
+
5343
+ export declare interface SurveyItem {
5344
+ id: string;
5345
+ imageUrl: string;
5346
+ description: string;
5347
+ title: string;
5348
+ }
5349
+
5134
5350
  export declare enum SurveyItemComponent {
5135
5351
  SURVEY = "SURVEY"
5136
5352
  }
5137
5353
 
5138
- export declare type SynchronizeUserTypeFunction = (payload: CreateUserPayload, tenantId: string, tenantUserId: string, organizationId?: string) => Promise<string>;
5354
+ export declare type SynchronizeUserTypeFunction = (payload: CreateUserPayload, tenantId: string, tenantUserId: string, organizationId?: string, additionalData?: {
5355
+ [key: string]: any;
5356
+ }) => Promise<string>;
5139
5357
 
5140
5358
  /**
5141
5359
  * @public
@@ -5295,7 +5513,7 @@ export declare interface TileData<ItemSpecificData = VideoTileSpecificData | TvC
5295
5513
  itemSpecificData: ItemSpecificData;
5296
5514
  }
5297
5515
 
5298
- declare interface TileMonetizationData {
5516
+ export declare interface TileMonetizationData {
5299
5517
  id: string;
5300
5518
  path: string;
5301
5519
  placementType: 'channel' | 'tvChannel' | 'condition' | 'video' | 'section' | 'row';
@@ -5525,6 +5743,7 @@ export declare interface TivioComponents {
5525
5743
  ContentSortPicker: React_2.ComponentType<ContentSortPickerProps>;
5526
5744
  WebProfileScreen: React_2.ComponentType<WebProfileScreenProps>;
5527
5745
  WebTivioProVideoScreen: React_2.ComponentType<WebTivioProVideoScreenProps>;
5746
+ RemoteController: React_2.ComponentType<RemoteControllerProps>;
5528
5747
  }
5529
5748
 
5530
5749
  /**
@@ -5552,7 +5771,7 @@ export declare interface TivioConfig {
5552
5771
  debug?: boolean;
5553
5772
  verbose?: boolean;
5554
5773
  firebaseApp?: any | null;
5555
- firebaseFactory?: (config: Object, appName?: string) => firebase.FirebaseApp;
5774
+ firebaseFactory?: (config: Object, appName?: string) => firebase_2.FirebaseApp;
5556
5775
  authDomainOverride?: string;
5557
5776
  firestore?: any | null;
5558
5777
  currency: Currency;
@@ -5603,7 +5822,7 @@ export declare type TivioGetters = {
5603
5822
  * @returns {Promise<Monetization[] | undefined>} organization subscriptions or undefined if organization does not exists
5604
5823
  */
5605
5824
  getSubscriptions: () => Promise<Monetization[] | undefined>;
5606
- } | null;
5825
+ };
5607
5826
  /**
5608
5827
  * Get video by its id.
5609
5828
  * @param videoId - video id
@@ -5809,7 +6028,7 @@ export declare type TivioJsBundleExposedApi = {
5809
6028
  * @param id - player wrapper id
5810
6029
  * @returns {Player} player wrapper instance
5811
6030
  */
5812
- getPlayerWrapper: (id: string) => PlayerWrapper;
6031
+ getPlayerWrapper: (id: string) => Player;
5813
6032
  /**
5814
6033
  * Get tv channel by its id.
5815
6034
  * @param tvChannelId - tv channel id
@@ -5831,7 +6050,7 @@ export declare type TivioJsBundleExposedApi = {
5831
6050
  */
5832
6051
  export declare interface TivioPlayerWrapper {
5833
6052
  addEventListener: (eventType: PlayerWrapperEventTypeType, listener: Listener) => void;
5834
- reportError: (error: Error) => void;
6053
+ reportError: (error: Error, playerId?: string) => void;
5835
6054
  reportPlaybackEnded: () => void;
5836
6055
  reportTimeProgress: (ms: number) => void;
5837
6056
  seekTo: (ms: number) => void;
@@ -5850,12 +6069,13 @@ export declare const TivioProvider: React_2.FC<TivioProviderProps>;
5850
6069
  /**
5851
6070
  * @public
5852
6071
  */
5853
- export declare interface TivioProviderProps extends React_2.PropsWithChildren {
6072
+ export declare type TivioProviderProps = {
5854
6073
  /**
5855
6074
  * This prop must be set only once and not change value afterwards
5856
6075
  */
5857
6076
  conf: SdkReactConfig | undefined | null;
5858
- }
6077
+ children: React_2.ReactNode;
6078
+ };
5859
6079
 
5860
6080
  /**
5861
6081
  * @public
@@ -5884,7 +6104,7 @@ export declare type TivioReactBundle = {
5884
6104
  internal: TivioInternalBundle;
5885
6105
  analytics: TivioAnalytics;
5886
6106
  destroy: () => Promise<void>;
5887
- } & Pick<TivioSetters, 'setBundleVersion' | 'setUser' | 'setLanguage' | 'setStorageManager'> & Omit<Partial<TivioJsBundleExposedApi>, 'createPlayerWrapper'>;
6107
+ } & Pick<TivioSetters, 'setBundleVersion' | 'setUser' | 'setLanguage' | 'setStorageManager'>;
5888
6108
 
5889
6109
  /**
5890
6110
  * @public
@@ -6034,13 +6254,16 @@ export declare interface Track {
6034
6254
  language: LangCode;
6035
6255
  }
6036
6256
 
6037
- declare type TransactionInfo = {
6257
+ declare interface TransactionInfo {
6258
+ id: string;
6038
6259
  type: 'transaction';
6039
6260
  name: string;
6040
6261
  videoId: string;
6041
6262
  cover: string;
6042
6263
  description: string;
6043
- };
6264
+ promotions?: firebase_3.firestore.DocumentReference<Promotion>[];
6265
+ fullDiscount?: boolean;
6266
+ }
6044
6267
 
6045
6268
  /**
6046
6269
  * Represents one string in every supported language mutation.
@@ -6388,6 +6611,8 @@ export declare type UseMessagesOptions = ContentOrConversationId & {
6388
6611
  autoInit?: boolean;
6389
6612
  };
6390
6613
 
6614
+ export declare type UseOrganizationSettingsReturn<TKey extends keyof OrganizationSettingsField> = OrganizationSettingsField[TKey] | undefined;
6615
+
6391
6616
  /**
6392
6617
  * @public
6393
6618
  *
@@ -6448,6 +6673,10 @@ export declare type User = {
6448
6673
  * Returns "active" (non-expired) subscription purchases
6449
6674
  */
6450
6675
  purchasedSubscriptions: Purchase[];
6676
+ /**
6677
+ * Returns voucher purchases
6678
+ */
6679
+ purchasedVouchers: Purchase[];
6451
6680
  /**
6452
6681
  * Returns last expired subscription which user can renew or undefined
6453
6682
  */
@@ -6488,6 +6717,7 @@ export declare type User = {
6488
6717
  invalidateAllTokens: (type: TokenType) => Promise<void>;
6489
6718
  isPartiallyRegistered: boolean;
6490
6719
  conversationStore: ConversationStore;
6720
+ streamingSessions?: UserStreamingSessionFieldInterface[];
6491
6721
  };
6492
6722
 
6493
6723
  /**
@@ -6554,6 +6784,14 @@ export declare type UserProfile = {
6554
6784
  survey?: ProfileSurvey;
6555
6785
  };
6556
6786
 
6787
+ export declare interface UserStreamingSessionFieldInterface {
6788
+ sessionId: string;
6789
+ sessionType: Exclude<VideoSourceField['sessionType'], undefined>;
6790
+ contentId: string;
6791
+ activeContentId?: string;
6792
+ created: Date;
6793
+ }
6794
+
6557
6795
  /**
6558
6796
  * @public
6559
6797
  */
@@ -6793,12 +7031,9 @@ export declare interface Video extends RowItem, MonetizableItem, ReactableConten
6793
7031
  image: string | null;
6794
7032
  isPlayable: boolean;
6795
7033
  monetizations: Monetization[];
6796
- getSourceUrl(options?: {
6797
- language?: LangCode;
6798
- }): Promise<GetSourceUrlResponse & {
7034
+ getSourceUrl(options?: Partial<GetSourceUrlRequest>): Promise<GetSourceUrlResponse & {
6799
7035
  language?: LangCode;
6800
7036
  }>;
6801
- getSeekingMatrixPreviewByTime(timeMs: number, offsetIndex?: number): SeekingMatrix | null;
6802
7037
  purchasableMonetization: any | null;
6803
7038
  transaction: PurchasableMonetization | undefined;
6804
7039
  subscriptions: PurchasableMonetization[];
@@ -6819,7 +7054,6 @@ export declare interface Video extends RowItem, MonetizableItem, ReactableConten
6819
7054
  organizationId?: string;
6820
7055
  linkedVideosRaw: LinkedVideoRaw[] | undefined;
6821
7056
  linkedVideos: LinkedVideo[] | undefined;
6822
- pipPaths?: string[];
6823
7057
  contentType: VideoContentType | null;
6824
7058
  year?: number;
6825
7059
  episodeNumber?: number;
@@ -6853,6 +7087,7 @@ export declare interface Video extends RowItem, MonetizableItem, ReactableConten
6853
7087
  contentDescriptors?: string[];
6854
7088
  publishedStatus?: PublishedStatus;
6855
7089
  widgetPaths?: string[];
7090
+ forcedCapabilities: PlayerCapability[] | null;
6856
7091
  }
6857
7092
 
6858
7093
  /**
@@ -6893,11 +7128,12 @@ export declare interface VideoHighlight {
6893
7128
  id: string;
6894
7129
  title: string;
6895
7130
  description?: string;
6896
- fromTimestamp?: number;
6897
- toTimestamp?: number;
7131
+ fromSegment?: number;
7132
+ toSegment?: number;
6898
7133
  imageUrl?: string;
6899
7134
  videoTime?: string;
6900
7135
  videoId?: string;
7136
+ created?: Date;
6901
7137
  }
6902
7138
 
6903
7139
  declare type VideoPath = string;
@@ -7149,8 +7385,10 @@ export declare interface VodTivioSourceInterface extends PlayerSourceInterface<S
7149
7385
  canWatchOnDevice: boolean;
7150
7386
  isAvailable: boolean;
7151
7387
  availability: ContentAvailability | null;
7388
+ managementUrl?: string;
7152
7389
  video: Video;
7153
7390
  clone: (params?: Partial<VodTivioSourceParams>) => VodTivioSourceInterface;
7391
+ sessionType?: VideoSourceField['sessionType'];
7154
7392
  }
7155
7393
 
7156
7394
  /**
@@ -7162,18 +7400,43 @@ export declare interface VodTivioSourceParams extends PlayerSourceParams<SourceT
7162
7400
  language?: LangCode;
7163
7401
  drm?: Drm;
7164
7402
  ignoreWatchPosition?: boolean;
7403
+ /**
7404
+ * URL for source modification for user (e.g. add PIP window to livestream).
7405
+ * TODO mb move to PlayerSourceParams
7406
+ * TODO: Remove managementUrl
7407
+ */
7408
+ managementUrl?: string;
7409
+ /**
7410
+ * Session ID for authentication and optionally controlling the cameras
7411
+ */
7412
+ sessionId?: string;
7165
7413
  }
7166
7414
 
7167
7415
  /**
7168
7416
  * TODO: Should be in core-js, we can't import types from it, though.
7169
7417
  */
7170
- declare type Voucher = {
7418
+ declare interface Voucher {
7171
7419
  activate: () => void;
7172
7420
  isUsed: boolean;
7173
7421
  isExpired: boolean;
7174
7422
  status: 'NEW' | 'USED';
7175
7423
  voucherInfo: SubscriptionInfo | TransactionInfo;
7176
- };
7424
+ }
7425
+
7426
+ declare interface VoucherPageConfiguration {
7427
+ showVoucherButtonInHeader?: boolean;
7428
+ multiCreatorPage?: boolean;
7429
+ disableVoucherButtonInMonetizationCard?: boolean;
7430
+ voucherButtonText?: Translation;
7431
+ title: Translation;
7432
+ steps: {
7433
+ number: number;
7434
+ description: Translation;
7435
+ }[];
7436
+ customSorting?: {
7437
+ [key: string]: number;
7438
+ };
7439
+ }
7177
7440
 
7178
7441
  /**
7179
7442
  * @public