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

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/README.md CHANGED
@@ -6,6 +6,12 @@ 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
+
9
15
  * 5.0.2
10
16
  * patch: export hook useChannelSource
11
17
 
package/README.md.bak CHANGED
@@ -6,6 +6,12 @@ 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
+
9
15
  * 5.0.2
10
16
  * patch: export hook useChannelSource
11
17
 
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 (uri: string, name: string, description: string, skipDelayMs: number | null, adDurationMs: number, trackingContext?: any, // internal Tivio types
93
+ new (url: 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
- uri: string;
99
+ url: string;
100
100
  durationMs: number;
101
101
  skipDelayMs: number | null;
102
102
  type: 'ad';
@@ -316,6 +316,22 @@ 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
+
319
335
  /**
320
336
  * rejects when bundle is not available
321
337
  * @public
@@ -338,11 +354,14 @@ export declare interface Channel {
338
354
  recentVideos: Video[];
339
355
  }
340
356
 
357
+ /**
358
+ * @public
359
+ */
341
360
  export declare type ChannelSource = {
342
- new (uri: string, originalOptions: Record<string, any>, channelName: string, programName: string, programDescription: string, from: Date, to: Date): ChannelSource;
361
+ new (url: string, originalOptions: Record<string, any>, channelName: string, programName: string, programDescription: string, from: Date, to: Date): ChannelSource;
343
362
  description: string;
344
363
  name: string;
345
- uri: string;
364
+ url: string;
346
365
  from: Date;
347
366
  channelName: string;
348
367
  to: Date;
@@ -357,7 +376,7 @@ export declare type ChannelSource = {
357
376
  */
358
377
  export declare interface ChannelSourcePojo {
359
378
  type: 'ChannelSource';
360
- uri: string;
379
+ url: string;
361
380
  originalOptions: any;
362
381
  channelName: string;
363
382
  programName: string;
@@ -606,11 +625,38 @@ export declare type DocumentOptions = Partial<{
606
625
  }>;
607
626
 
608
627
  export declare interface Drm {
609
- configuration: FairplayDrmConfiguration | PlayreadyDrmConfiguration | WidevineDrmConfiguration;
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 {
610
646
  /**
611
- * License string
647
+ * Original oktagon stream provider.
648
+ *
649
+ * https://streamonline.pl
612
650
  */
613
- license: string;
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"
614
660
  }
615
661
 
616
662
  /**
@@ -629,6 +675,76 @@ export declare enum DurationUnits {
629
675
  MONTH = "month"
630
676
  }
631
677
 
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
+
632
748
  /**
633
749
  * @public
634
750
  */
@@ -655,17 +771,6 @@ export declare type ExternalTvConfig = {
655
771
  splashScreenBackgroundColor?: string;
656
772
  };
657
773
 
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
-
669
774
  /**
670
775
  * @throws if fetch fails
671
776
  * @public
@@ -1250,6 +1355,22 @@ export declare type NewVoucher = {
1250
1355
  expirationDate: Date | number;
1251
1356
  };
1252
1357
 
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
+
1253
1374
  /**
1254
1375
  * @public
1255
1376
  */
@@ -1369,9 +1490,9 @@ export declare type Player = {
1369
1490
  * @public
1370
1491
  */
1371
1492
  export declare interface PlayerCapability {
1372
- codec: 'h264' | 'h265';
1373
- encryption: 'fairplay' | 'none' | 'playready' | 'widevine';
1374
- protocol: 'dash' | 'hls' | 'mp4';
1493
+ codec: VideoSourceCodec;
1494
+ encryption: VideoSourceEncryption;
1495
+ protocol: VideoSourceProtocol;
1375
1496
  }
1376
1497
 
1377
1498
  /**
@@ -1433,6 +1554,135 @@ export declare type PlayerConfig = {
1433
1554
  };
1434
1555
  };
1435
1556
 
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
+
1436
1686
  /**
1437
1687
  * @public
1438
1688
  */
@@ -1490,7 +1740,10 @@ export declare type PlayerProviderProps = {
1490
1740
  playerWrapperId?: string;
1491
1741
  };
1492
1742
 
1493
- declare type PlayerState = 'playing' | 'paused' | 'idle';
1743
+ /**
1744
+ * @public
1745
+ */
1746
+ export declare type PlayerState = 'idle' | 'playing' | 'paused';
1494
1747
 
1495
1748
  /**
1496
1749
  * @public
@@ -1586,13 +1839,6 @@ export declare enum PlayerWrapperEventType {
1586
1839
  */
1587
1840
  export declare type PlayerWrapperEventTypeType = `${PlayerWrapperEventType}`;
1588
1841
 
1589
- export declare interface PlayreadyDrmConfiguration {
1590
- /**
1591
- * Url to send license to.
1592
- */
1593
- playreadyLicenseUrl: string;
1594
- }
1595
-
1596
1842
  /**
1597
1843
  * @public
1598
1844
  */
@@ -1644,6 +1890,10 @@ export declare interface PurchasableMonetization extends Monetization {
1644
1890
  * If not set or set to false, users cannot buy it as a voucher.
1645
1891
  */
1646
1892
  isPurchasableAsVoucher?: boolean;
1893
+ /**
1894
+ * Returns array of tag ids of monetization placements
1895
+ */
1896
+ tagIds: string[];
1647
1897
  }
1648
1898
 
1649
1899
  /**
@@ -1706,6 +1956,11 @@ export declare type PurchaseEndpointPayload = {
1706
1956
  * Two-letter upper-case country code according to ISO-3166 format (see https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes).
1707
1957
  */
1708
1958
  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;
1709
1964
  /**
1710
1965
  * Gateway name or "voucher".
1711
1966
  */
@@ -1714,22 +1969,22 @@ export declare type PurchaseEndpointPayload = {
1714
1969
  * Tivio ID of the purchase.
1715
1970
  */
1716
1971
  id: string;
1717
- /**
1718
- * Timestamp of the last change of the purchase - in this case it is timestamp when it was paid.
1719
- */
1720
- updated: number;
1721
1972
  /**
1722
1973
  * True if delayed payment is confirmed but not charged yet, undefined in all other cases.
1723
1974
  */
1724
1975
  isDelayedPayment?: boolean;
1976
+ /**
1977
+ * Purchase status after change.
1978
+ */
1979
+ newStatus: PurchaseStatus;
1725
1980
  /**
1726
1981
  * Purchase status before change.
1727
1982
  */
1728
1983
  previousStatus: PurchaseStatus;
1729
1984
  /**
1730
- * Purchase status after change.
1985
+ * Timestamp of the last change of the purchase - in this case it is timestamp when it was paid.
1731
1986
  */
1732
- newStatus: PurchaseStatus;
1987
+ updated: number;
1733
1988
  };
1734
1989
  /**
1735
1990
  * Information about the monetization which has been bought by this purchase. Monetization definition may change in time so information provided here
@@ -2478,6 +2733,7 @@ export declare type TivioComponents = {
2478
2733
  WebTile: React_2.ComponentType<{
2479
2734
  item?: ItemsInRow;
2480
2735
  } & TilePropsPartial>;
2736
+ ChannelContext: React_2.Context<TvChannel | undefined>;
2481
2737
  };
2482
2738
 
2483
2739
  /**
@@ -2604,6 +2860,7 @@ export declare type TivioHooks = {
2604
2860
  inviteCodeReset: () => void;
2605
2861
  };
2606
2862
  useChannelSource: UseChannelSource;
2863
+ useTvChannel: UseTvChannel;
2607
2864
  };
2608
2865
 
2609
2866
  /**
@@ -2645,7 +2902,7 @@ export declare type TivioInternalHooks = {
2645
2902
  usePurchasesWithVideos: () => {
2646
2903
  purchases: Purchase[];
2647
2904
  };
2648
- useOrganizationSubscriptions: (onlyPurchasableSubscriptions?: boolean) => {
2905
+ useOrganizationSubscriptions: (onlyPurchasableSubscriptions?: boolean, videoId?: string) => {
2649
2906
  subscriptions: PurchasableMonetization[];
2650
2907
  };
2651
2908
  useIsMonetizationPurchased: () => {
@@ -2713,7 +2970,7 @@ export declare type TivioJsBundleExposedApi = {
2713
2970
  * @param id - player wrapper id
2714
2971
  * @returns {Player} player wrapper instance
2715
2972
  */
2716
- getPlayer: (id: string) => Player;
2973
+ getPlayerWrapper: (id: string) => Player;
2717
2974
  /**
2718
2975
  * Get tv channel by its id.
2719
2976
  * @param tvChannelId - tv channel id
@@ -2922,6 +3179,20 @@ export declare interface TopWatchItem {
2922
3179
  viewCount: number;
2923
3180
  }
2924
3181
 
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
+
2925
3196
  declare type TransactionInfo = {
2926
3197
  type: 'transaction';
2927
3198
  name: string;
@@ -2938,6 +3209,8 @@ export declare type Translation = {
2938
3209
  [key in LangCode]?: string;
2939
3210
  };
2940
3211
 
3212
+ export declare type TriggerType = 'scheduled' | 'manual';
3213
+
2941
3214
  /**
2942
3215
  * @public
2943
3216
  */
@@ -2952,11 +3225,13 @@ export declare type TvAppProps = {
2952
3225
  export declare interface TvChannel extends RowItem {
2953
3226
  id: string;
2954
3227
  itemType: ROW_ITEM_TYPES.TV_CHANNEL;
3228
+ type?: TvChannelType;
2955
3229
  name: string;
2956
3230
  path: string;
2957
3231
  country?: string;
2958
3232
  filters: string[];
2959
3233
  logo?: string;
3234
+ logoPendingOverlayWidth?: string;
2960
3235
  hls: string;
2961
3236
  dash: string;
2962
3237
  /**
@@ -2973,7 +3248,18 @@ export declare interface TvChannel extends RowItem {
2973
3248
  price: number;
2974
3249
  cover: string;
2975
3250
  isPlayable: boolean;
2976
- uri: string;
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"
2977
3263
  }
2978
3264
 
2979
3265
  export declare interface TvProgram {
@@ -2981,7 +3267,7 @@ export declare interface TvProgram {
2981
3267
  to: Date | null;
2982
3268
  name: string;
2983
3269
  description: string;
2984
- uri: string;
3270
+ url: string;
2985
3271
  image: string;
2986
3272
  video: Video | null;
2987
3273
  }
@@ -3151,16 +3437,6 @@ export declare const useOrganizationSubscriptions: (onlyPurchasableSubscriptions
3151
3437
  subscriptions: PurchasableMonetization[];
3152
3438
  };
3153
3439
 
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
-
3164
3440
  /**
3165
3441
  * Is used to mark purchase in recovery state as PAID.
3166
3442
  *
@@ -3233,6 +3509,12 @@ export declare type User = {
3233
3509
  setActiveUserProfileId: (id: string) => void;
3234
3510
  };
3235
3511
 
3512
+ export declare enum UserGroup {
3513
+ ALL = "all",
3514
+ FREE = "free",
3515
+ PREMIUM = "premium"
3516
+ }
3517
+
3236
3518
  /**
3237
3519
  * @public
3238
3520
  */
@@ -3459,7 +3741,6 @@ export declare interface Video extends RowItem {
3459
3741
  urlName?: string;
3460
3742
  price: number | null;
3461
3743
  detailedPrice: DetailedPrice | null;
3462
- uri: string;
3463
3744
  url: string;
3464
3745
  adMonetizationId?: string;
3465
3746
  from?: Date;
@@ -3481,7 +3762,7 @@ export declare interface Video extends RowItem {
3481
3762
  removeFromFavorites: () => void;
3482
3763
  availability: VideoAvailability | null;
3483
3764
  sourceLanguages: LangCode[];
3484
- uriByLanguage: (lang: LangCode) => string | undefined;
3765
+ urlByLanguage: (lang: LangCode) => string | undefined;
3485
3766
  }
3486
3767
 
3487
3768
  /**
@@ -3512,6 +3793,29 @@ export declare type VideoExternals = JojExternals | MallTvExternals | OktagonExt
3512
3793
 
3513
3794
  declare type VideoPath = string;
3514
3795
 
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
+
3515
3819
  /**
3516
3820
  * Video type.
3517
3821
  * @public
@@ -3569,8 +3873,9 @@ export declare interface ViewCountItem {
3569
3873
  /**
3570
3874
  * @public
3571
3875
  */
3572
- export declare interface VirtualChannelSourcePojo extends Omit<ChannelSourcePojo, 'type'> {
3876
+ export declare interface VirtualChannelSourcePojo {
3573
3877
  type: 'VirtualChannelSource';
3878
+ tvChannel: TvChannel;
3574
3879
  epg: TvProgram[];
3575
3880
  }
3576
3881
 
@@ -3578,22 +3883,22 @@ export declare interface VirtualChannelSourcePojo extends Omit<ChannelSourcePojo
3578
3883
  * @public
3579
3884
  */
3580
3885
  export declare type VodExternalSource = {
3581
- new (uri: string, monetizationId: string, name: string, description: string, originalOptions: Record<string, any>): VodTivioSource;
3886
+ new (url: string, monetizationId: string, name: string, description: string, originalOptions: Record<string, any>): VodTivioSource;
3582
3887
  type: 'vod_external';
3583
3888
  description: string;
3584
3889
  name: string;
3585
- uri: string;
3890
+ url: string;
3586
3891
  };
3587
3892
 
3588
3893
  /**
3589
3894
  * @public
3590
3895
  */
3591
3896
  export declare type VodTivioSource = {
3592
- new (uri: string, videoId: string, name: string, description: string, adMonetizationId?: string): VodTivioSource;
3897
+ new (url: string, videoId: string, name: string, description: string, adMonetizationId?: string): VodTivioSource;
3593
3898
  type: 'vod_tivio';
3594
3899
  description: string;
3595
3900
  name: string;
3596
- uri: string;
3901
+ url: string;
3597
3902
  };
3598
3903
 
3599
3904
  declare interface VodTivioSourcePojo {
@@ -3601,7 +3906,7 @@ declare interface VodTivioSourcePojo {
3601
3906
  description: string;
3602
3907
  path: string;
3603
3908
  name: string;
3604
- uri: string;
3909
+ url: string;
3605
3910
  poster?: string;
3606
3911
  adMonetizationId?: string;
3607
3912
  availability: VideoAvailability | null;
@@ -3717,13 +4022,6 @@ export declare type WhereFilterArray = [string, WhereFilterOp, any];
3717
4022
 
3718
4023
  declare type WhereFilterOp = '<' | '<=' | '==' | '!=' | '>=' | '>' | 'array-contains' | 'in' | 'array-contains-any' | 'not-in';
3719
4024
 
3720
- export declare interface WidevineDrmConfiguration {
3721
- /**
3722
- * Url to send license to.
3723
- */
3724
- widevineLicenseUrl: string;
3725
- }
3726
-
3727
4025
  /**
3728
4026
  * @public
3729
4027
  */