@tivio/sdk-react 3.7.0 → 4.0.0

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