@tivio/sdk-react 3.7.0 → 4.0.0

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
@@ -106,6 +106,14 @@ export declare enum ALGOLIA_INDEX_NAME {
106
106
  USERS = "users"
107
107
  }
108
108
 
109
+ /**
110
+ * @public
111
+ */
112
+ export declare type ArrisDeviceInfo = {
113
+ type: 'arris';
114
+ model?: 'VIP1003' | 'VIP1113' | 'VIP5305';
115
+ };
116
+
109
117
  /**
110
118
  * @public
111
119
  */
@@ -202,39 +210,6 @@ export declare type BannerProps = {
202
210
  */
203
211
  export declare type BannerPropsPartial = Partial<BannerProps>;
204
212
 
205
- /**
206
- * @public
207
- */
208
- export declare type BasicTivioBundle = {
209
- components: TivioComponents;
210
- getters: TivioGetters;
211
- auth: TivioAuth;
212
- hooks: TivioHooks;
213
- sources: TivioSources;
214
- subscriptions: TivioSubscriptions;
215
- purchaseVideoWithQerko: (videoId: string, monetizationId: string, voucher?: {
216
- expirationDate: Date;
217
- }) => Promise<QerkoPaymentInfo>;
218
- purchaseSubscriptionWithQerko: (monetizationId: string, voucher?: {
219
- expirationDate: Date;
220
- }) => Promise<QerkoPaymentInfo>;
221
- cancelSubscriptionWithQerko: (subscriptionId: string) => Promise<QerkoCancellationInfo>;
222
- /**
223
- * Set tivio language.
224
- * @param language
225
- */
226
- setLanguage: (language: LangCode) => void;
227
- setUser: (userId: string | null, userPayload?: UserPayload) => Promise<void>;
228
- showConsentPreferences: () => void;
229
- /**
230
- * Contains hooks and providers for internal usages.
231
- * They used in our apps, e.g. web, or in sdk-react (e.g. some sdk hooks are just wrappers for core-react-dom hooks)
232
- * TODO should not be the part of public API
233
- */
234
- internal: TivioInternalBundle;
235
- destroy: () => Promise<void>;
236
- };
237
-
238
213
  /**
239
214
  * @public
240
215
  */
@@ -260,7 +235,7 @@ export declare const bundlePromise: Promise<RemoteBundleState>;
260
235
  /**
261
236
  * @public
262
237
  */
263
- export declare type Callback = () => void;
238
+ export declare type Callback<T = any> = (arg?: T) => void;
264
239
 
265
240
  /**
266
241
  * @public
@@ -273,11 +248,6 @@ export declare interface Channel {
273
248
  recentVideos: Video[];
274
249
  }
275
250
 
276
- /**
277
- * @public
278
- */
279
- export declare const ChannelsContext: React_2.Context<DataState<Channel>>;
280
-
281
251
  /**
282
252
  * @public
283
253
  */
@@ -318,14 +288,13 @@ export declare type Chapter = any;
318
288
  /**
319
289
  * @public
320
290
  */
321
- export declare type Config = Pick<InternalConfig, 'bundleUrlOverride' | 'currency' | 'disableUnmounting' | 'capabilitiesOptions' | 'enable' | 'enableSentry' | 'ErrorComponent' | 'language' | 'LoaderComponent' | 'logger' | 'secret' | 'verbose' | 'forceCloudFnResolver'> & {
322
- deviceCapabilities: PlayerCapability[] | 'auto';
323
- /**
324
- * @private
325
- * Run HTML, CSS and JS feature support check
326
- */
327
- runFeatureSupportCheck?: boolean;
328
- };
291
+ export declare type CmpConfig = 'default' | 'debug' | 'none';
292
+
293
+ /**
294
+ * Just another alias. Reexported for backward compatibility.
295
+ * @public
296
+ */
297
+ export declare type Config = SdkReactConfig;
329
298
 
330
299
  /**
331
300
  * @public
@@ -381,13 +350,6 @@ export declare enum CUSTOMER_BUILD {
381
350
  INVESTOREES = "INVESTOREES"
382
351
  }
383
352
 
384
- declare interface DataState<T> {
385
- data: {
386
- [key: string]: HookData<T>;
387
- };
388
- setData: (key: string, data: HookData<T>) => void;
389
- }
390
-
391
353
  /**
392
354
  * @public
393
355
  */
@@ -410,6 +372,11 @@ export declare type DetailedPrice = {
410
372
  frequency?: MONETIZATION_FREQUENCY;
411
373
  };
412
374
 
375
+ /**
376
+ * @public
377
+ */
378
+ export declare type DeviceInfo = ArrisDeviceInfo | WebosDeviceInfo | TizenDeviceInfo;
379
+
413
380
  /**
414
381
  * @public
415
382
  */
@@ -483,12 +450,6 @@ export declare interface GenericOnCallError {
483
450
  */
484
451
  export declare const getPubSub: () => PubSub;
485
452
 
486
- declare interface HookData<T> {
487
- data: PaginationData<T> | null;
488
- error: Error | null;
489
- isLoading: boolean;
490
- }
491
-
492
453
  /**
493
454
  * @public
494
455
  */
@@ -556,46 +517,23 @@ export declare type InputSource = AdSource | ChannelSource | VodTivioSource | Vo
556
517
  /**
557
518
  * @public
558
519
  */
559
- export declare type InternalConfig = {
560
- /**
561
- * @private URL of remote code bundle to be fetched directly (without using resolver)
562
- */
563
- bundleUrlOverride?: string;
564
- /**
565
- * Tells Tivio which technologies/protocols etc. is the device capable to play.
566
- * If not provided, Tivio will try to guess it (based on the browser).
567
- */
568
- deviceCapabilities: PlayerCapability[];
569
- /**
570
- * Additional options for deviceCapabilities
571
- */
572
- capabilitiesOptions?: {
573
- /**
574
- * Should the player prefer HTTP sources instead HTTPs if they are available.
575
- * This can be used on platforms that support mixed content but do not support
576
- * specific HTTPS certificates. (e.g. certificates from Letsencrypt not supported on LG TVs)
577
- */
578
- preferHttp?: boolean;
579
- };
580
- secret: string | null;
581
- language?: LangCode;
582
- verbose?: boolean;
583
- currency: Currency;
584
- disableUnmounting?: boolean;
585
- enable?: boolean;
586
- enableSentry?: boolean;
587
- ErrorComponent?: ComponentType<{
588
- error: string | null;
589
- }>;
520
+ export declare type InternalConfig = SdkReactConfig & {
590
521
  fetchPackage: FetchPackage;
591
- LoaderComponent?: ComponentType;
592
- logger?: Logger | null;
593
522
  pubSub: PubSub;
594
523
  /**
595
524
  * @private URL of resolver. Resolver is a script used to fetch remove code bundle
596
525
  */
597
526
  resolverUrl: string;
598
527
  sdkVersion: string;
528
+ /**
529
+ * @private URL of remote code bundle to be fetched directly (without using resolver)
530
+ */
531
+ bundleUrlOverride?: string;
532
+ /**
533
+ * @private
534
+ * Run HTML, CSS and JS feature support check
535
+ */
536
+ runFeatureSupportCheck?: boolean;
599
537
  /**
600
538
  * @private
601
539
  */
@@ -756,12 +694,6 @@ declare type OrderByDirection = 'desc' | 'asc';
756
694
  export declare interface Organization {
757
695
  }
758
696
 
759
- declare type PaginationData<T> = {
760
- items: T[];
761
- hasNextPage: boolean;
762
- fetchMore: Function;
763
- };
764
-
765
697
  /**
766
698
  * @public
767
699
  */
@@ -798,6 +730,54 @@ export declare interface PlayerCapability {
798
730
  protocol: 'dash' | 'hls' | 'mp4';
799
731
  }
800
732
 
733
+ /**
734
+ * @public
735
+ */
736
+ export declare type PlayerConfig = {
737
+ /**
738
+ * Some devices do not seek exactly
739
+ *
740
+ * e.g. on Arris if we request seek to position P, in reality it will seek to P -+5s
741
+ * e.g. on Arris if we request play from position P, in reality it will play from P -+5s
742
+ * (on Arris the error margin varies according to video format)
743
+ */
744
+ acceptablePositionAnomalyMs?: number;
745
+ /**
746
+ * Stream delay config
747
+ *
748
+ * IP TV apps have TV program / TV channel streams delayed relative to the original
749
+ * video source. Therefore stream markers taken from the original video source
750
+ * are delayed relative to the TV stream seen by end users of the IP TV app.
751
+ *
752
+ * This delay must be corrected.
753
+ */
754
+ streamDelayConfig?: {
755
+ /**
756
+ * ID of the delay config
757
+ */
758
+ id: string;
759
+ };
760
+ ui?: {
761
+ /**
762
+ * ID of a DOM element inside which Tivio should display its player-related UI
763
+ * such as ad buttons. This DOM element is an anchor point for Tivio UI. Preferably
764
+ * it should be a <div/> element styled to cover the whole area of the video player
765
+ * and it should be positioned to be on top the existing player UI (e.g. via z-index).
766
+ */
767
+ domAnchorId: string | null;
768
+ };
769
+ protocols?: {
770
+ mp4?: {
771
+ /**
772
+ * Set to false if player does not support MP4 files that require full file download
773
+ * (i.e. they do not support progressive MP4 download and therefore the whole file
774
+ * must be downloaded before playback can start)
775
+ */
776
+ fullFileDownloadSupport?: boolean;
777
+ };
778
+ };
779
+ };
780
+
801
781
  /**
802
782
  * @public
803
783
  */
@@ -1064,7 +1044,6 @@ export declare interface QerkoTransaction {
1064
1044
  export declare type RemoteBundleState = {
1065
1045
  config: InternalConfig;
1066
1046
  error: string | null;
1067
- settings: Settings;
1068
1047
  state: 'loading' | 'error' | 'ready';
1069
1048
  } & Nullable<TivioBundle>;
1070
1049
 
@@ -1228,6 +1207,25 @@ export declare type ScreenRowType = 'filter' | 'custom' | 'continueToWatch' | 'f
1228
1207
  */
1229
1208
  export declare type ScreenSubscription = (screenId: string, cb: (error: Error | null, data: Screen_2 | null) => void) => Disposer_2;
1230
1209
 
1210
+ /**
1211
+ * Config of sdk-react. Contains all properties that can be passed via TivioProvider.
1212
+ * Consists of TivioConfig's properties + "sdk only" properties, that are used only in sdk, not in bundle.
1213
+ *
1214
+ * @public
1215
+ */
1216
+ export declare type SdkReactConfig = Omit<TivioConfig, 'deviceCapabilities' | 'language'> & {
1217
+ disableUnmounting?: boolean;
1218
+ enable?: boolean;
1219
+ enableSentry?: boolean;
1220
+ ErrorComponent?: ComponentType<{
1221
+ error: string | null;
1222
+ }>;
1223
+ LoaderComponent?: ComponentType;
1224
+ logger?: Logger | null;
1225
+ deviceCapabilities: PlayerCapability[] | 'auto';
1226
+ language?: LangCode;
1227
+ };
1228
+
1231
1229
  /**
1232
1230
  * @public
1233
1231
  */
@@ -1238,21 +1236,6 @@ export declare interface Section {
1238
1236
  videos: Video[];
1239
1237
  }
1240
1238
 
1241
- /**
1242
- * @public
1243
- */
1244
- export declare const SectionsContext: React_2.Context<DataState<Section>>;
1245
-
1246
- /**
1247
- * @public
1248
- */
1249
- export declare type Settings = {
1250
- /**
1251
- * @deprecated TIV-994 in favour of setUser from libs/sdk-react/src/services/login.ts
1252
- */
1253
- setUser: (userId: string, userPayload: unknown) => Promise<void>;
1254
- };
1255
-
1256
1239
  /**
1257
1240
  * Used for entities, that can be global (e.g. asset presets, tag types).
1258
1241
  * Non-global is stored under organizations (in sub-collection), and shown for organization's users and super-admin.
@@ -1410,10 +1393,6 @@ export declare type TilePropsPartial = Partial<TileProps>;
1410
1393
  * @public
1411
1394
  */
1412
1395
  export declare interface TivioAuth {
1413
- changePassword: (newPassword: string) => Promise<void>;
1414
- changeUserPhoto(file: any): Promise<void>;
1415
- removeUserPhoto(): Promise<void>;
1416
- getPurchasedVodsWithInitializedVideos: () => Promise<Purchase[]>;
1417
1396
  /**
1418
1397
  * @param email
1419
1398
  * @param password
@@ -1425,21 +1404,17 @@ export declare interface TivioAuth {
1425
1404
  * @param password
1426
1405
  */
1427
1406
  signInWithEmailAndPassword: (email: string, password: string) => Promise<string | null>;
1428
- initializeUser: () => Promise<void>;
1429
1407
  signOut: () => Promise<void>;
1430
1408
  /**
1431
1409
  * Used for reset forgotten password by user
1432
1410
  */
1433
1411
  resetPassword: (email: string) => Promise<void>;
1434
- createFreePurchase: (monetizationId: string) => Promise<void>;
1435
1412
  }
1436
1413
 
1437
1414
  /**
1438
1415
  * @public
1439
1416
  */
1440
- export declare type TivioBundle = BasicTivioBundle & {
1441
- init: (config: Config) => void | Promise<void>;
1442
- };
1417
+ export declare type TivioBundle = TivioReactBundle;
1443
1418
 
1444
1419
  /**
1445
1420
  * @public
@@ -1455,10 +1430,6 @@ export declare type TivioComponents = {
1455
1430
  Markers: React_2.ReactNode;
1456
1431
  PlayerDataContext: React_2.ReactNode;
1457
1432
  Provider: React_2.ComponentType<RemoteProviderProps>;
1458
- /**
1459
- * @deprecated will be removed in in @tivio/sdk-react@4
1460
- */
1461
- VideoAdBanner: React_2.ReactNode;
1462
1433
  WebPlayer: React_2.ComponentType<WebPlayerProps>;
1463
1434
  Widget: React_2.ComponentType<TivioWidgetProps>;
1464
1435
  PlayerDataContextProvider: React_2.ComponentType<{
@@ -1493,6 +1464,44 @@ export declare type TivioComponents = {
1493
1464
  TvPlayer: React_2.ComponentType<WebPlayerProps>;
1494
1465
  };
1495
1466
 
1467
+ /**
1468
+ * @public
1469
+ */
1470
+ export declare interface TivioConfig {
1471
+ /**
1472
+ * Tells Tivio which technologies/protocols etc. is the device capable to play.
1473
+ * If not provided, Tivio will try to guess it (based on the browser).
1474
+ */
1475
+ deviceCapabilities?: PlayerCapability[];
1476
+ /**
1477
+ * Additional options for deviceCapabilities
1478
+ */
1479
+ capabilitiesOptions?: {
1480
+ /**
1481
+ * Should the player prefer HTTP sources instead HTTPs if they are available.
1482
+ * This can be used on platforms that support mixed content but do not support
1483
+ * specific HTTPS certificates. (e.g. certificates from Letsencrypt not supported on LG TVs)
1484
+ */
1485
+ preferHttp?: boolean;
1486
+ };
1487
+ secret: string;
1488
+ language: LangCode;
1489
+ debug?: boolean;
1490
+ verbose?: boolean;
1491
+ firebaseApp?: any;
1492
+ currency: Currency;
1493
+ /**
1494
+ * Configuration for GDPR consent collection (CMP)
1495
+ */
1496
+ cmp?: CmpConfig;
1497
+ /**
1498
+ * Device information - model, os, version, etc. This is useful for devices
1499
+ * where this information cannot be reliably auto-detected.
1500
+ */
1501
+ deviceInfo?: DeviceInfo;
1502
+ player?: PlayerConfig;
1503
+ }
1504
+
1496
1505
  /**
1497
1506
  * @public
1498
1507
  */
@@ -1504,18 +1513,6 @@ export declare const TivioContext: React_2.Context<RemoteBundleState | null>;
1504
1513
  export declare type TivioGetters = {
1505
1514
  isTivioLoaded: (cb: (isLoaded: boolean) => void) => void;
1506
1515
  isSignedIn: () => boolean;
1507
- /**
1508
- * @deprecated is here only for backward compatibility
1509
- */
1510
- getExportedConfig: () => Promise<{
1511
- showMarkers: true;
1512
- }>;
1513
- /**
1514
- * Get channel by its id.
1515
- * @param channelId - channel id
1516
- * @returns {Promise<Channel | null>} channel or null if channel does not exists
1517
- */
1518
- getChannelById: (channelId: string) => Promise<Channel | null>;
1519
1516
  /**
1520
1517
  * Get (or create) player wrapper instance
1521
1518
  * @param opt - player getter options
@@ -1525,24 +1522,12 @@ export declare type TivioGetters = {
1525
1522
  playerWrapperId?: string;
1526
1523
  }) => any;
1527
1524
  getOrganizationSubscriptions: () => Promise<Monetization[] | undefined>;
1528
- /**
1529
- * Get section by its id.
1530
- * @param sectionId - section id
1531
- * @returns {Promise<{section: Section, channel: Channel} | null>} section and channel or null if channel or section does not exists
1532
- */
1533
- getSectionById: (sectionId: string) => Promise<Section | null>;
1534
1525
  /**
1535
1526
  * Get video by its id.
1536
1527
  * @param videoId - video id
1537
1528
  * @returns {Promise<Video | null>} video or null if video does not exists
1538
1529
  */
1539
1530
  getVideoById: (videoId: string) => Promise<Video | null>;
1540
- /**
1541
- * Get widget by its id.
1542
- * @param widgetId - widget id
1543
- * @returns {Promise<Widget | null>} widget or null if widget does not exists
1544
- */
1545
- getWidgetById: (widgetId: string) => Promise<Widget | null>;
1546
1531
  /**
1547
1532
  * Get player capabilities based on user's browser and OS as resolved by Tivio.
1548
1533
  * @returns PlayerCapability[]
@@ -1583,10 +1568,6 @@ export declare type TivioHooks = {
1583
1568
  error: string | null;
1584
1569
  };
1585
1570
  useVoucher: (voucherId: string) => any;
1586
- /**
1587
- * @deprecated will be removed in version
1588
- */
1589
- useLastVideoByWidgetId: (widgetId: string) => Video | null;
1590
1571
  useWatchWithoutAdsOffer: () => {
1591
1572
  canPurchaseWatchWithoutAds: boolean;
1592
1573
  showPurchaseDialog: () => void;
@@ -1681,10 +1662,44 @@ export declare type TivioProviderProps = {
1681
1662
  /**
1682
1663
  * This prop must be set only once and not change value afterwards
1683
1664
  */
1684
- conf: Config | undefined | null;
1665
+ conf: SdkReactConfig | undefined | null;
1685
1666
  children: React_2.ReactNode;
1686
1667
  };
1687
1668
 
1669
+ /**
1670
+ * @public
1671
+ */
1672
+ export declare type TivioReactBundle = {
1673
+ init: (config: TivioConfig) => void | Promise<void>;
1674
+ components: TivioComponents;
1675
+ getters: TivioGetters;
1676
+ auth: TivioAuth;
1677
+ hooks: TivioHooks;
1678
+ sources: TivioSources;
1679
+ subscriptions: TivioSubscriptions;
1680
+ purchaseVideoWithQerko: (videoId: string, monetizationId: string, voucher?: {
1681
+ expirationDate: Date;
1682
+ }) => Promise<QerkoPaymentInfo>;
1683
+ purchaseSubscriptionWithQerko: (monetizationId: string, voucher?: {
1684
+ expirationDate: Date;
1685
+ }) => Promise<QerkoPaymentInfo>;
1686
+ cancelSubscriptionWithQerko: (subscriptionId: string) => Promise<QerkoCancellationInfo>;
1687
+ /**
1688
+ * Set tivio language.
1689
+ * @param language
1690
+ */
1691
+ setLanguage: (language: LangCode) => void;
1692
+ setUser: (userId: string | null, userPayload?: UserPayload) => Promise<void>;
1693
+ showConsentPreferences: () => void;
1694
+ /**
1695
+ * Contains hooks and providers for internal usages.
1696
+ * They used in our apps, e.g. web, or in sdk-react (e.g. some sdk hooks are just wrappers for core-react-dom hooks)
1697
+ * TODO should not be the part of public API
1698
+ */
1699
+ internal: TivioInternalBundle;
1700
+ destroy: () => Promise<void>;
1701
+ };
1702
+
1688
1703
  /**
1689
1704
  * @public
1690
1705
  */
@@ -1700,61 +1715,12 @@ export declare type TivioSources = {
1700
1715
  */
1701
1716
  export declare type TivioSubscriptions = {
1702
1717
  subscribeToUser: (cb: (error: string | null, user: User | null) => void) => void;
1703
- /**
1704
- * Listen to widget changes.
1705
- * @param widgetId - widget id
1706
- * @param cb - callback on widget updates or on error
1707
- */
1708
- subscribeToWidget: (widgetId: string, cb: (error: Error | null, data: Widget | null, disposer?: Disposer_2) => void) => void;
1709
- /**
1710
- * Listen to channel changes.
1711
- * @param channelId - channel id
1712
- * @param cb - callback on channel updates or on error
1713
- */
1714
- subscribeToChannel: (channelId: string, cb: (error: Error | null, data: Channel | null) => void) => void;
1715
- /**
1716
- * Listen to section changes.
1717
- * @param sectionId - section id
1718
- * @param cb - callback on section updates or on error
1719
- */
1720
- subscribeToSection: (sectionId: string, cb: (error: Error | null, data: Section | null) => void) => void;
1721
1718
  /**
1722
1719
  * Listen to video changes.
1723
1720
  * @param videoId - video id
1724
1721
  * @param cb - callback on video updates or on error
1725
1722
  */
1726
1723
  subscribeToVideo: (videoId: string, cb: (error: Error | null, data: Video | null, disposer?: Disposer_2) => void) => void;
1727
- /**
1728
- * Listen to videos in section changes.
1729
- * @param sectionId - section id
1730
- * @param cb - callback on videos change or error
1731
- * @param limit - videos count
1732
- */
1733
- subscribeToVideosInSection: (sectionId: string, cb: (error: null | Error, data: null | {
1734
- videos: Video[];
1735
- hasNextPage: boolean;
1736
- }, fetchMore: null | ((count?: number) => void), isLoading: boolean) => void, limit?: number) => void;
1737
- /**
1738
- * Listen to section in channel changes
1739
- * @param channelId - channel id
1740
- * @param cb - callback on sections change or error
1741
- * @param limit - sections count
1742
- */
1743
- subscribeToSectionsInChannel: (channelId: string, cb: (error: null | Error, data: null | {
1744
- sections: Section[];
1745
- hasNextPage: boolean;
1746
- }, fetchMore: null | ((count?: number) => void), isLoading: boolean) => void, limit?: number) => void;
1747
- /**
1748
- * Listen to channels in widget changes
1749
- * @param widgetId - widget id
1750
- * @param cb - callback on channels change or error
1751
- * @param limit - channels count
1752
- */
1753
- subscribeToChannelsInWidget: (widgetId: string, cb: (error: null | Error, data: null | {
1754
- channels: Channel[];
1755
- hasNextPage: boolean;
1756
- }, fetchMore: null | ((count?: number) => void), isLoading: boolean) => void, limit?: number) => void;
1757
- subscribeToScreen: SubscribeToScreen;
1758
1724
  subscribeToItemsInRow: SubscribeToItemsInRow;
1759
1725
  subscribeToRowsInScreen: SubscribeToRowsInScreen;
1760
1726
  subscribeToTaggedVideos: SubscribeToTaggedVideos;
@@ -1813,6 +1779,15 @@ export declare interface TivioWidgetRef {
1813
1779
  });
1814
1780
  }
1815
1781
 
1782
+ /**
1783
+ * @public
1784
+ */
1785
+ export declare type TizenDeviceInfo = {
1786
+ type: 'tizen';
1787
+ model?: string;
1788
+ osVersion?: string;
1789
+ };
1790
+
1816
1791
  declare type TransactionInfo = {
1817
1792
  type: 'transaction';
1818
1793
  name: string;
@@ -1915,28 +1890,6 @@ export declare type UseCancelSubscription = (subscriptionId: string) => {
1915
1890
  */
1916
1891
  export declare const useCancelSubscription: UseCancelSubscription;
1917
1892
 
1918
- /**
1919
- * Use channel
1920
- * @param channelId - channel id
1921
- * @public
1922
- */
1923
- export declare const useChannel: (channelId: string) => {
1924
- error: string | null;
1925
- data: Channel | null;
1926
- };
1927
-
1928
- /**
1929
- * Use channels in widget
1930
- * @param widgetId - widget id
1931
- * @param [limit] - channels count, defaults to 10
1932
- * @public
1933
- */
1934
- export declare const useChannelsInWidget: (widgetId: string, limit?: number) => {
1935
- error: Error | null;
1936
- data: PaginationData<Channel> | null;
1937
- isLoading: boolean;
1938
- };
1939
-
1940
1893
  /**
1941
1894
  * @public
1942
1895
  */
@@ -1950,13 +1903,6 @@ export declare type UseChannelSource = (tvChannelId: string) => {
1950
1903
  */
1951
1904
  export declare const useCurrentMarker: () => Marker | null;
1952
1905
 
1953
- /**
1954
- * @public
1955
- */
1956
- export declare const useFreePurchase: () => {
1957
- purchase: (monetizationId: string) => Promise<void>;
1958
- };
1959
-
1960
1906
  /**
1961
1907
  * @public
1962
1908
  */
@@ -1987,12 +1933,6 @@ export declare const useItemsInRow: (rowId: string, options?: SubscribeToItemsIn
1987
1933
  error: Error | null;
1988
1934
  };
1989
1935
 
1990
- /**
1991
- * @deprecated will be removed in v4
1992
- * @public
1993
- */
1994
- export declare function useLastVideoByWidgetId(widgetId: string): Video | null;
1995
-
1996
1936
  /**
1997
1937
  * @public
1998
1938
  */
@@ -2084,16 +2024,6 @@ export declare enum UserType {
2084
2024
  TIVIO_USER = "TIVIO_USER"
2085
2025
  }
2086
2026
 
2087
- /**
2088
- * @deprecated
2089
- *
2090
- * Use app screen
2091
- * @param screenId - screen ID
2092
- * @param options - subscribe to screen options
2093
- * @public
2094
- */
2095
- export declare const useScreen: (screenId: string, options?: ScreenOptions | undefined) => never;
2096
-
2097
2027
  /**
2098
2028
  * @public
2099
2029
  */
@@ -2125,28 +2055,6 @@ export declare type UseSearchOptions = PaginationOptions & Partial<{
2125
2055
  */
2126
2056
  export declare type UseSearchResult<T extends ALGOLIA_INDEX_NAME> = T extends ALGOLIA_INDEX_NAME.VIDEOS ? Video : T extends ALGOLIA_INDEX_NAME.TAGS ? Tag : T extends ALGOLIA_INDEX_NAME.TV_CHANNELS ? TvChannel : unknown;
2127
2057
 
2128
- /**
2129
- * Use section
2130
- * @param sectionId - section id
2131
- * @public
2132
- */
2133
- export declare const useSection: (sectionId: string) => {
2134
- error: string | null;
2135
- data: Section | null;
2136
- };
2137
-
2138
- /**
2139
- * Use section in channel
2140
- * @param channelId - channel id
2141
- * @param [limit] - sections count, defaults to 10
2142
- * @public
2143
- */
2144
- export declare const useSectionsInChannel: (channelId: string, limit?: number) => {
2145
- error: Error | null;
2146
- data: PaginationData<Section> | null;
2147
- isLoading: boolean;
2148
- };
2149
-
2150
2058
  /**
2151
2059
  * @public
2152
2060
  */
@@ -2206,18 +2114,6 @@ export declare const useVideo: (videoId?: string | undefined) => {
2206
2114
  error: string | null;
2207
2115
  };
2208
2116
 
2209
- /**
2210
- * Use videos in section
2211
- * @param sectionId - section id
2212
- * @param [limit] - videos count, defaults to 10
2213
- * @public
2214
- */
2215
- export declare const useVideosInSection: (sectionId?: string | undefined, limit?: number) => {
2216
- error: Error | null;
2217
- data: PaginationData<Video> | null;
2218
- isLoading: boolean;
2219
- };
2220
-
2221
2117
  /**
2222
2118
  * @public
2223
2119
  */
@@ -2243,16 +2139,6 @@ export declare const useWatchWithoutAdsOffer: () => {
2243
2139
  showPurchaseDialog: () => void;
2244
2140
  };
2245
2141
 
2246
- /**
2247
- * Use widget
2248
- * @param widgetId - widget id
2249
- * @public
2250
- */
2251
- export declare const useWidget: (widgetId: string) => {
2252
- error: string;
2253
- widget: Widget | null;
2254
- };
2255
-
2256
2142
  /**
2257
2143
  * @public
2258
2144
  */
@@ -2378,11 +2264,6 @@ export declare interface VideoExternals {
2378
2264
 
2379
2265
  declare type VideoPath = string;
2380
2266
 
2381
- /**
2382
- * @public
2383
- */
2384
- export declare const VideosContext: React_2.Context<DataState<Video>>;
2385
-
2386
2267
  /**
2387
2268
  * Video type.
2388
2269
  * @public
@@ -2443,6 +2324,15 @@ declare type Voucher = {
2443
2324
  voucherInfo: SubscriptionInfo | TransactionInfo;
2444
2325
  };
2445
2326
 
2327
+ /**
2328
+ * @public
2329
+ */
2330
+ export declare type WebosDeviceInfo = {
2331
+ type: 'webos';
2332
+ model?: string;
2333
+ osVersion?: string;
2334
+ };
2335
+
2446
2336
  /**
2447
2337
  * @public
2448
2338
  */