@tivio/sdk-react 5.0.3-alpha-5 → 5.0.3-alpha-4

Sign up to get free protection for your applications and to get access to all the features.
package/README.md CHANGED
@@ -6,12 +6,6 @@ settings in the administration of Tivio Studio while having the freedom to build
6
6
 
7
7
  ## Changelog
8
8
 
9
- * UNRELEASED
10
- * major: delete usePlayerEvent hook
11
- * major: replace uri attributes in types with url
12
- * major: delete uri attributes from types
13
- * minor: add purchase expiration to PurchaseEndpointPayload
14
-
15
9
  * 5.0.2
16
10
  * patch: export hook useChannelSource
17
11
 
package/README.md.bak CHANGED
@@ -6,12 +6,6 @@ settings in the administration of Tivio Studio while having the freedom to build
6
6
 
7
7
  ## Changelog
8
8
 
9
- * UNRELEASED
10
- * major: delete usePlayerEvent hook
11
- * major: replace uri attributes in types with url
12
- * major: delete uri attributes from types
13
- * minor: add purchase expiration to PurchaseEndpointPayload
14
-
15
9
  * 5.0.2
16
10
  * patch: export hook useChannelSource
17
11
 
package/dist/index.d.ts CHANGED
@@ -90,13 +90,13 @@ declare type AdSegment = {
90
90
  * @public
91
91
  */
92
92
  export declare type AdSource = {
93
- new (url: string, name: string, description: string, skipDelayMs: number | null, adDurationMs: number, trackingContext?: any, // internal Tivio types
93
+ new (uri: string, name: string, description: string, skipDelayMs: number | null, adDurationMs: number, trackingContext?: any, // internal Tivio types
94
94
  adMarker?: any, // internal Tivio types
95
95
  packInfo?: any, // internal Tivio types
96
96
  provider?: any): AdSource;
97
97
  description: string;
98
98
  name: string;
99
- url: string;
99
+ uri: string;
100
100
  durationMs: number;
101
101
  skipDelayMs: number | null;
102
102
  type: 'ad';
@@ -316,22 +316,6 @@ export declare type BetOffer = {
316
316
  time: Date;
317
317
  };
318
318
 
319
- /**
320
- * @public
321
- */
322
- export declare interface BufferChunk {
323
- startMs: number;
324
- endMs: number;
325
- }
326
-
327
- /**
328
- * @public
329
- */
330
- export declare interface BufferPercentChunk extends BufferChunk {
331
- startPercent: number;
332
- endPercent: number;
333
- }
334
-
335
319
  /**
336
320
  * rejects when bundle is not available
337
321
  * @public
@@ -354,14 +338,11 @@ export declare interface Channel {
354
338
  recentVideos: Video[];
355
339
  }
356
340
 
357
- /**
358
- * @public
359
- */
360
341
  export declare type ChannelSource = {
361
- new (url: string, originalOptions: Record<string, any>, channelName: string, programName: string, programDescription: string, from: Date, to: Date): ChannelSource;
342
+ new (uri: string, originalOptions: Record<string, any>, channelName: string, programName: string, programDescription: string, from: Date, to: Date): ChannelSource;
362
343
  description: string;
363
344
  name: string;
364
- url: string;
345
+ uri: string;
365
346
  from: Date;
366
347
  channelName: string;
367
348
  to: Date;
@@ -376,7 +357,7 @@ export declare type ChannelSource = {
376
357
  */
377
358
  export declare interface ChannelSourcePojo {
378
359
  type: 'ChannelSource';
379
- url: string;
360
+ uri: string;
380
361
  originalOptions: any;
381
362
  channelName: string;
382
363
  programName: string;
@@ -625,38 +606,11 @@ export declare type DocumentOptions = Partial<{
625
606
  }>;
626
607
 
627
608
  export declare interface Drm {
628
- encryption: VideoSourceEncryption;
629
- /**
630
- * Url to retrieve fairplay from.
631
- */
632
- certificateUrl?: string;
633
- /**
634
- * Url to send license to.
635
- */
636
- licenseUrl: string;
637
- /**
638
- * Headers with corresponding values to send to license server.
639
- */
640
- licenseRequestHeaders: {
641
- [key: string]: string;
642
- };
643
- }
644
-
645
- export declare enum DrmProvider {
609
+ configuration: FairplayDrmConfiguration | PlayreadyDrmConfiguration | WidevineDrmConfiguration;
646
610
  /**
647
- * Original oktagon stream provider.
648
- *
649
- * https://streamonline.pl
611
+ * License string
650
612
  */
651
- STREAMONLINE = "streamonline",
652
- /**
653
- * New stream provider for tivio. Also known as insys video technologies.
654
- *
655
- * https://insysvideotechnologies.com
656
- * https://www.drm.cloud
657
- * https://videokit.cloud
658
- */
659
- INSYS = "insys"
613
+ license: string;
660
614
  }
661
615
 
662
616
  /**
@@ -675,76 +629,6 @@ export declare enum DurationUnits {
675
629
  MONTH = "month"
676
630
  }
677
631
 
678
- /**
679
- * Represents a SendGrid transactional template.
680
- */
681
- export declare interface EmailTemplate {
682
- /**
683
- * The ID of the transactional template.
684
- */
685
- id: string;
686
- /**
687
- * The name of the transactional template.
688
- * @maxLength 100
689
- */
690
- name: string;
691
- /**
692
- * Defines the generation of the template.
693
- * @format 'dynamic' | 'legacy'
694
- */
695
- generation: 'dynamic' | 'legacy';
696
- /**
697
- * The date and time the template was last updated.
698
- */
699
- updated_at: string;
700
- /**
701
- * An array of versions associated with the template.
702
- */
703
- versions: EmailTemplateVersion[];
704
- }
705
-
706
- export declare interface EmailTemplateVersion {
707
- /**
708
- * ID of the transactional template version.
709
- */
710
- id: string;
711
- /**
712
- * ID of the transactional template.
713
- */
714
- template_id: string;
715
- /**
716
- * Set the version as the active version associated with the template.
717
- * Only one version of a template can be active.
718
- * The first version created for a template will automatically be set to Active.
719
- */
720
- active: boolean;
721
- /**
722
- * Name of the transactional template version.
723
- */
724
- name: string;
725
- /**
726
- * Subject of the new transactional template version.
727
- * @maxLength 255
728
- */
729
- subject: string;
730
- /**
731
- * The date and time that this transactional template version was updated.
732
- */
733
- updated_at: string;
734
- /**
735
- * If true, plain_content is always generated from html_content. If false, plain_content is not altered.
736
- */
737
- generate_plain_content: boolean;
738
- /**
739
- * The editor used in the UI.
740
- */
741
- editor: string;
742
- /**
743
- * A Thumbnail preview of the template's html content.
744
- */
745
- thumbnail_url: string;
746
- }
747
-
748
632
  /**
749
633
  * @public
750
634
  */
@@ -771,6 +655,17 @@ export declare type ExternalTvConfig = {
771
655
  splashScreenBackgroundColor?: string;
772
656
  };
773
657
 
658
+ export declare interface FairplayDrmConfiguration {
659
+ /**
660
+ * Url to retrieve fairplay certificate from.
661
+ */
662
+ fairplayCertificateUrl: string;
663
+ /**
664
+ * Url to send license to.
665
+ */
666
+ fairplayLicenseUrl: string;
667
+ }
668
+
774
669
  /**
775
670
  * @throws if fetch fails
776
671
  * @public
@@ -1355,22 +1250,6 @@ export declare type NewVoucher = {
1355
1250
  expirationDate: Date | number;
1356
1251
  };
1357
1252
 
1358
- declare interface Notification_2 {
1359
- id: string;
1360
- name: string;
1361
- targeting: UserGroup;
1362
- templateId: string;
1363
- thumbnailUrl?: string;
1364
- triggerType: TriggerType;
1365
- status?: NotificationStatus;
1366
- }
1367
- export { Notification_2 as Notification }
1368
-
1369
- export declare enum NotificationStatus {
1370
- PLANNED = "planned",
1371
- SENT = "sent"
1372
- }
1373
-
1374
1253
  /**
1375
1254
  * @public
1376
1255
  */
@@ -1490,9 +1369,9 @@ export declare type Player = {
1490
1369
  * @public
1491
1370
  */
1492
1371
  export declare interface PlayerCapability {
1493
- codec: VideoSourceCodec;
1494
- encryption: VideoSourceEncryption;
1495
- protocol: VideoSourceProtocol;
1372
+ codec: 'h264' | 'h265';
1373
+ encryption: 'fairplay' | 'none' | 'playready' | 'widevine';
1374
+ protocol: 'dash' | 'hls' | 'mp4';
1496
1375
  }
1497
1376
 
1498
1377
  /**
@@ -1554,135 +1433,6 @@ export declare type PlayerConfig = {
1554
1433
  };
1555
1434
  };
1556
1435
 
1557
- /**
1558
- * @public
1559
- */
1560
- export declare interface PlayerEngineConfig {
1561
- getDrmConfiguration?: () => Promise<Drm | undefined>;
1562
- encryption?: string;
1563
- isAd?: boolean;
1564
- positionMs?: number;
1565
- url: string;
1566
- }
1567
-
1568
- /**
1569
- * @public
1570
- */
1571
- export declare type PlayerEngineEvent = 'bufferingchange' | 'bufferedinfochange' | 'statechange' | 'loaded' | 'loadfailed' | 'togglefullscreen' | 'durationchange' | 'busychange' | 'trackschanged' | 'abort' | 'canplay' | 'canplaythrough' | 'emptied' | 'ended' | 'error' | 'loadeddata' | 'loadedmetadata' | 'loadstart' | 'pause' | 'play' | 'playing' | 'progress' | 'ratechange' | 'seeked' | 'seeking' | 'stalled' | 'suspend' | 'timeupdate' | 'volumechange' | 'waiting' | 'click' | 'fullscreenchange';
1572
-
1573
- /**
1574
- * @public
1575
- */
1576
- export declare type PlayerEngineFactory = (videoElement: HTMLVideoElement) => PlayerEngineInterface;
1577
-
1578
- /**
1579
- * @public
1580
- */
1581
- export declare interface PlayerEngineInterface {
1582
- /**
1583
- * Loads video but keeps it paused
1584
- */
1585
- load(config: PlayerEngineConfig): Promise<void>;
1586
- /**
1587
- * Loads and starts playing video
1588
- * @throws
1589
- */
1590
- play(config: PlayerEngineConfig): Promise<void>;
1591
- pause(): Promise<void>;
1592
- unpause(): Promise<void>;
1593
- isPaused(): boolean;
1594
- stop(): Promise<void>;
1595
- addEventListener<T>(event: PlayerEngineEvent, callback: PlayerEngineListener<T>): void;
1596
- addEventListener(event: 'statechange', callback: PlayerEngineListener<PlayerState>): void;
1597
- addEventListener(event: 'bufferingchange', callback: PlayerEngineListener<boolean>): void;
1598
- addEventListener(event: 'bufferedinfochange', callback: PlayerEngineListener<BufferPercentChunk[]>): void;
1599
- addEventListener(event: 'togglefullscreen', callback: PlayerEngineListener<boolean>): void;
1600
- removeEventListener<T>(event: PlayerEngineEvent, listener: PlayerEngineListener<T>): void;
1601
- /**
1602
- * @returns currently playing audio track in ISO 639-1 format ('cs', 'en' etc.) or null if not available
1603
- */
1604
- getActiveAudioTrack?: () => LangCode | null;
1605
- /**
1606
- * @returns currently selected subtitles in ISO 639-1 format ('cs', 'en' etc.)
1607
- */
1608
- getActiveSubtitles?: () => LangCode | null;
1609
- /**
1610
- * Returns currently available audio tracks of currently playing video.
1611
- *
1612
- * @returns array of available audio tracks in ISO 639-1 format ('cs', 'en' etc.)
1613
- */
1614
- getAudioTracks?: () => LangCode[];
1615
- /**
1616
- * @returns array of available subtitles in ISO 639-1 format ('cs', 'en' etc.)
1617
- */
1618
- getSubtitles?: () => LangCode[];
1619
- getCurrentQuality?: (lang?: LangCode) => Track | null;
1620
- getQualities?: () => Track[];
1621
- /**
1622
- * options.force to change quality immediately, otherwise it takes some time
1623
- * (because previously loaded higher or lower quality chunks are not discarded)
1624
- */
1625
- selectQuality?: (track: Track, options?: {
1626
- force: boolean;
1627
- }) => void;
1628
- /**
1629
- * Is automatic selection of video quality based on network bandwidth (aka ABR) enabled?
1630
- */
1631
- isAdaptationEnabled?: () => boolean;
1632
- /**
1633
- * Turn on automatic selection of video quality based on network bandwidth (aka ABR).
1634
- * It is enabled by default.
1635
- * It automatically becomes disabled when selectQuality() is called.
1636
- */
1637
- enableAdaptation?: (enable: boolean) => void;
1638
- goFullScreen(): Promise<void>;
1639
- /**
1640
- * @param {number} value 0-1
1641
- */
1642
- changeVolume(value: number): void;
1643
- getState(): PlayerState;
1644
- isIdle(): boolean;
1645
- mute(): void;
1646
- unmute(): void;
1647
- /**
1648
- * @returns {number} duration in seconds
1649
- */
1650
- getDuration(): number;
1651
- seekTo(ms: number): void;
1652
- /**
1653
- * Changes audio track of currently playing video.
1654
- *
1655
- * @param {LangCode} audioTrack - audio track to select in ISO 639-1 format ('cs', 'en' etc.)
1656
- */
1657
- selectAudioTrack?: (audioTrack: LangCode) => void;
1658
- /**
1659
- * Changes audio track of currently playing video.
1660
- * @param {LangCode} langCode - subtitles to select in ISO 639-1 format ('cs', 'en' etc.) or null to disable subtitles
1661
- */
1662
- selectSubtitles?: (langCode: LangCode | null) => void;
1663
- /**
1664
- * Changes audio track of currently playing video.
1665
- *
1666
- * @param {number} playbackSpeed - playback speed to select (1 = normal speed, 2 = twice as fast, etc.)
1667
- */
1668
- selectPlaybackSpeed?: (playbackSpeed: number) => void;
1669
- destroy(): Promise<void>;
1670
- getBufferedInfo?(): BufferChunk[];
1671
- lastQuality: number | null;
1672
- }
1673
-
1674
- /**
1675
- * @public
1676
- */
1677
- export declare type PlayerEngineListener<T> = (value: T) => any;
1678
-
1679
- /**
1680
- * @public
1681
- */
1682
- export declare interface PlayerEngineOptions {
1683
- seekDebounceMs?: number;
1684
- }
1685
-
1686
1436
  /**
1687
1437
  * @public
1688
1438
  */
@@ -1740,10 +1490,7 @@ export declare type PlayerProviderProps = {
1740
1490
  playerWrapperId?: string;
1741
1491
  };
1742
1492
 
1743
- /**
1744
- * @public
1745
- */
1746
- export declare type PlayerState = 'idle' | 'playing' | 'paused';
1493
+ declare type PlayerState = 'playing' | 'paused' | 'idle';
1747
1494
 
1748
1495
  /**
1749
1496
  * @public
@@ -1839,6 +1586,13 @@ export declare enum PlayerWrapperEventType {
1839
1586
  */
1840
1587
  export declare type PlayerWrapperEventTypeType = `${PlayerWrapperEventType}`;
1841
1588
 
1589
+ export declare interface PlayreadyDrmConfiguration {
1590
+ /**
1591
+ * Url to send license to.
1592
+ */
1593
+ playreadyLicenseUrl: string;
1594
+ }
1595
+
1842
1596
  /**
1843
1597
  * @public
1844
1598
  */
@@ -1890,10 +1644,6 @@ export declare interface PurchasableMonetization extends Monetization {
1890
1644
  * If not set or set to false, users cannot buy it as a voucher.
1891
1645
  */
1892
1646
  isPurchasableAsVoucher?: boolean;
1893
- /**
1894
- * Returns array of tag ids of monetization placements
1895
- */
1896
- tagIds: string[];
1897
1647
  }
1898
1648
 
1899
1649
  /**
@@ -1956,11 +1706,6 @@ export declare type PurchaseEndpointPayload = {
1956
1706
  * Two-letter upper-case country code according to ISO-3166 format (see https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes).
1957
1707
  */
1958
1708
  countryIsoCode?: LocationField['countryIsoCode'];
1959
- /**
1960
- * Purchase expiration timestamp. Only present for "subscription" monetization type. This timestamp does not mean it will
1961
- * really expire at this timestamp - additional payment of this subscription can occur so expiration timestamp may be increased.
1962
- */
1963
- expiration?: number;
1964
1709
  /**
1965
1710
  * Gateway name or "voucher".
1966
1711
  */
@@ -1970,21 +1715,21 @@ export declare type PurchaseEndpointPayload = {
1970
1715
  */
1971
1716
  id: string;
1972
1717
  /**
1973
- * True if delayed payment is confirmed but not charged yet, undefined in all other cases.
1718
+ * Timestamp of the last change of the purchase - in this case it is timestamp when it was paid.
1974
1719
  */
1975
- isDelayedPayment?: boolean;
1720
+ updated: number;
1976
1721
  /**
1977
- * Purchase status after change.
1722
+ * True if delayed payment is confirmed but not charged yet, undefined in all other cases.
1978
1723
  */
1979
- newStatus: PurchaseStatus;
1724
+ isDelayedPayment?: boolean;
1980
1725
  /**
1981
1726
  * Purchase status before change.
1982
1727
  */
1983
1728
  previousStatus: PurchaseStatus;
1984
1729
  /**
1985
- * Timestamp of the last change of the purchase - in this case it is timestamp when it was paid.
1730
+ * Purchase status after change.
1986
1731
  */
1987
- updated: number;
1732
+ newStatus: PurchaseStatus;
1988
1733
  };
1989
1734
  /**
1990
1735
  * Information about the monetization which has been bought by this purchase. Monetization definition may change in time so information provided here
@@ -2733,7 +2478,6 @@ export declare type TivioComponents = {
2733
2478
  WebTile: React_2.ComponentType<{
2734
2479
  item?: ItemsInRow;
2735
2480
  } & TilePropsPartial>;
2736
- ChannelContext: React_2.Context<TvChannel | undefined>;
2737
2481
  };
2738
2482
 
2739
2483
  /**
@@ -2860,7 +2604,6 @@ export declare type TivioHooks = {
2860
2604
  inviteCodeReset: () => void;
2861
2605
  };
2862
2606
  useChannelSource: UseChannelSource;
2863
- useTvChannel: UseTvChannel;
2864
2607
  };
2865
2608
 
2866
2609
  /**
@@ -2902,7 +2645,7 @@ export declare type TivioInternalHooks = {
2902
2645
  usePurchasesWithVideos: () => {
2903
2646
  purchases: Purchase[];
2904
2647
  };
2905
- useOrganizationSubscriptions: (onlyPurchasableSubscriptions?: boolean, videoId?: string) => {
2648
+ useOrganizationSubscriptions: (onlyPurchasableSubscriptions?: boolean) => {
2906
2649
  subscriptions: PurchasableMonetization[];
2907
2650
  };
2908
2651
  useIsMonetizationPurchased: () => {
@@ -2970,7 +2713,7 @@ export declare type TivioJsBundleExposedApi = {
2970
2713
  * @param id - player wrapper id
2971
2714
  * @returns {Player} player wrapper instance
2972
2715
  */
2973
- getPlayerWrapper: (id: string) => Player;
2716
+ getPlayer: (id: string) => Player;
2974
2717
  /**
2975
2718
  * Get tv channel by its id.
2976
2719
  * @param tvChannelId - tv channel id
@@ -3179,20 +2922,6 @@ export declare interface TopWatchItem {
3179
2922
  viewCount: number;
3180
2923
  }
3181
2924
 
3182
- /**
3183
- * @public
3184
- * Video track
3185
- */
3186
- declare interface Track {
3187
- id: number;
3188
- /**
3189
- * e.g. 480, 720, 1080
3190
- */
3191
- height: number;
3192
- active: boolean;
3193
- language: LangCode;
3194
- }
3195
-
3196
2925
  declare type TransactionInfo = {
3197
2926
  type: 'transaction';
3198
2927
  name: string;
@@ -3209,8 +2938,6 @@ export declare type Translation = {
3209
2938
  [key in LangCode]?: string;
3210
2939
  };
3211
2940
 
3212
- export declare type TriggerType = 'scheduled' | 'manual';
3213
-
3214
2941
  /**
3215
2942
  * @public
3216
2943
  */
@@ -3225,13 +2952,11 @@ export declare type TvAppProps = {
3225
2952
  export declare interface TvChannel extends RowItem {
3226
2953
  id: string;
3227
2954
  itemType: ROW_ITEM_TYPES.TV_CHANNEL;
3228
- type?: TvChannelType;
3229
2955
  name: string;
3230
2956
  path: string;
3231
2957
  country?: string;
3232
2958
  filters: string[];
3233
2959
  logo?: string;
3234
- logoPendingOverlayWidth?: string;
3235
2960
  hls: string;
3236
2961
  dash: string;
3237
2962
  /**
@@ -3248,18 +2973,7 @@ export declare interface TvChannel extends RowItem {
3248
2973
  price: number;
3249
2974
  cover: string;
3250
2975
  isPlayable: boolean;
3251
- url: string;
3252
- }
3253
-
3254
- export declare enum TvChannelType {
3255
- /**
3256
- * Classic live tv channel
3257
- */
3258
- CLASSIC = "CLASSIC",
3259
- /**
3260
- * "Virtual" tv channel constructed from separate videos
3261
- */
3262
- VIRTUAL = "VIRTUAL"
2976
+ uri: string;
3263
2977
  }
3264
2978
 
3265
2979
  export declare interface TvProgram {
@@ -3267,7 +2981,7 @@ export declare interface TvProgram {
3267
2981
  to: Date | null;
3268
2982
  name: string;
3269
2983
  description: string;
3270
- url: string;
2984
+ uri: string;
3271
2985
  image: string;
3272
2986
  video: Video | null;
3273
2987
  }
@@ -3437,6 +3151,16 @@ export declare const useOrganizationSubscriptions: (onlyPurchasableSubscriptions
3437
3151
  subscriptions: PurchasableMonetization[];
3438
3152
  };
3439
3153
 
3154
+ /**
3155
+ * @public
3156
+ */
3157
+ export declare type UsePlayerEvent = <T = any>(eventName: string) => T | null;
3158
+
3159
+ /**
3160
+ * @public
3161
+ */
3162
+ export declare const usePlayerEvent: UsePlayerEvent;
3163
+
3440
3164
  /**
3441
3165
  * Is used to mark purchase in recovery state as PAID.
3442
3166
  *
@@ -3509,12 +3233,6 @@ export declare type User = {
3509
3233
  setActiveUserProfileId: (id: string) => void;
3510
3234
  };
3511
3235
 
3512
- export declare enum UserGroup {
3513
- ALL = "all",
3514
- FREE = "free",
3515
- PREMIUM = "premium"
3516
- }
3517
-
3518
3236
  /**
3519
3237
  * @public
3520
3238
  */
@@ -3741,6 +3459,7 @@ export declare interface Video extends RowItem {
3741
3459
  urlName?: string;
3742
3460
  price: number | null;
3743
3461
  detailedPrice: DetailedPrice | null;
3462
+ uri: string;
3744
3463
  url: string;
3745
3464
  adMonetizationId?: string;
3746
3465
  from?: Date;
@@ -3762,7 +3481,7 @@ export declare interface Video extends RowItem {
3762
3481
  removeFromFavorites: () => void;
3763
3482
  availability: VideoAvailability | null;
3764
3483
  sourceLanguages: LangCode[];
3765
- urlByLanguage: (lang: LangCode) => string | undefined;
3484
+ uriByLanguage: (lang: LangCode) => string | undefined;
3766
3485
  }
3767
3486
 
3768
3487
  /**
@@ -3793,29 +3512,6 @@ export declare type VideoExternals = JojExternals | MallTvExternals | OktagonExt
3793
3512
 
3794
3513
  declare type VideoPath = string;
3795
3514
 
3796
- export declare enum VideoSourceCodec {
3797
- H264 = "h264",
3798
- H265 = "h265"
3799
- }
3800
-
3801
- export declare enum VideoSourceEncryption {
3802
- NONE = "none",
3803
- WIDEVINE = "widevine",
3804
- FAIRPLAY = "fairplay",
3805
- PLAYREADY = "playready"
3806
- }
3807
-
3808
- /**
3809
- * Lower number = higher priority.
3810
- */
3811
- export declare type VideoSourcePriority = 1 | 2 | 3 | 4 | 5;
3812
-
3813
- export declare enum VideoSourceProtocol {
3814
- HLS = "hls",
3815
- DASH = "dash",
3816
- MP4 = "mp4"
3817
- }
3818
-
3819
3515
  /**
3820
3516
  * Video type.
3821
3517
  * @public
@@ -3873,9 +3569,8 @@ export declare interface ViewCountItem {
3873
3569
  /**
3874
3570
  * @public
3875
3571
  */
3876
- export declare interface VirtualChannelSourcePojo {
3572
+ export declare interface VirtualChannelSourcePojo extends Omit<ChannelSourcePojo, 'type'> {
3877
3573
  type: 'VirtualChannelSource';
3878
- tvChannel: TvChannel;
3879
3574
  epg: TvProgram[];
3880
3575
  }
3881
3576
 
@@ -3883,22 +3578,22 @@ export declare interface VirtualChannelSourcePojo {
3883
3578
  * @public
3884
3579
  */
3885
3580
  export declare type VodExternalSource = {
3886
- new (url: string, monetizationId: string, name: string, description: string, originalOptions: Record<string, any>): VodTivioSource;
3581
+ new (uri: string, monetizationId: string, name: string, description: string, originalOptions: Record<string, any>): VodTivioSource;
3887
3582
  type: 'vod_external';
3888
3583
  description: string;
3889
3584
  name: string;
3890
- url: string;
3585
+ uri: string;
3891
3586
  };
3892
3587
 
3893
3588
  /**
3894
3589
  * @public
3895
3590
  */
3896
3591
  export declare type VodTivioSource = {
3897
- new (url: string, videoId: string, name: string, description: string, adMonetizationId?: string): VodTivioSource;
3592
+ new (uri: string, videoId: string, name: string, description: string, adMonetizationId?: string): VodTivioSource;
3898
3593
  type: 'vod_tivio';
3899
3594
  description: string;
3900
3595
  name: string;
3901
- url: string;
3596
+ uri: string;
3902
3597
  };
3903
3598
 
3904
3599
  declare interface VodTivioSourcePojo {
@@ -3906,7 +3601,7 @@ declare interface VodTivioSourcePojo {
3906
3601
  description: string;
3907
3602
  path: string;
3908
3603
  name: string;
3909
- url: string;
3604
+ uri: string;
3910
3605
  poster?: string;
3911
3606
  adMonetizationId?: string;
3912
3607
  availability: VideoAvailability | null;
@@ -4022,6 +3717,13 @@ export declare type WhereFilterArray = [string, WhereFilterOp, any];
4022
3717
 
4023
3718
  declare type WhereFilterOp = '<' | '<=' | '==' | '!=' | '>=' | '>' | 'array-contains' | 'in' | 'array-contains-any' | 'not-in';
4024
3719
 
3720
+ export declare interface WidevineDrmConfiguration {
3721
+ /**
3722
+ * Url to send license to.
3723
+ */
3724
+ widevineLicenseUrl: string;
3725
+ }
3726
+
4025
3727
  /**
4026
3728
  * @public
4027
3729
  */