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

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