@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.
package/dist/index.d.ts CHANGED
@@ -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[];
@@ -691,6 +739,7 @@ export declare interface CommonSourceInterface<T extends SourceType = SourceType
691
739
  next: CommonSource | null;
692
740
  canSeek: boolean;
693
741
  hasNext: boolean;
742
+ isCastable: boolean;
694
743
  isFinished: boolean;
695
744
  setIsFinished(isFinished: boolean): void;
696
745
  isStarted: boolean;
@@ -709,6 +758,8 @@ export declare interface CommonSourceParams<T extends SourceType = SourceType> {
709
758
  name?: string;
710
759
  description?: string;
711
760
  autoplay?: boolean;
761
+ isCastable?: boolean;
762
+ videoPath?: string;
712
763
  }
713
764
 
714
765
  /**
@@ -808,6 +859,22 @@ export declare type ContentType = 'ARTICLE' | 'VIDEO' | 'SERIES' | 'EPISODE';
808
859
  */
809
860
  export declare type ContinuePosition = number | null | Promise<number | null>;
810
861
 
862
+ export declare interface ControlPlayback {
863
+ delaySegmentCount?: number;
864
+ status: ControlPlaybackStatus;
865
+ }
866
+
867
+ export declare enum ControlPlaybackStatus {
868
+ PAUSED = "paused",
869
+ PLAYING = "playing"
870
+ }
871
+
872
+ export declare interface ControlReplay {
873
+ videoId: string;
874
+ fromSegment?: number;
875
+ toSegment?: number;
876
+ }
877
+
811
878
  /**
812
879
  * @public
813
880
  */
@@ -967,9 +1034,10 @@ export declare const createPubSub: () => PubSub;
967
1034
  */
968
1035
  export declare const createRemotePackageLoader: () => (secret: string, conf: InternalConfig, checkBundleCharCount?: boolean) => Promise<TivioBundle>;
969
1036
 
970
- export declare const createTivio: () => (conf: SdkReactConfig) => Promise<RemoteBundleState>;
971
-
972
- export declare const createUseRemoteBundle: () => (sdkReactConfig: SdkReactConfig, checkBundleCharCount?: boolean) => RemoteBundleState;
1037
+ /**
1038
+ * @public
1039
+ */
1040
+ export declare const createUseRemoteBundle: () => (conf: InternalConfig, checkBundleCharCount?: boolean) => RemoteBundleState;
973
1041
 
974
1042
  export declare interface CreateUserPayload {
975
1043
  displayName?: string;
@@ -1022,6 +1090,14 @@ export declare interface CurrentQuestion {
1022
1090
 
1023
1091
  export declare type CurrentQuestionScene = InteractiveWidgetSceneBase<InteractiveWidgetSceneTemplateType.CURRENT_QUESTION>;
1024
1092
 
1093
+ export declare interface currentSubscription {
1094
+ subscriptionId?: string;
1095
+ subscriptionItemType: primaSubscriptionItemType;
1096
+ startDatetime?: Date;
1097
+ endDateTime?: Date;
1098
+ actualPrice: actualPriceDetails;
1099
+ }
1100
+
1025
1101
  /**
1026
1102
  * @public
1027
1103
  */
@@ -1078,7 +1154,9 @@ export declare enum CustomerId {
1078
1154
  DAVID_FRANK_TV = "DAVID_FRANK_TV",
1079
1155
  LEPSI_UZ_TO_NEBUDE = "LEPSI_UZ_TO_NEBUDE",
1080
1156
  BEAT_SEXISM = "BEAT_SEXISM",
1081
- KAROL_A_KVIDO = "KAROL_A_KVIDO"
1157
+ KAROL_A_KVIDO = "KAROL_A_KVIDO",
1158
+ UZ_BUDU = "UZ_BUDU",
1159
+ PRIMA = "PRIMA"
1082
1160
  }
1083
1161
 
1084
1162
  export declare interface CustomScript {
@@ -1232,6 +1310,15 @@ export declare enum DurationUnits {
1232
1310
  MONTH = "month"
1233
1311
  }
1234
1312
 
1313
+ /**
1314
+ * Custom text for duration units used by formatDuration
1315
+ */
1316
+ export declare interface DurationUnitTexts {
1317
+ hour: string;
1318
+ minute: string;
1319
+ seconds?: string;
1320
+ }
1321
+
1235
1322
  /**
1236
1323
  * Duration field using dayjs duration
1237
1324
  */
@@ -1321,7 +1408,7 @@ export declare interface EmailTemplateVersion {
1321
1408
 
1322
1409
  export declare type EmbedScreenMessageNavigateType = {
1323
1410
  type: EmbedScreenMessageType.NAVIGATE;
1324
- to: string | 'Profile' | 'Home' | 'Search' | 'Video' | 'Series' | 'Subscription';
1411
+ to: string | 'Profile' | 'Home' | 'Search' | 'Video' | 'Series' | 'Subscription' | 'Handle';
1325
1412
  value?: string;
1326
1413
  };
1327
1414
 
@@ -1418,7 +1505,16 @@ export declare interface ForbiddenOnCallError extends GenericOnCallError {
1418
1505
 
1419
1506
  export declare enum ForbiddenReason {
1420
1507
  MONETIZATION = "MONETIZATION",
1421
- GEO_BLOCKING = "GEO_BLOCKING"
1508
+ GEO_BLOCKING = "GEO_BLOCKING",
1509
+ EMAIL_ALREADY_EXISTS = "EMAIL_ALREADY_EXISTS",
1510
+ EMAIL_CONTAINS_PLUS_SIGN = "EMAIL_CONTAINS_PLUS_SIGN",
1511
+ EMAIL_NOT_VERIFIED = "EMAIL_NOT_VERIFIED",
1512
+ INVALID_BIRTH_YEAR = "INVALID_BIRTH_YEAR",
1513
+ INVALID_EMAIL_ADDRESS = "INVALID_EMAIL_ADDRESS",
1514
+ NAME_CONTAINS_INVALID_CHAR = "NAME_CONTAINS_INVALID_CHAR",
1515
+ USER_ACCOUNT_LOCKED = "USER_ACCOUNT_LOCKED",
1516
+ USER_NOT_FOUND = "USER_NOT_FOUND",
1517
+ UNSUPPORTED_BROWSER = "UNSUPPORTED_BROWSER"
1422
1518
  }
1423
1519
 
1424
1520
  /**
@@ -1452,6 +1548,15 @@ export declare type GeoBlocking = {
1452
1548
  blacklist: Array<any>;
1453
1549
  };
1454
1550
 
1551
+ export declare interface GetArticleRequest {
1552
+ id: string;
1553
+ }
1554
+
1555
+ export declare interface GetArticleResponse {
1556
+ article: ArticleDocumentSerialized;
1557
+ isBlockedByPurchase: boolean;
1558
+ }
1559
+
1455
1560
  export declare interface GetBaseAnalyticsRequest {
1456
1561
  /**
1457
1562
  * Id of organization to return analytics data.
@@ -1469,6 +1574,10 @@ export declare interface GetBaseAnalyticsRequest {
1469
1574
 
1470
1575
  export declare type GetConversionAnalyticsRequest = GetBaseAnalyticsRequest;
1471
1576
 
1577
+ export declare interface GetCreatorsWithVoucherResponse {
1578
+ creators: CreatorsWithVoucherSubscriptions[];
1579
+ }
1580
+
1472
1581
  export declare type GetMonetizationsAnalyticsRequest = GetBaseAnalyticsRequest;
1473
1582
 
1474
1583
  export declare interface GetMonetizationsAnalyticsResponse {
@@ -1492,6 +1601,7 @@ export declare const getPubSub: () => PubSub;
1492
1601
  */
1493
1602
  export declare interface GetPurchasableMonetizationsOptions {
1494
1603
  includeMonetizationsWithPurchaseDisabled: boolean;
1604
+ ignoreActiveOrganizationCheck?: boolean;
1495
1605
  }
1496
1606
 
1497
1607
  /**
@@ -1584,14 +1694,26 @@ export declare interface GetSourceUrlResponse {
1584
1694
  * Returns url to manifest with audio only chunks.
1585
1695
  */
1586
1696
  audioOnly?: boolean;
1697
+ /**
1698
+ * In case of HYBRID mode, this field will contain the start date of the live stream in UNIX timestamp format.
1699
+ */
1700
+ from?: number;
1587
1701
  /**
1588
1702
  * Current session id for given user and source.
1589
1703
  */
1590
1704
  sessionId?: string;
1705
+ /**
1706
+ * Active content (e.g. video) id in generated session.
1707
+ */
1708
+ activeContentId?: string;
1591
1709
  /**
1592
1710
  * Template for generating image previews for user scrubbing in player.
1593
1711
  */
1594
1712
  seekingMatrix?: SeekingMatrixTemplate;
1713
+ /**
1714
+ * Determines session type generated for source. If no provided it will be considered 'ondemand' session type.
1715
+ */
1716
+ sessionType?: VideoSourceField['sessionType'];
1595
1717
  }
1596
1718
 
1597
1719
  export declare type GetTilesInRowResponse<U extends NextPageParamType = NextPageParamType> = PaginatedResponse<TileData, U>;
@@ -1665,8 +1787,6 @@ export declare interface GetViewAnalyticsResponse {
1665
1787
 
1666
1788
  export declare type GetViewsAnalyticsRequest = GetBaseAnalyticsRequest;
1667
1789
 
1668
- export declare let globalSdkReactConfig: SdkReactConfig | undefined;
1669
-
1670
1790
  /**
1671
1791
  * @public
1672
1792
  */
@@ -1740,11 +1860,19 @@ export declare interface IndexedTvChannel extends IndexedObject {
1740
1860
  * @public
1741
1861
  */
1742
1862
  export declare interface IndexedVideo extends IndexedObject {
1743
- assets: any;
1863
+ assets?: AssetsField;
1744
1864
  organizationPath: string;
1745
1865
  sharedOrganizationPaths?: string[];
1746
1866
  tagPaths?: string[];
1747
1867
  created: Date | string;
1868
+ /**
1869
+ * Unix timestamp in seconds. This is standard date format for algolia records.
1870
+ *
1871
+ * @deprecated this is temporary workaround, the correct way is to migrate {@link created} to this format,
1872
+ * but before we need to adjust admin and front end applications to parse this format.
1873
+ * Do not read from this field when parsing response in front end applications, use {@link created} instead.
1874
+ */
1875
+ createdUnixTimestamp: number;
1748
1876
  /**
1749
1877
  * Is evaluated on publishedStatus and transcodingStatus fields.
1750
1878
  * TODO this will be true for videos with UNLISTED status, which is unintuitive for 'isDraft', we need to rename this
@@ -1757,6 +1885,7 @@ export declare interface IndexedVideo extends IndexedObject {
1757
1885
  publishedStatus?: PublishedStatus;
1758
1886
  type: VideoType;
1759
1887
  contentType?: VideoContentType;
1888
+ defaultName: string;
1760
1889
  name: string | Translation;
1761
1890
  description: string | Translation;
1762
1891
  hide: boolean;
@@ -2064,7 +2193,17 @@ export declare type LeaderboardScene = InteractiveWidgetSceneBase<InteractiveWid
2064
2193
  */
2065
2194
  export declare interface LinkedVideo {
2066
2195
  video: Video;
2067
- type: 'CUT' | 'TRAILER' | 'BONUS' | 'CHILD' | 'TEASER' | 'TASTING' | 'VIRTUAL_PROGRAM' | 'PIP';
2196
+ type: 'CUT' | 'TRAILER' | 'BONUS' | 'CHILD' | 'TEASER' | 'TASTING' | 'VIRTUAL_PROGRAM' | 'LANGUAGE'
2197
+ /**
2198
+ * Will render separate mini-player on top of the main one, playing given video.
2199
+ */
2200
+ | 'PIP'
2201
+ /**
2202
+ * Will not render separate player, it will override main video source.
2203
+ */
2204
+ | 'COMPOSED_PIP' | 'MATRIX';
2205
+ name?: string;
2206
+ color?: string;
2068
2207
  }
2069
2208
 
2070
2209
  /**
@@ -2335,7 +2474,8 @@ export declare enum MONETIZATION_FREQUENCY {
2335
2474
  WEEKLY = "WEEKLY",
2336
2475
  MONTHLY = "MONTHLY",
2337
2476
  HALF_ANNUALLY = "HALF_ANNUALLY",
2338
- ANNUALLY = "ANNUALLY"
2477
+ ANNUALLY = "ANNUALLY",
2478
+ EVENT = "EVENT"
2339
2479
  }
2340
2480
 
2341
2481
  /**
@@ -2700,6 +2840,7 @@ export declare interface OrganizationSettingsField extends OrganizationResponsiv
2700
2840
  hideTitle?: boolean;
2701
2841
  };
2702
2842
  };
2843
+ voucher?: VoucherPageConfiguration;
2703
2844
  }
2704
2845
 
2705
2846
  /**
@@ -2804,6 +2945,15 @@ export declare type PatreonUserResponse = {
2804
2945
  errors?: PatreonError[];
2805
2946
  };
2806
2947
 
2948
+ /**
2949
+ * @public
2950
+ */
2951
+ export declare interface PaymentInfo {
2952
+ webPaymentGatewayLink?: string;
2953
+ gatewayUri?: string;
2954
+ paymentQRCodeUri?: string;
2955
+ }
2956
+
2807
2957
  /**
2808
2958
  * @public
2809
2959
  */
@@ -2927,7 +3077,7 @@ export declare interface PlayerEngineConfig {
2927
3077
  /**
2928
3078
  * @public
2929
3079
  */
2930
- 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';
3080
+ 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';
2931
3081
 
2932
3082
  /**
2933
3083
  * @public
@@ -3050,21 +3200,11 @@ export declare interface PlayerEngineOptions {
3050
3200
  }
3051
3201
 
3052
3202
  export declare interface PlayerError {
3203
+ detail?: ShakaErrorDetail;
3053
3204
  message: string;
3205
+ timestamp: number;
3054
3206
  }
3055
3207
 
3056
- /**
3057
- * @public
3058
- */
3059
- export declare type PlayerEvent = {
3060
- name: PlayerEventName;
3061
- };
3062
-
3063
- /**
3064
- * @public
3065
- */
3066
- export declare type PlayerEventName = `${PlayerWrapperEvents}`;
3067
-
3068
3208
  /**
3069
3209
  * @public
3070
3210
  */
@@ -3192,7 +3332,12 @@ export declare interface PlayerSourceInterface<T extends NonAdSourceType = NonAd
3192
3332
  pauseReactions(): void;
3193
3333
  correctStartPosition(): Promise<void | null>;
3194
3334
  setCanSeek(canSeek: boolean): void;
3335
+ getOffset(): number;
3336
+ getSeekingMatrixPreviewByTime(timeMs: number, offsetIndex?: number): SeekingMatrix | null;
3195
3337
  originalOptions: Record<string, any>;
3338
+ start?: Date;
3339
+ from?: Date;
3340
+ sourceHistory?: string[];
3196
3341
  }
3197
3342
 
3198
3343
  /**
@@ -3205,6 +3350,12 @@ export declare interface PlayerSourceParams<T extends NonAdSourceType = NonAdSou
3205
3350
  language?: LangCode | null;
3206
3351
  availableLanguages?: LangCode[] | null;
3207
3352
  sourcePlayMode: SourcePlayMode;
3353
+ start?: Date;
3354
+ from?: Date;
3355
+ sourceHistory?: string[];
3356
+ seekingMatrix?: SeekingMatrixTemplate;
3357
+ sessionType?: VideoSourceField['sessionType'];
3358
+ sessionId?: string;
3208
3359
  }
3209
3360
 
3210
3361
  export declare type PlayersScene = InteractiveWidgetSceneBase<InteractiveWidgetSceneTemplateType.PLAYERS>;
@@ -3250,19 +3401,11 @@ export declare interface PlayerWrapper {
3250
3401
  * Pause video
3251
3402
  */
3252
3403
  pause: () => void;
3253
- ad: AdSourceInterface | null;
3254
- adMetadata: AdMetadata | null;
3255
- adSegment: AdSegment | null;
3256
- availableLanguages: LangCode[] | null;
3257
- canReplay: boolean;
3258
- currentTime: number;
3259
3404
  /**
3260
3405
  * Currently playing source
3261
3406
  */
3262
3407
  source: PlayerSource | null;
3263
- seekInterceptor: SeekInterceptor;
3264
3408
  events: EmitterInterface;
3265
- event: PlayerEvent | null;
3266
3409
  /**
3267
3410
  * Register a low level player that implements player methods, like play video, change volume, etc.
3268
3411
  */
@@ -3270,29 +3413,14 @@ export declare interface PlayerWrapper {
3270
3413
  /**
3271
3414
  * duration of current source in ms (both setter and getter)
3272
3415
  */
3273
- durationMs: number;
3274
- intro: {
3275
- marker: any;
3276
- skip: () => void;
3277
- } | null;
3278
- isBuffering: boolean;
3279
- isCurrentTimeLive: boolean;
3280
- isLiveSeekingEnabled: boolean;
3281
- isMuted: boolean;
3416
+ durationMs: number | null;
3282
3417
  isPlaybackStarted?: boolean;
3283
3418
  isPaused: boolean;
3284
3419
  isPlaying: boolean;
3285
3420
  isIdle: boolean;
3286
- language: LangCode | null;
3287
- nextRecommendedVideo: Video | null;
3288
- prerollCheck: PrerollCheck;
3289
- previousSource: PlayerSource | null;
3290
- progress: number | null;
3291
- progressMetadata: ProgressMetadata;
3292
- requestedSource: PlayerSource | null;
3293
3421
  error: PlayerError | null;
3294
- state: PlayerState;
3295
- volume: number;
3422
+ playbackError: PlayerError | null;
3423
+ canPlay: boolean;
3296
3424
  /**
3297
3425
  * Replay the video that finished playback
3298
3426
  */
@@ -3307,56 +3435,14 @@ export declare interface PlayerWrapper {
3307
3435
  * set volume to value between 0,1
3308
3436
  */
3309
3437
  setVolume: (volume: number) => void;
3310
- changeLanguage: (langCode: LangCode) => Promise<void>;
3311
3438
  /**
3312
3439
  * change volume by value between -1,1
3313
3440
  */
3314
3441
  changeVolumeBy: (volume: number) => void;
3315
3442
  setMuted: (muted: boolean) => void;
3443
+ setCanPlay: (canPlay: boolean) => void;
3316
3444
  toggleMuted: () => void;
3317
- getQualities: () => Track[];
3318
- playNativeImaAd: (url: string) => void;
3319
- playSourceAfterAdsRun: () => void;
3320
- putAd: (ad: AdSourceInterface) => void;
3321
- putAdMetadata: (ad: AdSourceInterface) => void;
3322
- reportLoadError: (error: Error) => void;
3323
- reportStateChanged: (state: PlayerState) => void;
3324
- reportTimeProgress: (ms: number) => void;
3325
- reportPlaybackCancelled: () => void;
3326
- reportPlaybackError: (error: Error) => void;
3327
- reportPlaybackEnded: () => void;
3328
- seekToPercent: (percentage: number) => void;
3329
- seekToInternal: (ms: number) => void;
3330
- seekToLive: () => void;
3331
- seekToLiveInternal: () => void;
3332
- setIsBuffering: (isBuffering: boolean) => void;
3333
- skipAd: () => void;
3334
- skipAllAds: () => void;
3335
- }
3336
-
3337
- /**
3338
- * @public
3339
- */
3340
- export declare enum PlayerWrapperEvents {
3341
- 'playback_cancelled' = "playback_cancelled",
3342
- /**
3343
- * Triggered when content video or ad finished playing until the end
3344
- */
3345
- 'playback_ended' = "playback_ended",
3346
- /**
3347
- * Triggered when both content video and all its associated ads finished playing until the end.
3348
- * Or in case of postroll, when content video finished playing unit the end and all postroll
3349
- * ads either finished / failed or were skipped.
3350
- */
3351
- 'video_unit_ended' = "video_unit_ended",
3352
- /**
3353
- * Pause was triggered
3354
- */
3355
- 'pause_triggered' = "pause_triggered",
3356
- /**
3357
- * Un-pause was triggered
3358
- */
3359
- 'unpause_triggered' = "unpause_triggered"
3445
+ resetErrors(): void;
3360
3446
  }
3361
3447
 
3362
3448
  /**
@@ -3372,17 +3458,79 @@ export declare enum PlayerWrapperEventType {
3372
3458
  */
3373
3459
  export declare type PlayerWrapperEventTypeType = `${PlayerWrapperEventType}`;
3374
3460
 
3375
- /**
3376
- * @public
3377
- */
3378
- /**
3379
- * A promise that ads will be loaded. Resolves to the first ad source,
3380
- * other ads are linked to it via `ad.next` attribute.
3381
- *
3382
- * In case preroll is not configured or no ad
3383
- * manages to load successfully, resolves to null.
3384
- */
3385
- export declare type PrerollCheck = (source: PlayerSource) => Promise<AdSourceInterface | null>;
3461
+ export declare enum primaPlusMonetizationLevel {
3462
+ light = "z7soJTA2dYSxnOOJw7B0",
3463
+ premium = "kwfM0D7Vzv5wfLf5go8o",
3464
+ noAds = "L4dzWZHCZenezYawqEbl"
3465
+ }
3466
+
3467
+ export declare interface primaPlusRefreshTokenResponse {
3468
+ result?: {
3469
+ data: {
3470
+ payload: {
3471
+ sessionId: string | null;
3472
+ userUuid: string;
3473
+ accessToken: {
3474
+ token: string;
3475
+ insecure: boolean;
3476
+ expiresAt: string;
3477
+ };
3478
+ refreshToken: {
3479
+ token: string;
3480
+ insecure: boolean;
3481
+ expiresAt: string;
3482
+ };
3483
+ };
3484
+ };
3485
+ datetime: string;
3486
+ };
3487
+ error?: {
3488
+ code: number;
3489
+ message: string;
3490
+ datetime: string;
3491
+ };
3492
+ }
3493
+
3494
+ export declare interface primaPlusSubscription {
3495
+ result?: {
3496
+ data: {
3497
+ subscription: {
3498
+ currentSubscription?: currentSubscription;
3499
+ };
3500
+ };
3501
+ };
3502
+ error?: {
3503
+ code: number;
3504
+ message: string;
3505
+ datetime: string;
3506
+ };
3507
+ }
3508
+
3509
+ export declare enum primaSubscriptionItemType {
3510
+ REGISTERED = "REGISTERED",
3511
+ HVOD_STANDARD = "HVOD_STANDARD",
3512
+ SVOD_STANDARD = "SVOD_STANDARD",
3513
+ IPBR_STANDARD = "IPBR_STANDARD",
3514
+ PREMIUM_STANDARD = "PREMIUM_STANDARD",
3515
+ IPRIMA_NO_ADS_STANDARD = "IPRIMA_NO_ADS_STANDARD",
3516
+ HVOD_PARTIAL = "HVOD_PARTIAL",
3517
+ IPBR_PARTIAL = "IPBR_PARTIAL",
3518
+ PREMIUM_PARTIAL = "PREMIUM_PARTIAL",
3519
+ IPRIMA_NO_ADS_PARTIAL = "IPRIMA_NO_ADS_PARTIAL",
3520
+ SVOD_PREPAID_VOUCHER = "SVOD_PREPAID_VOUCHER",
3521
+ SVOD_DISCOUNT_VOUCHER = "SVOD_DISCOUNT_VOUCHER",
3522
+ HVOD_PREPAID_VOUCHER = "HVOD_PREPAID_VOUCHER",
3523
+ HVOD_DISCOUNT_VOUCHER = "HVOD_DISCOUNT_VOUCHER"
3524
+ }
3525
+
3526
+ declare enum primaSupportedCurrency {
3527
+ CZK = "CZK",
3528
+ EUR = "EUR",
3529
+ PLN = "PLN",
3530
+ USD = "USD",
3531
+ GBP = "GBP",
3532
+ HUF = "HUF"
3533
+ }
3386
3534
 
3387
3535
  /**
3388
3536
  * Values that user entered in survey for given profile.
@@ -3392,18 +3540,6 @@ export declare type ProfileSurvey = {
3392
3540
  age?: AgeRange;
3393
3541
  };
3394
3542
 
3395
- /**
3396
- * @public
3397
- */
3398
- export declare interface ProgressMetadata {
3399
- currentTimeMs: number;
3400
- durationMs: number;
3401
- percent: number;
3402
- remainingMs: number;
3403
- type: 'original' | 'cutout';
3404
- cutout?: Cutout;
3405
- }
3406
-
3407
3543
  /**
3408
3544
  * @public
3409
3545
  */
@@ -3516,6 +3652,11 @@ export declare type Purchase = {
3516
3652
  createdBy?: string;
3517
3653
  expirationDate: Date | null;
3518
3654
  gateway: PurchaseDocumentGateway | null;
3655
+ /**
3656
+ * Returns how many times user has purchased a monetization in a row.
3657
+ * @returns number of purchases (loyalty points)
3658
+ */
3659
+ getLoyaltyCount: () => Promise<number>;
3519
3660
  id: string;
3520
3661
  isExpired: boolean;
3521
3662
  /**
@@ -3551,7 +3692,8 @@ export declare enum PurchaseDocumentGateway {
3551
3692
  'patreon' = "patreon",
3552
3693
  'paypal' = "paypal",
3553
3694
  'unknown' = "unknown",
3554
- 'stargaze' = "stargaze"
3695
+ 'stargaze' = "stargaze",
3696
+ 'prima' = "prima"
3555
3697
  }
3556
3698
 
3557
3699
  /**
@@ -3590,7 +3732,7 @@ export declare type PurchaseEndpointPayload = {
3590
3732
  */
3591
3733
  expiration?: number;
3592
3734
  /**
3593
- * Paypal Id, Qerko Id or Voucher Id based on the gateway.
3735
+ * If purchase was made outside of standard Tivio payment method (e.g PayPal), this is its ID.
3594
3736
  */
3595
3737
  externalId?: string;
3596
3738
  /**
@@ -3813,10 +3955,7 @@ export declare interface QerkoOverlayState {
3813
3955
  * TODO more generic name, since we support stargaze payment gateway as well
3814
3956
  * @public
3815
3957
  */
3816
- export declare interface QerkoPaymentInfo {
3817
- webPaymentGatewayLink?: string;
3818
- gatewayUri?: string;
3819
- paymentQRCodeUri?: string;
3958
+ export declare interface QerkoPaymentInfo extends PaymentInfo {
3820
3959
  confirmationPaymentUrl?: string;
3821
3960
  purchaseId: string;
3822
3961
  currency: string;
@@ -3998,6 +4137,10 @@ export declare enum ReactionEnum {
3998
4137
  AWW = "AWW"
3999
4138
  }
4000
4139
 
4140
+ export declare type ReactionsField = {
4141
+ [reactionId in ReactionEnum]?: number;
4142
+ };
4143
+
4001
4144
  /**
4002
4145
  * @public
4003
4146
  */
@@ -4032,11 +4175,80 @@ declare type Relationship = {
4032
4175
  * @public
4033
4176
  */
4034
4177
  export declare type RemoteBundleState = {
4035
- state: 'loading' | 'error' | 'ready';
4036
- error: string | null;
4037
4178
  config: InternalConfig;
4038
- settings: Settings;
4039
- } & Omit<Partial<TivioJsBundleExposedApi>, 'createPlayerWrapper'> & Nullable<TivioBundle>;
4179
+ error: string | null;
4180
+ state: 'loading' | 'error' | 'ready';
4181
+ } & Nullable<TivioBundle>;
4182
+
4183
+ export declare interface RemoteControlGenerateSourceResponse {
4184
+ sessionId?: string;
4185
+ url?: string;
4186
+ }
4187
+
4188
+ export declare interface RemoteControlGetSourceUrlPayload {
4189
+ videoId: string;
4190
+ userId: string;
4191
+ profileId: string;
4192
+ capabilities: PlayerCapability[];
4193
+ activeVideoId: string;
4194
+ }
4195
+
4196
+ /**
4197
+ * @public
4198
+ */
4199
+ export declare interface RemoteControllerProps {
4200
+ video: Video;
4201
+ className?: string;
4202
+ }
4203
+
4204
+ export declare enum RemoteControlMethod {
4205
+ pairDevice = "pairDevice",
4206
+ unpairDevice = "unpairDevice",
4207
+ playHighlight = "playHighlight",
4208
+ playbackControl = "playbackControl",
4209
+ selectCamera = "selectCamera",
4210
+ getSourceUrl = "getSourceUrl"
4211
+ }
4212
+
4213
+ export declare interface RemoteControlPairPayload {
4214
+ code: string;
4215
+ videoId: string;
4216
+ profileId: string;
4217
+ }
4218
+
4219
+ export declare interface RemoteControlPlaybackControlPayload {
4220
+ sessionId: string;
4221
+ videoId: string;
4222
+ playback: ControlPlayback;
4223
+ activeVideoId?: string;
4224
+ }
4225
+
4226
+ export declare interface RemoteControlPlayHighlightPayload {
4227
+ sessionId: string;
4228
+ videoId: string;
4229
+ activeVideoId: string;
4230
+ replay: ControlReplay;
4231
+ }
4232
+
4233
+ export declare type RemoteControlRequest = RemoteControlRequestBase<RemoteControlMethod.pairDevice> | RemoteControlRequestBase<RemoteControlMethod.unpairDevice> | RemoteControlRequestBase<RemoteControlMethod.playHighlight> | RemoteControlRequestBase<RemoteControlMethod.playbackControl> | RemoteControlRequestBase<RemoteControlMethod.selectCamera> | RemoteControlRequestBase<RemoteControlMethod.getSourceUrl>;
4234
+
4235
+ declare interface RemoteControlRequestBase<TMethod extends RemoteControlMethod> {
4236
+ method: TMethod;
4237
+ payload: RemoteControlRequestPayload<TMethod>;
4238
+ }
4239
+
4240
+ 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;
4241
+
4242
+ export declare interface RemoteControlSelectCameraPayload {
4243
+ sessionId: string;
4244
+ videoId: string;
4245
+ activeVideoId: string;
4246
+ }
4247
+
4248
+ export declare interface RemoteControlUnpairPayload {
4249
+ sessionId: string;
4250
+ videoId: string;
4251
+ }
4040
4252
 
4041
4253
  /**
4042
4254
  * @public
@@ -4070,8 +4282,6 @@ export declare interface RenderConditionValue {
4070
4282
  subscriptionRefs?: any[];
4071
4283
  }
4072
4284
 
4073
- export declare const renderWebPlayer: (container: HTMLElement, props: WebPlayerProps) => void;
4074
-
4075
4285
  /**
4076
4286
  * Make all attributes in given type required, non-nullable and defined.
4077
4287
  * e.g. will make `{ attribute?: string | null }` to be `{ attribute: string }`
@@ -4554,26 +4764,6 @@ export declare interface SeekingMatrixTemplate {
4554
4764
  interval: number;
4555
4765
  }
4556
4766
 
4557
- export declare interface SeekInterceptionResult {
4558
- position: number | null;
4559
- didChangePosition: boolean;
4560
- priority: number;
4561
- }
4562
-
4563
- /**
4564
- * @public
4565
- */
4566
- export declare interface SeekInterceptor {
4567
- addInterceptor(interceptor: SeekInterceptorFunction, callback?: SeekInterceptorCallback): void;
4568
- applyInterceptors(currentPosition: number, seekPosition: number): SeekInterceptionResult;
4569
- callCallbacksAfterInterception(): void;
4570
- removeInterceptor(interceptor: SeekInterceptorFunction): void;
4571
- }
4572
-
4573
- export declare type SeekInterceptorCallback = (requestedSeekPosition: number) => void;
4574
-
4575
- export declare type SeekInterceptorFunction = (currentPosition: number, seekPosition: number) => SeekInterceptionResult;
4576
-
4577
4767
  export declare enum SemanticDate {
4578
4768
  YESTERDAY = "Yesterday",
4579
4769
  TODAY = "Today",
@@ -4643,13 +4833,6 @@ export declare interface SetCustomClaimsRequest {
4643
4833
  organizationId: string;
4644
4834
  }
4645
4835
 
4646
- export declare const setSdkReactConfig: (tivioConfig: SdkReactConfig) => void;
4647
-
4648
- declare type Settings = {
4649
- onSetUser: (handler: (userId: string, userPayload: UserPayload) => void) => void;
4650
- setUser: (userId: string, userPayload: UserPayload) => void;
4651
- };
4652
-
4653
4836
  /**
4654
4837
  * Used for entities, that can be global (e.g. asset presets, tag types).
4655
4838
  * Non-global is stored under organizations (in sub-collection), and shown for organization's users and super-admin.
@@ -4670,6 +4853,21 @@ export declare interface SettingsItem {
4670
4853
  */
4671
4854
  export declare const setUser: (userId: string | null, payload?: UserPayload) => Promise<void>;
4672
4855
 
4856
+ export declare interface ShakaErrorDetail {
4857
+ category: number;
4858
+ code: number;
4859
+ data: Array<string | number>;
4860
+ handled: boolean;
4861
+ message: string;
4862
+ severity: ShakaErrorSeverity;
4863
+ stack: string;
4864
+ }
4865
+
4866
+ export declare enum ShakaErrorSeverity {
4867
+ RECOVERABLE = 1,
4868
+ CRITICAL = 2
4869
+ }
4870
+
4673
4871
  /**
4674
4872
  * @public
4675
4873
  */
@@ -4854,12 +5052,13 @@ export declare type SubscribeToTaggedVideosOptions = Omit<SubscribeToItemsInRowO
4854
5052
  orderBy?: OrderBy<TaggedVideosOrderByField>[];
4855
5053
  };
4856
5054
 
4857
- declare type SubscriptionInfo = {
5055
+ declare interface SubscriptionInfo {
5056
+ id: string;
4858
5057
  type: 'subscription';
4859
5058
  name: string;
4860
5059
  benefits: string[];
4861
5060
  frequency: string;
4862
- };
5061
+ }
4863
5062
 
4864
5063
  /**
4865
5064
  * @public
@@ -4869,11 +5068,24 @@ export declare interface SuccessConfirmationOverlayPayload extends ConfirmationO
4869
5068
  confirmButtonText?: string;
4870
5069
  }
4871
5070
 
5071
+ export declare interface Survey {
5072
+ items: SurveyItem[];
5073
+ }
5074
+
5075
+ export declare interface SurveyItem {
5076
+ id: string;
5077
+ imageUrl: string;
5078
+ description: string;
5079
+ title: string;
5080
+ }
5081
+
4872
5082
  export declare enum SurveyItemComponent {
4873
5083
  SURVEY = "SURVEY"
4874
5084
  }
4875
5085
 
4876
- export declare type SynchronizeUserTypeFunction = (payload: CreateUserPayload, tenantId: string, tenantUserId: string, organizationId?: string) => Promise<string>;
5086
+ export declare type SynchronizeUserTypeFunction = (payload: CreateUserPayload, tenantId: string, tenantUserId: string, organizationId?: string, additionalData?: {
5087
+ [key: string]: any;
5088
+ }) => Promise<string>;
4877
5089
 
4878
5090
  /**
4879
5091
  * @public
@@ -5033,7 +5245,7 @@ export declare interface TileData<ItemSpecificData = VideoTileSpecificData | TvC
5033
5245
  itemSpecificData: ItemSpecificData;
5034
5246
  }
5035
5247
 
5036
- declare interface TileMonetizationData {
5248
+ export declare interface TileMonetizationData {
5037
5249
  id: string;
5038
5250
  path: string;
5039
5251
  placementType: 'channel' | 'tvChannel' | 'condition' | 'video' | 'section' | 'row';
@@ -5177,6 +5389,7 @@ export declare interface TivioComponents {
5177
5389
  ContentSortPicker: React_2.ComponentType<ContentSortPickerProps>;
5178
5390
  WebProfileScreen: React_2.ComponentType<WebProfileScreenProps>;
5179
5391
  WebTivioProVideoScreen: React_2.ComponentType<WebTivioProVideoScreenProps>;
5392
+ RemoteController: React_2.ComponentType<RemoteControllerProps>;
5180
5393
  }
5181
5394
 
5182
5395
  /**
@@ -5204,7 +5417,7 @@ export declare interface TivioConfig {
5204
5417
  debug?: boolean;
5205
5418
  verbose?: boolean;
5206
5419
  firebaseApp?: any | null;
5207
- firebaseFactory?: (config: Object, appName?: string) => firebase.FirebaseApp;
5420
+ firebaseFactory?: (config: Object, appName?: string) => firebase_2.FirebaseApp;
5208
5421
  authDomainOverride?: string;
5209
5422
  firestore?: any | null;
5210
5423
  currency: Currency;
@@ -5255,7 +5468,7 @@ export declare type TivioGetters = {
5255
5468
  * @returns {Promise<Monetization[] | undefined>} organization subscriptions or undefined if organization does not exists
5256
5469
  */
5257
5470
  getSubscriptions: () => Promise<Monetization[] | undefined>;
5258
- } | null;
5471
+ };
5259
5472
  /**
5260
5473
  * Get video by its id.
5261
5474
  * @param videoId - video id
@@ -5453,7 +5666,7 @@ export declare type TivioJsBundleExposedApi = {
5453
5666
  * @param id - player wrapper id
5454
5667
  * @returns {Player} player wrapper instance
5455
5668
  */
5456
- getPlayerWrapper: (id: string) => PlayerWrapper;
5669
+ getPlayerWrapper: (id: string) => Player;
5457
5670
  /**
5458
5671
  * Get tv channel by its id.
5459
5672
  * @param tvChannelId - tv channel id
@@ -5475,7 +5688,7 @@ export declare type TivioJsBundleExposedApi = {
5475
5688
  */
5476
5689
  export declare interface TivioPlayerWrapper {
5477
5690
  addEventListener: (eventType: PlayerWrapperEventTypeType, listener: Listener) => void;
5478
- reportError: (error: Error) => void;
5691
+ reportError: (error: Error, playerId?: string) => void;
5479
5692
  reportPlaybackEnded: () => void;
5480
5693
  reportTimeProgress: (ms: number) => void;
5481
5694
  seekTo: (ms: number) => void;
@@ -5494,12 +5707,13 @@ export declare const TivioProvider: React_2.FC<TivioProviderProps>;
5494
5707
  /**
5495
5708
  * @public
5496
5709
  */
5497
- export declare interface TivioProviderProps extends React_2.PropsWithChildren {
5710
+ export declare type TivioProviderProps = {
5498
5711
  /**
5499
5712
  * This prop must be set only once and not change value afterwards
5500
5713
  */
5501
5714
  conf: SdkReactConfig | undefined | null;
5502
- }
5715
+ children: React_2.ReactNode;
5716
+ };
5503
5717
 
5504
5718
  /**
5505
5719
  * @public
@@ -5528,7 +5742,7 @@ export declare type TivioReactBundle = {
5528
5742
  internal: TivioInternalBundle;
5529
5743
  analytics: TivioAnalytics;
5530
5744
  destroy: () => Promise<void>;
5531
- } & Pick<TivioSetters, 'setBundleVersion' | 'setUser' | 'setLanguage' | 'setStorageManager'> & Omit<Partial<TivioJsBundleExposedApi>, 'createPlayerWrapper'>;
5745
+ } & Pick<TivioSetters, 'setBundleVersion' | 'setUser' | 'setLanguage' | 'setStorageManager'>;
5532
5746
 
5533
5747
  /**
5534
5748
  * @public
@@ -5678,13 +5892,16 @@ export declare interface Track {
5678
5892
  language: LangCode;
5679
5893
  }
5680
5894
 
5681
- declare type TransactionInfo = {
5895
+ declare interface TransactionInfo {
5896
+ id: string;
5682
5897
  type: 'transaction';
5683
5898
  name: string;
5684
5899
  videoId: string;
5685
5900
  cover: string;
5686
5901
  description: string;
5687
- };
5902
+ promotions?: firebase_3.firestore.DocumentReference<Promotion>[];
5903
+ fullDiscount?: boolean;
5904
+ }
5688
5905
 
5689
5906
  /**
5690
5907
  * Represents one string in every supported language mutation.
@@ -6032,6 +6249,8 @@ export declare type UseMessagesOptions = ContentOrConversationId & {
6032
6249
  autoInit?: boolean;
6033
6250
  };
6034
6251
 
6252
+ export declare type UseOrganizationSettingsReturn<TKey extends keyof OrganizationSettingsField> = OrganizationSettingsField[TKey] | undefined;
6253
+
6035
6254
  /**
6036
6255
  * @public
6037
6256
  *
@@ -6092,6 +6311,10 @@ export declare type User = {
6092
6311
  * Returns "active" (non-expired) subscription purchases
6093
6312
  */
6094
6313
  purchasedSubscriptions: Purchase[];
6314
+ /**
6315
+ * Returns voucher purchases
6316
+ */
6317
+ purchasedVouchers: Purchase[];
6095
6318
  /**
6096
6319
  * Returns last expired subscription which user can renew or undefined
6097
6320
  */
@@ -6132,6 +6355,7 @@ export declare type User = {
6132
6355
  invalidateAllTokens: (type: TokenType) => Promise<void>;
6133
6356
  isPartiallyRegistered: boolean;
6134
6357
  conversationStore: ConversationStore;
6358
+ streamingSessions?: UserStreamingSessionFieldInterface[];
6135
6359
  };
6136
6360
 
6137
6361
  /**
@@ -6198,6 +6422,14 @@ export declare type UserProfile = {
6198
6422
  survey?: ProfileSurvey;
6199
6423
  };
6200
6424
 
6425
+ export declare interface UserStreamingSessionFieldInterface {
6426
+ sessionId: string;
6427
+ sessionType: Exclude<VideoSourceField['sessionType'], undefined>;
6428
+ contentId: string;
6429
+ activeContentId?: string;
6430
+ created: Date;
6431
+ }
6432
+
6201
6433
  /**
6202
6434
  * @public
6203
6435
  */
@@ -6437,12 +6669,9 @@ export declare interface Video extends RowItem, MonetizableItem, ReactableConten
6437
6669
  image: string | null;
6438
6670
  isPlayable: boolean;
6439
6671
  monetizations: Monetization[];
6440
- getSourceUrl(options?: {
6441
- language?: LangCode;
6442
- }): Promise<GetSourceUrlResponse & {
6672
+ getSourceUrl(options?: Partial<GetSourceUrlRequest>): Promise<GetSourceUrlResponse & {
6443
6673
  language?: LangCode;
6444
6674
  }>;
6445
- getSeekingMatrixPreviewByTime(timeMs: number, offsetIndex?: number): SeekingMatrix | null;
6446
6675
  purchasableMonetization: any | null;
6447
6676
  transaction: PurchasableMonetization | undefined;
6448
6677
  subscriptions: PurchasableMonetization[];
@@ -6463,7 +6692,6 @@ export declare interface Video extends RowItem, MonetizableItem, ReactableConten
6463
6692
  organizationId?: string;
6464
6693
  linkedVideosRaw: LinkedVideoRaw[] | undefined;
6465
6694
  linkedVideos: LinkedVideo[] | undefined;
6466
- pipPaths?: string[];
6467
6695
  contentType: VideoContentType | null;
6468
6696
  year?: number;
6469
6697
  episodeNumber?: number;
@@ -6497,6 +6725,7 @@ export declare interface Video extends RowItem, MonetizableItem, ReactableConten
6497
6725
  contentDescriptors?: string[];
6498
6726
  publishedStatus?: PublishedStatus;
6499
6727
  widgetPaths?: string[];
6728
+ forcedCapabilities: PlayerCapability[] | null;
6500
6729
  }
6501
6730
 
6502
6731
  /**
@@ -6537,11 +6766,12 @@ export declare interface VideoHighlight {
6537
6766
  id: string;
6538
6767
  title: string;
6539
6768
  description?: string;
6540
- fromTimestamp?: number;
6541
- toTimestamp?: number;
6769
+ fromSegment?: number;
6770
+ toSegment?: number;
6542
6771
  imageUrl?: string;
6543
6772
  videoTime?: string;
6544
6773
  videoId?: string;
6774
+ created?: Date;
6545
6775
  }
6546
6776
 
6547
6777
  declare type VideoPath = string;
@@ -6793,8 +7023,10 @@ export declare interface VodTivioSourceInterface extends PlayerSourceInterface<S
6793
7023
  canWatchOnDevice: boolean;
6794
7024
  isAvailable: boolean;
6795
7025
  availability: ContentAvailability | null;
7026
+ managementUrl?: string;
6796
7027
  video: Video;
6797
7028
  clone: (params?: Partial<VodTivioSourceParams>) => VodTivioSourceInterface;
7029
+ sessionType?: VideoSourceField['sessionType'];
6798
7030
  }
6799
7031
 
6800
7032
  /**
@@ -6806,18 +7038,43 @@ export declare interface VodTivioSourceParams extends PlayerSourceParams<SourceT
6806
7038
  language?: LangCode;
6807
7039
  drm?: Drm;
6808
7040
  ignoreWatchPosition?: boolean;
7041
+ /**
7042
+ * URL for source modification for user (e.g. add PIP window to livestream).
7043
+ * TODO mb move to PlayerSourceParams
7044
+ * TODO: Remove managementUrl
7045
+ */
7046
+ managementUrl?: string;
7047
+ /**
7048
+ * Session ID for authentication and optionally controlling the cameras
7049
+ */
7050
+ sessionId?: string;
6809
7051
  }
6810
7052
 
6811
7053
  /**
6812
7054
  * TODO: Should be in core-js, we can't import types from it, though.
6813
7055
  */
6814
- declare type Voucher = {
7056
+ declare interface Voucher {
6815
7057
  activate: () => void;
6816
7058
  isUsed: boolean;
6817
7059
  isExpired: boolean;
6818
7060
  status: 'NEW' | 'USED';
6819
7061
  voucherInfo: SubscriptionInfo | TransactionInfo;
6820
- };
7062
+ }
7063
+
7064
+ declare interface VoucherPageConfiguration {
7065
+ showVoucherButtonInHeader?: boolean;
7066
+ multiCreatorPage?: boolean;
7067
+ disableVoucherButtonInMonetizationCard?: boolean;
7068
+ voucherButtonText?: Translation;
7069
+ title: Translation;
7070
+ steps: {
7071
+ number: number;
7072
+ description: Translation;
7073
+ }[];
7074
+ customSorting?: {
7075
+ [key: string]: number;
7076
+ };
7077
+ }
6821
7078
 
6822
7079
  /**
6823
7080
  * @public