@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.
@@ -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
  */
@@ -268,7 +243,7 @@ export declare type ButtonOptions = {
268
243
  /**
269
244
  * @public
270
245
  */
271
- export declare type Callback = () => void;
246
+ export declare type Callback<T = any> = (arg?: T) => void;
272
247
 
273
248
  /**
274
249
  * @public
@@ -281,11 +256,6 @@ export declare interface Channel {
281
256
  recentVideos: Video[];
282
257
  }
283
258
 
284
- /**
285
- * @public
286
- */
287
- export declare const ChannelsContext: React_2.Context<DataState<Channel>>;
288
-
289
259
  /**
290
260
  * @public
291
261
  */
@@ -323,6 +293,11 @@ export declare interface ChannelSourcePojo {
323
293
  */
324
294
  export declare type Chapter = any;
325
295
 
296
+ /**
297
+ * @public
298
+ */
299
+ export declare type CmpConfig = 'default' | 'debug' | 'none';
300
+
326
301
  /**
327
302
  * TODO it's the same as Customizations, not?
328
303
  * @internal
@@ -341,16 +316,10 @@ export declare type Components = {
341
316
  };
342
317
 
343
318
  /**
319
+ * Just another alias. Reexported for backward compatibility.
344
320
  * @public
345
321
  */
346
- export declare type Config = Pick<InternalConfig, 'bundleUrlOverride' | 'currency' | 'disableUnmounting' | 'capabilitiesOptions' | 'enable' | 'enableSentry' | 'ErrorComponent' | 'language' | 'LoaderComponent' | 'logger' | 'secret' | 'verbose' | 'forceCloudFnResolver'> & {
347
- deviceCapabilities: PlayerCapability[] | 'auto';
348
- /**
349
- * @private
350
- * Run HTML, CSS and JS feature support check
351
- */
352
- runFeatureSupportCheck?: boolean;
353
- };
322
+ export declare type Config = SdkReactConfig;
354
323
 
355
324
  /**
356
325
  * @public
@@ -469,13 +438,6 @@ export declare interface CustomThemeOptions {
469
438
  size: (size: number) => number;
470
439
  }
471
440
 
472
- declare interface DataState<T> {
473
- data: {
474
- [key: string]: HookData<T>;
475
- };
476
- setData: (key: string, data: HookData<T>) => void;
477
- }
478
-
479
441
  /**
480
442
  * @public
481
443
  */
@@ -498,6 +460,11 @@ export declare type DetailedPrice = {
498
460
  frequency?: MONETIZATION_FREQUENCY;
499
461
  };
500
462
 
463
+ /**
464
+ * @public
465
+ */
466
+ export declare type DeviceInfo = ArrisDeviceInfo | WebosDeviceInfo | TizenDeviceInfo;
467
+
501
468
  /**
502
469
  * @public
503
470
  */
@@ -571,12 +538,6 @@ export declare interface GenericOnCallError {
571
538
  */
572
539
  export declare const getPubSub: () => PubSub;
573
540
 
574
- declare interface HookData<T> {
575
- data: PaginationData<T> | null;
576
- error: Error | null;
577
- isLoading: boolean;
578
- }
579
-
580
541
  /**
581
542
  * @public
582
543
  */
@@ -651,46 +612,23 @@ export declare type InputSource = AdSource | ChannelSource | VodTivioSource | Vo
651
612
  /**
652
613
  * @public
653
614
  */
654
- export declare type InternalConfig = {
655
- /**
656
- * @private URL of remote code bundle to be fetched directly (without using resolver)
657
- */
658
- bundleUrlOverride?: string;
659
- /**
660
- * Tells Tivio which technologies/protocols etc. is the device capable to play.
661
- * If not provided, Tivio will try to guess it (based on the browser).
662
- */
663
- deviceCapabilities: PlayerCapability[];
664
- /**
665
- * Additional options for deviceCapabilities
666
- */
667
- capabilitiesOptions?: {
668
- /**
669
- * Should the player prefer HTTP sources instead HTTPs if they are available.
670
- * This can be used on platforms that support mixed content but do not support
671
- * specific HTTPS certificates. (e.g. certificates from Letsencrypt not supported on LG TVs)
672
- */
673
- preferHttp?: boolean;
674
- };
675
- secret: string | null;
676
- language?: LangCode;
677
- verbose?: boolean;
678
- currency: Currency;
679
- disableUnmounting?: boolean;
680
- enable?: boolean;
681
- enableSentry?: boolean;
682
- ErrorComponent?: ComponentType<{
683
- error: string | null;
684
- }>;
615
+ export declare type InternalConfig = SdkReactConfig & {
685
616
  fetchPackage: FetchPackage;
686
- LoaderComponent?: ComponentType;
687
- logger?: Logger | null;
688
617
  pubSub: PubSub;
689
618
  /**
690
619
  * @private URL of resolver. Resolver is a script used to fetch remove code bundle
691
620
  */
692
621
  resolverUrl: string;
693
622
  sdkVersion: string;
623
+ /**
624
+ * @private URL of remote code bundle to be fetched directly (without using resolver)
625
+ */
626
+ bundleUrlOverride?: string;
627
+ /**
628
+ * @private
629
+ * Run HTML, CSS and JS feature support check
630
+ */
631
+ runFeatureSupportCheck?: boolean;
694
632
  /**
695
633
  * @private
696
634
  */
@@ -851,12 +789,6 @@ declare type OrderByDirection = 'desc' | 'asc';
851
789
  export declare interface Organization {
852
790
  }
853
791
 
854
- declare type PaginationData<T> = {
855
- items: T[];
856
- hasNextPage: boolean;
857
- fetchMore: Function;
858
- };
859
-
860
792
  /**
861
793
  * @public
862
794
  */
@@ -893,6 +825,54 @@ export declare interface PlayerCapability {
893
825
  protocol: 'dash' | 'hls' | 'mp4';
894
826
  }
895
827
 
828
+ /**
829
+ * @public
830
+ */
831
+ export declare type PlayerConfig = {
832
+ /**
833
+ * Some devices do not seek exactly
834
+ *
835
+ * e.g. on Arris if we request seek to position P, in reality it will seek to P -+5s
836
+ * e.g. on Arris if we request play from position P, in reality it will play from P -+5s
837
+ * (on Arris the error margin varies according to video format)
838
+ */
839
+ acceptablePositionAnomalyMs?: number;
840
+ /**
841
+ * Stream delay config
842
+ *
843
+ * IP TV apps have TV program / TV channel streams delayed relative to the original
844
+ * video source. Therefore stream markers taken from the original video source
845
+ * are delayed relative to the TV stream seen by end users of the IP TV app.
846
+ *
847
+ * This delay must be corrected.
848
+ */
849
+ streamDelayConfig?: {
850
+ /**
851
+ * ID of the delay config
852
+ */
853
+ id: string;
854
+ };
855
+ ui?: {
856
+ /**
857
+ * ID of a DOM element inside which Tivio should display its player-related UI
858
+ * such as ad buttons. This DOM element is an anchor point for Tivio UI. Preferably
859
+ * it should be a <div/> element styled to cover the whole area of the video player
860
+ * and it should be positioned to be on top the existing player UI (e.g. via z-index).
861
+ */
862
+ domAnchorId: string | null;
863
+ };
864
+ protocols?: {
865
+ mp4?: {
866
+ /**
867
+ * Set to false if player does not support MP4 files that require full file download
868
+ * (i.e. they do not support progressive MP4 download and therefore the whole file
869
+ * must be downloaded before playback can start)
870
+ */
871
+ fullFileDownloadSupport?: boolean;
872
+ };
873
+ };
874
+ };
875
+
896
876
  /**
897
877
  * @public
898
878
  */
@@ -1159,7 +1139,6 @@ export declare interface QerkoTransaction {
1159
1139
  export declare type RemoteBundleState = {
1160
1140
  config: InternalConfig;
1161
1141
  error: string | null;
1162
- settings: Settings;
1163
1142
  state: 'loading' | 'error' | 'ready';
1164
1143
  } & Nullable<TivioBundle>;
1165
1144
 
@@ -1323,6 +1302,25 @@ export declare type ScreenRowType = 'filter' | 'custom' | 'continueToWatch' | 'f
1323
1302
  */
1324
1303
  export declare type ScreenSubscription = (screenId: string, cb: (error: Error | null, data: Screen_2 | null) => void) => Disposer_2;
1325
1304
 
1305
+ /**
1306
+ * Config of sdk-react. Contains all properties that can be passed via TivioProvider.
1307
+ * Consists of TivioConfig's properties + "sdk only" properties, that are used only in sdk, not in bundle.
1308
+ *
1309
+ * @public
1310
+ */
1311
+ export declare type SdkReactConfig = Omit<TivioConfig, 'deviceCapabilities' | 'language'> & {
1312
+ disableUnmounting?: boolean;
1313
+ enable?: boolean;
1314
+ enableSentry?: boolean;
1315
+ ErrorComponent?: ComponentType<{
1316
+ error: string | null;
1317
+ }>;
1318
+ LoaderComponent?: ComponentType;
1319
+ logger?: Logger | null;
1320
+ deviceCapabilities: PlayerCapability[] | 'auto';
1321
+ language?: LangCode;
1322
+ };
1323
+
1326
1324
  /**
1327
1325
  * @public
1328
1326
  */
@@ -1333,21 +1331,6 @@ export declare interface Section {
1333
1331
  videos: Video[];
1334
1332
  }
1335
1333
 
1336
- /**
1337
- * @public
1338
- */
1339
- export declare const SectionsContext: React_2.Context<DataState<Section>>;
1340
-
1341
- /**
1342
- * @public
1343
- */
1344
- export declare type Settings = {
1345
- /**
1346
- * @deprecated TIV-994 in favour of setUser from libs/sdk-react/src/services/login.ts
1347
- */
1348
- setUser: (userId: string, userPayload: unknown) => Promise<void>;
1349
- };
1350
-
1351
1334
  /**
1352
1335
  * Used for entities, that can be global (e.g. asset presets, tag types).
1353
1336
  * Non-global is stored under organizations (in sub-collection), and shown for organization's users and super-admin.
@@ -1524,10 +1507,6 @@ export declare type TilePropsPartial = Partial<TileProps>;
1524
1507
  * @public
1525
1508
  */
1526
1509
  export declare interface TivioAuth {
1527
- changePassword: (newPassword: string) => Promise<void>;
1528
- changeUserPhoto(file: any): Promise<void>;
1529
- removeUserPhoto(): Promise<void>;
1530
- getPurchasedVodsWithInitializedVideos: () => Promise<Purchase[]>;
1531
1510
  /**
1532
1511
  * @param email
1533
1512
  * @param password
@@ -1539,21 +1518,17 @@ export declare interface TivioAuth {
1539
1518
  * @param password
1540
1519
  */
1541
1520
  signInWithEmailAndPassword: (email: string, password: string) => Promise<string | null>;
1542
- initializeUser: () => Promise<void>;
1543
1521
  signOut: () => Promise<void>;
1544
1522
  /**
1545
1523
  * Used for reset forgotten password by user
1546
1524
  */
1547
1525
  resetPassword: (email: string) => Promise<void>;
1548
- createFreePurchase: (monetizationId: string) => Promise<void>;
1549
1526
  }
1550
1527
 
1551
1528
  /**
1552
1529
  * @public
1553
1530
  */
1554
- export declare type TivioBundle = BasicTivioBundle & {
1555
- init: (config: Config) => void | Promise<void>;
1556
- };
1531
+ export declare type TivioBundle = TivioReactBundle;
1557
1532
 
1558
1533
  /**
1559
1534
  * @public
@@ -1569,10 +1544,6 @@ export declare type TivioComponents = {
1569
1544
  Markers: React_2.ReactNode;
1570
1545
  PlayerDataContext: React_2.ReactNode;
1571
1546
  Provider: React_2.ComponentType<RemoteProviderProps>;
1572
- /**
1573
- * @deprecated will be removed in in @tivio/sdk-react@4
1574
- */
1575
- VideoAdBanner: React_2.ReactNode;
1576
1547
  WebPlayer: React_2.ComponentType<WebPlayerProps>;
1577
1548
  Widget: React_2.ComponentType<TivioWidgetProps>;
1578
1549
  PlayerDataContextProvider: React_2.ComponentType<{
@@ -1607,6 +1578,44 @@ export declare type TivioComponents = {
1607
1578
  TvPlayer: React_2.ComponentType<WebPlayerProps>;
1608
1579
  };
1609
1580
 
1581
+ /**
1582
+ * @public
1583
+ */
1584
+ export declare interface TivioConfig {
1585
+ /**
1586
+ * Tells Tivio which technologies/protocols etc. is the device capable to play.
1587
+ * If not provided, Tivio will try to guess it (based on the browser).
1588
+ */
1589
+ deviceCapabilities?: PlayerCapability[];
1590
+ /**
1591
+ * Additional options for deviceCapabilities
1592
+ */
1593
+ capabilitiesOptions?: {
1594
+ /**
1595
+ * Should the player prefer HTTP sources instead HTTPs if they are available.
1596
+ * This can be used on platforms that support mixed content but do not support
1597
+ * specific HTTPS certificates. (e.g. certificates from Letsencrypt not supported on LG TVs)
1598
+ */
1599
+ preferHttp?: boolean;
1600
+ };
1601
+ secret: string;
1602
+ language: LangCode;
1603
+ debug?: boolean;
1604
+ verbose?: boolean;
1605
+ firebaseApp?: any;
1606
+ currency: Currency;
1607
+ /**
1608
+ * Configuration for GDPR consent collection (CMP)
1609
+ */
1610
+ cmp?: CmpConfig;
1611
+ /**
1612
+ * Device information - model, os, version, etc. This is useful for devices
1613
+ * where this information cannot be reliably auto-detected.
1614
+ */
1615
+ deviceInfo?: DeviceInfo;
1616
+ player?: PlayerConfig;
1617
+ }
1618
+
1610
1619
  /**
1611
1620
  * @public
1612
1621
  */
@@ -1618,18 +1627,6 @@ export declare const TivioContext: React_2.Context<RemoteBundleState | null>;
1618
1627
  export declare type TivioGetters = {
1619
1628
  isTivioLoaded: (cb: (isLoaded: boolean) => void) => void;
1620
1629
  isSignedIn: () => boolean;
1621
- /**
1622
- * @deprecated is here only for backward compatibility
1623
- */
1624
- getExportedConfig: () => Promise<{
1625
- showMarkers: true;
1626
- }>;
1627
- /**
1628
- * Get channel by its id.
1629
- * @param channelId - channel id
1630
- * @returns {Promise<Channel | null>} channel or null if channel does not exists
1631
- */
1632
- getChannelById: (channelId: string) => Promise<Channel | null>;
1633
1630
  /**
1634
1631
  * Get (or create) player wrapper instance
1635
1632
  * @param opt - player getter options
@@ -1639,24 +1636,12 @@ export declare type TivioGetters = {
1639
1636
  playerWrapperId?: string;
1640
1637
  }) => any;
1641
1638
  getOrganizationSubscriptions: () => Promise<Monetization[] | undefined>;
1642
- /**
1643
- * Get section by its id.
1644
- * @param sectionId - section id
1645
- * @returns {Promise<{section: Section, channel: Channel} | null>} section and channel or null if channel or section does not exists
1646
- */
1647
- getSectionById: (sectionId: string) => Promise<Section | null>;
1648
1639
  /**
1649
1640
  * Get video by its id.
1650
1641
  * @param videoId - video id
1651
1642
  * @returns {Promise<Video | null>} video or null if video does not exists
1652
1643
  */
1653
1644
  getVideoById: (videoId: string) => Promise<Video | null>;
1654
- /**
1655
- * Get widget by its id.
1656
- * @param widgetId - widget id
1657
- * @returns {Promise<Widget | null>} widget or null if widget does not exists
1658
- */
1659
- getWidgetById: (widgetId: string) => Promise<Widget | null>;
1660
1645
  /**
1661
1646
  * Get player capabilities based on user's browser and OS as resolved by Tivio.
1662
1647
  * @returns PlayerCapability[]
@@ -1697,10 +1682,6 @@ export declare type TivioHooks = {
1697
1682
  error: string | null;
1698
1683
  };
1699
1684
  useVoucher: (voucherId: string) => any;
1700
- /**
1701
- * @deprecated will be removed in version
1702
- */
1703
- useLastVideoByWidgetId: (widgetId: string) => Video | null;
1704
1685
  useWatchWithoutAdsOffer: () => {
1705
1686
  canPurchaseWatchWithoutAds: boolean;
1706
1687
  showPurchaseDialog: () => void;
@@ -1795,10 +1776,44 @@ export declare type TivioProviderProps = {
1795
1776
  /**
1796
1777
  * This prop must be set only once and not change value afterwards
1797
1778
  */
1798
- conf: Config | undefined | null;
1779
+ conf: SdkReactConfig | undefined | null;
1799
1780
  children: React_2.ReactNode;
1800
1781
  };
1801
1782
 
1783
+ /**
1784
+ * @public
1785
+ */
1786
+ export declare type TivioReactBundle = {
1787
+ init: (config: TivioConfig) => void | Promise<void>;
1788
+ components: TivioComponents;
1789
+ getters: TivioGetters;
1790
+ auth: TivioAuth;
1791
+ hooks: TivioHooks;
1792
+ sources: TivioSources;
1793
+ subscriptions: TivioSubscriptions;
1794
+ purchaseVideoWithQerko: (videoId: string, monetizationId: string, voucher?: {
1795
+ expirationDate: Date;
1796
+ }) => Promise<QerkoPaymentInfo>;
1797
+ purchaseSubscriptionWithQerko: (monetizationId: string, voucher?: {
1798
+ expirationDate: Date;
1799
+ }) => Promise<QerkoPaymentInfo>;
1800
+ cancelSubscriptionWithQerko: (subscriptionId: string) => Promise<QerkoCancellationInfo>;
1801
+ /**
1802
+ * Set tivio language.
1803
+ * @param language
1804
+ */
1805
+ setLanguage: (language: LangCode) => void;
1806
+ setUser: (userId: string | null, userPayload?: UserPayload) => Promise<void>;
1807
+ showConsentPreferences: () => void;
1808
+ /**
1809
+ * Contains hooks and providers for internal usages.
1810
+ * 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)
1811
+ * TODO should not be the part of public API
1812
+ */
1813
+ internal: TivioInternalBundle;
1814
+ destroy: () => Promise<void>;
1815
+ };
1816
+
1802
1817
  /**
1803
1818
  * @public
1804
1819
  */
@@ -1814,61 +1829,12 @@ export declare type TivioSources = {
1814
1829
  */
1815
1830
  export declare type TivioSubscriptions = {
1816
1831
  subscribeToUser: (cb: (error: string | null, user: User | null) => void) => void;
1817
- /**
1818
- * Listen to widget changes.
1819
- * @param widgetId - widget id
1820
- * @param cb - callback on widget updates or on error
1821
- */
1822
- subscribeToWidget: (widgetId: string, cb: (error: Error | null, data: Widget | null, disposer?: Disposer_2) => void) => void;
1823
- /**
1824
- * Listen to channel changes.
1825
- * @param channelId - channel id
1826
- * @param cb - callback on channel updates or on error
1827
- */
1828
- subscribeToChannel: (channelId: string, cb: (error: Error | null, data: Channel | null) => void) => void;
1829
- /**
1830
- * Listen to section changes.
1831
- * @param sectionId - section id
1832
- * @param cb - callback on section updates or on error
1833
- */
1834
- subscribeToSection: (sectionId: string, cb: (error: Error | null, data: Section | null) => void) => void;
1835
1832
  /**
1836
1833
  * Listen to video changes.
1837
1834
  * @param videoId - video id
1838
1835
  * @param cb - callback on video updates or on error
1839
1836
  */
1840
1837
  subscribeToVideo: (videoId: string, cb: (error: Error | null, data: Video | null, disposer?: Disposer_2) => void) => void;
1841
- /**
1842
- * Listen to videos in section changes.
1843
- * @param sectionId - section id
1844
- * @param cb - callback on videos change or error
1845
- * @param limit - videos count
1846
- */
1847
- subscribeToVideosInSection: (sectionId: string, cb: (error: null | Error, data: null | {
1848
- videos: Video[];
1849
- hasNextPage: boolean;
1850
- }, fetchMore: null | ((count?: number) => void), isLoading: boolean) => void, limit?: number) => void;
1851
- /**
1852
- * Listen to section in channel changes
1853
- * @param channelId - channel id
1854
- * @param cb - callback on sections change or error
1855
- * @param limit - sections count
1856
- */
1857
- subscribeToSectionsInChannel: (channelId: string, cb: (error: null | Error, data: null | {
1858
- sections: Section[];
1859
- hasNextPage: boolean;
1860
- }, fetchMore: null | ((count?: number) => void), isLoading: boolean) => void, limit?: number) => void;
1861
- /**
1862
- * Listen to channels in widget changes
1863
- * @param widgetId - widget id
1864
- * @param cb - callback on channels change or error
1865
- * @param limit - channels count
1866
- */
1867
- subscribeToChannelsInWidget: (widgetId: string, cb: (error: null | Error, data: null | {
1868
- channels: Channel[];
1869
- hasNextPage: boolean;
1870
- }, fetchMore: null | ((count?: number) => void), isLoading: boolean) => void, limit?: number) => void;
1871
- subscribeToScreen: SubscribeToScreen;
1872
1838
  subscribeToItemsInRow: SubscribeToItemsInRow;
1873
1839
  subscribeToRowsInScreen: SubscribeToRowsInScreen;
1874
1840
  subscribeToTaggedVideos: SubscribeToTaggedVideos;
@@ -1927,6 +1893,15 @@ export declare interface TivioWidgetRef {
1927
1893
  });
1928
1894
  }
1929
1895
 
1896
+ /**
1897
+ * @public
1898
+ */
1899
+ export declare type TizenDeviceInfo = {
1900
+ type: 'tizen';
1901
+ model?: string;
1902
+ osVersion?: string;
1903
+ };
1904
+
1930
1905
  declare type TransactionInfo = {
1931
1906
  type: 'transaction';
1932
1907
  name: string;
@@ -2029,28 +2004,6 @@ export declare type UseCancelSubscription = (subscriptionId: string) => {
2029
2004
  */
2030
2005
  export declare const useCancelSubscription: UseCancelSubscription;
2031
2006
 
2032
- /**
2033
- * Use channel
2034
- * @param channelId - channel id
2035
- * @public
2036
- */
2037
- export declare const useChannel: (channelId: string) => {
2038
- error: string | null;
2039
- data: Channel | null;
2040
- };
2041
-
2042
- /**
2043
- * Use channels in widget
2044
- * @param widgetId - widget id
2045
- * @param [limit] - channels count, defaults to 10
2046
- * @public
2047
- */
2048
- export declare const useChannelsInWidget: (widgetId: string, limit?: number) => {
2049
- error: Error | null;
2050
- data: PaginationData<Channel> | null;
2051
- isLoading: boolean;
2052
- };
2053
-
2054
2007
  /**
2055
2008
  * @public
2056
2009
  */
@@ -2064,13 +2017,6 @@ export declare type UseChannelSource = (tvChannelId: string) => {
2064
2017
  */
2065
2018
  export declare const useCurrentMarker: () => Marker | null;
2066
2019
 
2067
- /**
2068
- * @public
2069
- */
2070
- export declare const useFreePurchase: () => {
2071
- purchase: (monetizationId: string) => Promise<void>;
2072
- };
2073
-
2074
2020
  /**
2075
2021
  * @public
2076
2022
  */
@@ -2101,12 +2047,6 @@ export declare const useItemsInRow: (rowId: string, options?: SubscribeToItemsIn
2101
2047
  error: Error | null;
2102
2048
  };
2103
2049
 
2104
- /**
2105
- * @deprecated will be removed in v4
2106
- * @public
2107
- */
2108
- export declare function useLastVideoByWidgetId(widgetId: string): Video | null;
2109
-
2110
2050
  /**
2111
2051
  * @public
2112
2052
  */
@@ -2198,16 +2138,6 @@ export declare enum UserType {
2198
2138
  TIVIO_USER = "TIVIO_USER"
2199
2139
  }
2200
2140
 
2201
- /**
2202
- * @deprecated
2203
- *
2204
- * Use app screen
2205
- * @param screenId - screen ID
2206
- * @param options - subscribe to screen options
2207
- * @public
2208
- */
2209
- export declare const useScreen: (screenId: string, options?: ScreenOptions | undefined) => never;
2210
-
2211
2141
  /**
2212
2142
  * @public
2213
2143
  */
@@ -2239,28 +2169,6 @@ export declare type UseSearchOptions = PaginationOptions & Partial<{
2239
2169
  */
2240
2170
  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;
2241
2171
 
2242
- /**
2243
- * Use section
2244
- * @param sectionId - section id
2245
- * @public
2246
- */
2247
- export declare const useSection: (sectionId: string) => {
2248
- error: string | null;
2249
- data: Section | null;
2250
- };
2251
-
2252
- /**
2253
- * Use section in channel
2254
- * @param channelId - channel id
2255
- * @param [limit] - sections count, defaults to 10
2256
- * @public
2257
- */
2258
- export declare const useSectionsInChannel: (channelId: string, limit?: number) => {
2259
- error: Error | null;
2260
- data: PaginationData<Section> | null;
2261
- isLoading: boolean;
2262
- };
2263
-
2264
2172
  /**
2265
2173
  * @public
2266
2174
  */
@@ -2320,18 +2228,6 @@ export declare const useVideo: (videoId?: string | undefined) => {
2320
2228
  error: string | null;
2321
2229
  };
2322
2230
 
2323
- /**
2324
- * Use videos in section
2325
- * @param sectionId - section id
2326
- * @param [limit] - videos count, defaults to 10
2327
- * @public
2328
- */
2329
- export declare const useVideosInSection: (sectionId?: string | undefined, limit?: number) => {
2330
- error: Error | null;
2331
- data: PaginationData<Video> | null;
2332
- isLoading: boolean;
2333
- };
2334
-
2335
2231
  /**
2336
2232
  * @public
2337
2233
  */
@@ -2357,16 +2253,6 @@ export declare const useWatchWithoutAdsOffer: () => {
2357
2253
  showPurchaseDialog: () => void;
2358
2254
  };
2359
2255
 
2360
- /**
2361
- * Use widget
2362
- * @param widgetId - widget id
2363
- * @public
2364
- */
2365
- export declare const useWidget: (widgetId: string) => {
2366
- error: string;
2367
- widget: Widget | null;
2368
- };
2369
-
2370
2256
  /**
2371
2257
  * @public
2372
2258
  */
@@ -2492,11 +2378,6 @@ export declare interface VideoExternals {
2492
2378
 
2493
2379
  declare type VideoPath = string;
2494
2380
 
2495
- /**
2496
- * @public
2497
- */
2498
- export declare const VideosContext: React_2.Context<DataState<Video>>;
2499
-
2500
2381
  /**
2501
2382
  * Video type.
2502
2383
  * @public
@@ -2557,6 +2438,15 @@ declare type Voucher = {
2557
2438
  voucherInfo: SubscriptionInfo | TransactionInfo;
2558
2439
  };
2559
2440
 
2441
+ /**
2442
+ * @public
2443
+ */
2444
+ export declare type WebosDeviceInfo = {
2445
+ type: 'webos';
2446
+ model?: string;
2447
+ osVersion?: string;
2448
+ };
2449
+
2560
2450
  /**
2561
2451
  * @public
2562
2452
  */