@tivio/sdk-react 3.6.2 → 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
@@ -1,11 +1,10 @@
1
1
  import { ComponentType } from 'react';
2
- import { default as firebase_2 } from 'firebase';
3
- import type { default as firebase_3 } from 'firebase/app';
4
2
  import { FunctionComponentElement } from 'react';
5
- import { OrderByDirection } from '@firebase/firestore-types';
6
3
  import { default as React_2 } from 'react';
7
- import { WhereFilterOp } from '@firebase/firestore-types';
8
4
 
5
+ /**
6
+ * @public
7
+ */
9
8
  export declare interface AdExternal {
10
9
  /**
11
10
  * Can user seek out of it?
@@ -58,6 +57,9 @@ declare type AdSegment = {
58
57
  skip: () => any;
59
58
  };
60
59
 
60
+ /**
61
+ * @public
62
+ */
61
63
  export declare type AdSource = {
62
64
  new (uri: string, name: string, description: string, skipDelayMs: number | null, adDurationMs: number, trackingContext?: any, // internal Tivio types
63
65
  adMarker?: any, // internal Tivio types
@@ -94,8 +96,6 @@ export declare type AdSource = {
94
96
  };
95
97
 
96
98
  /**
97
- * Index names in Algolia search engine.
98
- *
99
99
  * @public
100
100
  */
101
101
  export declare enum ALGOLIA_INDEX_NAME {
@@ -106,14 +106,31 @@ 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
+
117
+ /**
118
+ * @public
119
+ */
109
120
  export declare interface Asset {
110
121
  background: string;
111
122
  }
112
123
 
124
+ /**
125
+ * @public
126
+ */
113
127
  export declare type Assets = {
114
128
  [assetName: string]: ScalableAsset;
115
129
  };
116
130
 
131
+ /**
132
+ * @public
133
+ */
117
134
  export declare type AuthOverlayPayload = {
118
135
  prefilledData?: {
119
136
  email: string;
@@ -125,6 +142,9 @@ export declare type AuthOverlayPayload = {
125
142
  redirectAfterSubmit?: ((...args: any[]) => void) | null;
126
143
  };
127
144
 
145
+ /**
146
+ * @public
147
+ */
128
148
  export declare type AuthOverlayState = {
129
149
  type: AuthOverlayType;
130
150
  closeAuthOverlay: () => void;
@@ -132,24 +152,39 @@ export declare type AuthOverlayState = {
132
152
  payload?: AuthOverlayPayload | null;
133
153
  };
134
154
 
155
+ /**
156
+ * @public
157
+ */
135
158
  export declare type AuthOverlayType = 'login' | 'registration' | 'closed' | 'reset-password';
136
159
 
160
+ /**
161
+ * @public
162
+ */
137
163
  export declare interface AvailableSeason {
138
164
  seasonNumber: number;
139
165
  }
140
166
 
167
+ /**
168
+ * @public
169
+ */
141
170
  export declare type AvatarProps = {
142
171
  cover?: string;
143
172
  isLoading?: boolean;
144
173
  size?: number;
145
174
  };
146
175
 
176
+ /**
177
+ * @public
178
+ */
147
179
  export declare type BadRequestError = Error & {
148
180
  details?: {
149
181
  reason?: 'DOES_NOT_EXIST' | 'EXPIRED' | 'ALREADY_USED';
150
182
  };
151
183
  };
152
184
 
185
+ /**
186
+ * @public
187
+ */
153
188
  export declare type BannerProps = {
154
189
  isLoading: boolean;
155
190
  text: string;
@@ -157,10 +192,11 @@ export declare type BannerProps = {
157
192
  onClick?: () => void;
158
193
  hoverable: boolean;
159
194
  broadcastInfo: string;
195
+ height: number;
160
196
  coverPadding: CoverPadding;
161
197
  cover: string;
162
198
  fullWidth: boolean;
163
- height: number;
199
+ coverContainerPaddingTop: string;
164
200
  width: number;
165
201
  overlay: boolean;
166
202
  price: string;
@@ -169,8 +205,14 @@ export declare type BannerProps = {
169
205
  onButtonClick?: () => void;
170
206
  };
171
207
 
208
+ /**
209
+ * @public
210
+ */
172
211
  export declare type BannerPropsPartial = Partial<BannerProps>;
173
212
 
213
+ /**
214
+ * @public
215
+ */
174
216
  export declare type BetOffer = {
175
217
  betService: string;
176
218
  league: string;
@@ -186,9 +228,18 @@ export declare type BetOffer = {
186
228
 
187
229
  /**
188
230
  * rejects when bundle is not available
231
+ * @public
189
232
  */
190
233
  export declare const bundlePromise: Promise<RemoteBundleState>;
191
234
 
235
+ /**
236
+ * @public
237
+ */
238
+ export declare type Callback<T = any> = (arg?: T) => void;
239
+
240
+ /**
241
+ * @public
242
+ */
192
243
  export declare interface Channel {
193
244
  id: string;
194
245
  name: string;
@@ -197,8 +248,9 @@ export declare interface Channel {
197
248
  recentVideos: Video[];
198
249
  }
199
250
 
200
- export declare const ChannelsContext: React_2.Context<DataState<Channel>>;
201
-
251
+ /**
252
+ * @public
253
+ */
202
254
  export declare type ChannelSource = {
203
255
  new (uri: string, originalOptions: Record<string, any>, channelName: string, programName: string, programDescription: string, from: Date, to: Date): ChannelSource;
204
256
  description: string;
@@ -213,6 +265,9 @@ export declare type ChannelSource = {
213
265
  } | null;
214
266
  };
215
267
 
268
+ /**
269
+ * @public
270
+ */
216
271
  export declare interface ChannelSourcePojo {
217
272
  type: 'ChannelSource';
218
273
  uri: string;
@@ -225,17 +280,26 @@ export declare interface ChannelSourcePojo {
225
280
  poster?: string;
226
281
  }
227
282
 
283
+ /**
284
+ * @public
285
+ */
228
286
  export declare type Chapter = any;
229
287
 
230
- export declare type Config = Pick<InternalConfig, 'bundleUrlOverride' | 'currency' | 'disableUnmounting' | 'capabilitiesOptions' | 'enable' | 'enableSentry' | 'ErrorComponent' | 'language' | 'LoaderComponent' | 'logger' | 'secret' | 'verbose' | 'forceCloudFnResolver'> & {
231
- deviceCapabilities: PlayerCapability[] | 'auto';
232
- /**
233
- * @private
234
- * Run HTML, CSS and JS feature support check
235
- */
236
- runFeatureSupportCheck?: boolean;
237
- };
288
+ /**
289
+ * @public
290
+ */
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;
238
298
 
299
+ /**
300
+ * @public
301
+ * @TODO move somewhere else
302
+ */
239
303
  export declare type CoverPadding = {
240
304
  top?: number;
241
305
  bottom?: number;
@@ -243,21 +307,40 @@ export declare type CoverPadding = {
243
307
  right?: number;
244
308
  };
245
309
 
310
+ /**
311
+ * @public
312
+ */
246
313
  export declare const createPubSub: () => PubSub;
247
314
 
248
315
  /**
249
316
  * Fetch & load CommonJS remote module.
317
+ * @public
250
318
  */
251
319
  export declare const createRemotePackageLoader: () => (secret: string, conf: InternalConfig) => Promise<TivioBundle>;
252
320
 
321
+ /**
322
+ * @public
323
+ */
253
324
  export declare const createUseRemoteBundle: () => (conf: InternalConfig) => RemoteBundleState;
254
325
 
255
- export declare type CreateUserWithEmailAndPassword = (email: string, password: string, username?: string, referralToken?: string) => Promise<string | null>;
326
+ /**
327
+ * @public
328
+ */
329
+ export declare type CreateUserWithEmailAndPassword = (email: string, password: string, username?: string, phoneNumber?: string, referralToken?: string) => Promise<string | null>;
256
330
 
331
+ /**
332
+ * @public
333
+ */
257
334
  export declare const CURRENCIES: string[];
258
335
 
336
+ /**
337
+ * @public
338
+ */
259
339
  export declare type Currency = 'CZK' | 'EUR' | 'USD';
260
340
 
341
+ /**
342
+ * @public
343
+ */
261
344
  export declare enum CUSTOMER_BUILD {
262
345
  OKTAGON = "OKTAGON",
263
346
  JOJ = "JOJ",
@@ -267,53 +350,82 @@ export declare enum CUSTOMER_BUILD {
267
350
  INVESTOREES = "INVESTOREES"
268
351
  }
269
352
 
270
- declare interface DataState<T> {
271
- data: {
272
- [key: string]: HookData<T>;
273
- };
274
- setData: (key: string, data: HookData<T>) => void;
275
- }
276
-
353
+ /**
354
+ * @public
355
+ */
277
356
  export declare const DEFAULT_ORDER_BY: {
278
357
  field: DefaultOrderByField;
279
358
  directionStr: OrderByDirection;
280
359
  }[];
281
360
 
361
+ /**
362
+ * @public
363
+ */
282
364
  export declare type DefaultOrderByField = 'created';
283
365
 
366
+ /**
367
+ * @public
368
+ */
284
369
  export declare type DetailedPrice = {
285
370
  amount: number;
286
371
  currency: Currency;
287
372
  frequency?: MONETIZATION_FREQUENCY;
288
373
  };
289
374
 
375
+ /**
376
+ * @public
377
+ */
378
+ export declare type DeviceInfo = ArrisDeviceInfo | WebosDeviceInfo | TizenDeviceInfo;
379
+
380
+ /**
381
+ * @public
382
+ */
290
383
  export declare type Disposer = () => void;
291
384
 
385
+ /**
386
+ * @public
387
+ */
292
388
  declare type Disposer_2 = () => void;
293
389
 
390
+ /**
391
+ * @public
392
+ */
294
393
  export declare type DividerProps = {
295
394
  verticalSpacing?: number;
296
395
  horizontalSpacing?: number;
297
396
  };
298
397
 
398
+ /**
399
+ * @public
400
+ */
299
401
  export declare type DocumentOptions = Partial<{
300
402
  lazyLoading: boolean;
301
403
  subscribeOnChanges: boolean;
302
404
  }>;
303
405
 
406
+ /**
407
+ * @public
408
+ */
304
409
  export declare type Empty = void | Promise<void> | undefined | Promise<undefined>;
305
410
 
411
+ /**
412
+ * @public
413
+ */
306
414
  export declare type Events = {
307
415
  'on-ready': RemoteBundleState;
308
416
  'on-error': Error;
309
417
  };
310
418
 
419
+ /**
420
+ * @public
421
+ */
311
422
  export declare type ExternalTvConfig = {
312
423
  logo: string;
313
424
  };
314
425
 
315
426
  /**
316
427
  * @throws if fetch fails
428
+ * @public
317
429
  */
318
430
  export declare const fetchBundle: (secret: string, conf: InternalConfig) => Promise<string>;
319
431
 
@@ -323,6 +435,9 @@ export declare const fetchBundle: (secret: string, conf: InternalConfig) => Prom
323
435
  */
324
436
  declare type FetchPackage = (url: string) => Promise<string>;
325
437
 
438
+ /**
439
+ * @public
440
+ */
326
441
  export declare interface GenericOnCallError {
327
442
  code: string;
328
443
  message?: string;
@@ -331,20 +446,21 @@ export declare interface GenericOnCallError {
331
446
 
332
447
  /**
333
448
  * Share singleton instance
449
+ * @public
334
450
  */
335
451
  export declare const getPubSub: () => PubSub;
336
452
 
337
- declare interface HookData<T> {
338
- data: PaginationData<T> | null;
339
- error: Error | null;
340
- isLoading: boolean;
341
- }
342
-
453
+ /**
454
+ * @public
455
+ */
343
456
  export declare interface IndexedObject {
344
457
  objectID: string;
345
458
  path: string;
346
459
  }
347
460
 
461
+ /**
462
+ * @public
463
+ */
348
464
  export declare interface IndexedTag extends IndexedObject {
349
465
  tagId: string;
350
466
  tagTypePath?: string;
@@ -354,6 +470,9 @@ export declare interface IndexedTag extends IndexedObject {
354
470
  description?: string;
355
471
  }
356
472
 
473
+ /**
474
+ * @public
475
+ */
357
476
  export declare interface IndexedTvChannel extends IndexedObject {
358
477
  channelKey: string;
359
478
  created: Date;
@@ -362,6 +481,9 @@ export declare interface IndexedTvChannel extends IndexedObject {
362
481
  organizationPath: string;
363
482
  }
364
483
 
484
+ /**
485
+ * @public
486
+ */
365
487
  export declare interface IndexedUser extends IndexedObject {
366
488
  authUserId: string;
367
489
  type: string;
@@ -370,6 +492,9 @@ export declare interface IndexedUser extends IndexedObject {
370
492
  organizationPath?: string;
371
493
  }
372
494
 
495
+ /**
496
+ * @public
497
+ */
373
498
  export declare interface IndexedVideo extends IndexedObject {
374
499
  organizationPath?: string;
375
500
  tagPaths?: string[];
@@ -384,54 +509,40 @@ export declare interface IndexedVideo extends IndexedObject {
384
509
  externals?: VideoExternals;
385
510
  }
386
511
 
512
+ /**
513
+ * @public
514
+ */
387
515
  export declare type InputSource = AdSource | ChannelSource | VodTivioSource | VodExternalSource;
388
516
 
389
- export declare type InternalConfig = {
390
- /**
391
- * @private URL of remote code bundle to be fetched directly (without using resolver)
392
- */
393
- bundleUrlOverride?: string;
394
- currency: Currency;
395
- /**
396
- * Tells Tivio which technologies/protocols etc. is the device capable to play.
397
- * If not provided, Tivio will try to guess it (based on the browser).
398
- */
399
- deviceCapabilities: PlayerCapability[];
400
- /**
401
- * Additional options for deviceCapabilities
402
- */
403
- capabilitiesOptions?: {
404
- /**
405
- * Should the player prefer HTTP sources instead HTTPs if they are available.
406
- * This can be used on platforms that support mixed content but do not support
407
- * specific HTTPS certificates. (e.g. certificates from Letsencrypt not supported on LG TVs)
408
- */
409
- preferHttp?: boolean;
410
- };
411
- disableUnmounting?: boolean;
412
- enable?: boolean;
413
- enableSentry?: boolean;
414
- ErrorComponent?: ComponentType<{
415
- error: string | null;
416
- }>;
517
+ /**
518
+ * @public
519
+ */
520
+ export declare type InternalConfig = SdkReactConfig & {
417
521
  fetchPackage: FetchPackage;
418
- language?: LangCode;
419
- LoaderComponent?: ComponentType;
420
- logger?: Logger | null;
421
522
  pubSub: PubSub;
422
523
  /**
423
524
  * @private URL of resolver. Resolver is a script used to fetch remove code bundle
424
525
  */
425
526
  resolverUrl: string;
426
527
  sdkVersion: string;
427
- secret: string | null;
428
- verbose?: boolean;
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;
429
537
  /**
430
538
  * @private
431
539
  */
432
540
  forceCloudFnResolver?: boolean;
433
541
  };
434
542
 
543
+ /**
544
+ * @public
545
+ */
435
546
  export declare type InternalTvConfig = {
436
547
  logo: string;
437
548
  screens: ScreenConfig[];
@@ -442,10 +553,14 @@ declare interface IntroMarker {
442
553
  skip: () => void;
443
554
  }
444
555
 
556
+ /**
557
+ * @public
558
+ */
445
559
  export declare type ItemsInRow = Tag | Video | TvChannel;
446
560
 
447
561
  /**
448
562
  * Enum of all supported languages codes as in ISO 639-1
563
+ * @public
449
564
  */
450
565
  export declare enum LangCode {
451
566
  CS = "cs",
@@ -459,14 +574,19 @@ export declare enum LangCode {
459
574
 
460
575
  /**
461
576
  * All supported languages codes as in ISO 639-1
577
+ * @public
462
578
  */
463
579
  export declare const languages: LangCode[];
464
580
 
465
581
  /**
466
582
  * Possible language key of all supported language mutations.
583
+ * @public
467
584
  */
468
585
  export declare type LanguageType = `${LangCode}`;
469
586
 
587
+ /**
588
+ * @public
589
+ */
470
590
  export declare type LinkedVideo = {
471
591
  video: Video;
472
592
  type: 'CUT' | 'TRAILER' | 'BONUS' | 'CHILD';
@@ -491,6 +611,9 @@ declare interface Logger {
491
611
  */
492
612
  declare type LoggerArgs = any[];
493
613
 
614
+ /**
615
+ * @public
616
+ */
494
617
  export declare type Marker = {
495
618
  id: string;
496
619
  type: string;
@@ -501,17 +624,24 @@ export declare type Marker = {
501
624
  toMs?: number;
502
625
  };
503
626
 
627
+ /**
628
+ * @public
629
+ */
504
630
  export declare interface Monetization {
505
631
  id: string;
506
632
  price?: string | number;
507
633
  type?: MonetizationType;
508
634
  frequency?: MONETIZATION_FREQUENCY;
635
+ isPurchased?: boolean;
509
636
  name?: string;
510
637
  description?: string;
511
638
  benefits?: Translation[];
512
639
  localizedBenefits?: string[];
513
640
  }
514
641
 
642
+ /**
643
+ * @public
644
+ */
515
645
  export declare enum MONETIZATION_FREQUENCY {
516
646
  ONE_TIME_PAYMENT = "ONE_TIME_PAYMENT",
517
647
  DAILY = "DAILY",
@@ -520,35 +650,53 @@ export declare enum MONETIZATION_FREQUENCY {
520
650
  ANNUALLY = "ANNUALLY"
521
651
  }
522
652
 
653
+ /**
654
+ * @public
655
+ * @TODO change to enum
656
+ */
523
657
  export declare type MonetizationType = 'advertisement' | 'transaction' | 'subscription';
524
658
 
525
659
  /**
526
660
  * TODO: Duplicate, because we can't import types from core-js.
527
661
  */
662
+ /**
663
+ * @public
664
+ */
528
665
  export declare type NewVoucher = {
529
666
  expirationDate: Date | number;
530
667
  };
531
668
 
669
+ /**
670
+ * @public
671
+ */
532
672
  export declare type Nullable<T> = {
533
673
  [P in keyof T]: T[P] | null;
534
674
  };
535
675
 
676
+ /**
677
+ * @public
678
+ */
536
679
  export declare type ObjectType = Record<string, any>;
537
680
 
681
+ /**
682
+ * @public
683
+ */
538
684
  export declare interface OrderBy {
539
685
  field: string;
540
686
  directionStr?: OrderByDirection;
541
687
  }
542
688
 
689
+ declare type OrderByDirection = 'desc' | 'asc';
690
+
691
+ /**
692
+ * @public
693
+ */
543
694
  export declare interface Organization {
544
695
  }
545
696
 
546
- declare type PaginationData<T> = {
547
- items: T[];
548
- hasNextPage: boolean;
549
- fetchMore: Function;
550
- };
551
-
697
+ /**
698
+ * @public
699
+ */
552
700
  export declare type PaginationInterface<Entity> = {
553
701
  items: Entity[];
554
702
  fetchMore: () => void;
@@ -556,23 +704,83 @@ export declare type PaginationInterface<Entity> = {
556
704
  loading?: boolean;
557
705
  };
558
706
 
707
+ /**
708
+ * @public
709
+ */
559
710
  export declare type PaginationOptions = Partial<{
560
711
  limit: number;
561
712
  noLimit: boolean;
562
713
  }>;
563
714
 
715
+ /**
716
+ * @public
717
+ */
564
718
  export declare enum PLATFORM {
565
719
  MOBILE = "MOBILE",
566
720
  WEB = "WEB",
567
721
  TV = "TV"
568
722
  }
569
723
 
724
+ /**
725
+ * @public
726
+ */
570
727
  export declare interface PlayerCapability {
571
728
  codec: 'h264' | 'h265';
572
729
  encryption: 'fairplay' | 'none' | 'playready' | 'widevine';
573
- protocol: 'dash' | 'hls';
730
+ protocol: 'dash' | 'hls' | 'mp4';
574
731
  }
575
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
+
781
+ /**
782
+ * @public
783
+ */
576
784
  export declare interface PlayerInterface {
577
785
  pause: () => void;
578
786
  /**
@@ -602,8 +810,14 @@ export declare interface PlayerInterface {
602
810
  unmute?: () => void;
603
811
  }
604
812
 
813
+ /**
814
+ * @public
815
+ */
605
816
  export declare const PlayerProvider: ({ children, playerWrapperId, }: PlayerProviderProps) => FunctionComponentElement<PlayerProviderProps>;
606
817
 
818
+ /**
819
+ * @public
820
+ */
607
821
  export declare type PlayerProviderProps = {
608
822
  children: React_2.ReactNode;
609
823
  playerWrapperId?: string;
@@ -611,6 +825,9 @@ export declare type PlayerProviderProps = {
611
825
 
612
826
  declare type PlayerState = 'playing' | 'paused' | 'idle';
613
827
 
828
+ /**
829
+ * @public
830
+ */
614
831
  export declare type PlayerWrapper = {
615
832
  /**
616
833
  * Report that playback of video has finished
@@ -689,34 +906,51 @@ export declare type PlayerWrapper = {
689
906
  toggleMuted: () => void;
690
907
  };
691
908
 
909
+ /**
910
+ * @public
911
+ */
692
912
  export declare interface PubSub {
693
913
  publish: <K extends keyof Events>(triggerName: K, payload: Events[K]) => Empty;
694
914
  subscribe: <K extends keyof Events>(triggerName: K, onMessage: (data: Events[K]) => Empty) => Disposer;
695
915
  }
696
916
 
917
+ /**
918
+ * @public
919
+ */
697
920
  export declare type Purchase = {
921
+ /**
922
+ * Timestamp of the purchase creation in milliseconds.
923
+ */
924
+ created: number | null;
925
+ expirationDate: Date | null;
698
926
  id: string;
927
+ isExpired: boolean;
699
928
  isPurchased: boolean;
700
- monetizationRef: firebase_3.firestore.DocumentReference | null;
701
929
  monetization: PurchaseMonetization | null;
702
930
  monetizationId: string | null;
703
- type: MonetizationType | null;
704
- videoId: string | null;
931
+ monetizationRef: any | null;
705
932
  status: PurchaseStatus | null;
933
+ type: MonetizationType | null;
934
+ /**
935
+ * Timestamp of the last purchase status update in milliseconds.
936
+ */
937
+ updated: number | null;
706
938
  video: Video | null;
707
- videoRef: firebase_3.firestore.DocumentReference | null;
708
- expirationDate: Date | null;
709
- isExpired: boolean;
939
+ videoId: string | null;
940
+ videoRef: any | null;
710
941
  voucherId?: string;
711
942
  };
712
943
 
944
+ /**
945
+ * @public
946
+ */
713
947
  export declare type PurchaseMonetization = {
714
- currency: Currency;
715
- period: number;
716
- price: number;
948
+ currency?: Currency;
949
+ period?: number;
950
+ price?: number;
717
951
  type: MonetizationType;
718
- title: string;
719
- frequency: MONETIZATION_FREQUENCY | null;
952
+ title?: string;
953
+ frequency?: MONETIZATION_FREQUENCY | null;
720
954
  /**
721
955
  * If set, purchase (subscription) activated by voucher will stay valid for this amount of seconds.
722
956
  * Otherwise, purchase will be valid for one "monetization frequency" period.
@@ -724,18 +958,31 @@ export declare type PurchaseMonetization = {
724
958
  voucherPurchaseDuration?: number;
725
959
  };
726
960
 
961
+ /**
962
+ * @public
963
+ */
727
964
  export declare enum PurchaseStatus {
728
965
  NEW = "NEW",
729
966
  PAID = "PAID",
730
967
  CANCELLED = "CANCELLED",
731
- ERROR = "ERROR"
968
+ ERROR = "ERROR",
969
+ /**
970
+ * Used when purchase is terminated due to terms and conditions violation (e.g. restreaming).
971
+ */
972
+ KILL = "KILL"
732
973
  }
733
974
 
975
+ /**
976
+ * @public
977
+ */
734
978
  export declare interface QerkoCancellationInfo {
735
979
  purchaseId: string;
736
980
  status: PurchaseStatus;
737
981
  }
738
982
 
983
+ /**
984
+ * @public
985
+ */
739
986
  export declare interface QerkoData {
740
987
  monetization: Monetization;
741
988
  video?: Video;
@@ -743,12 +990,18 @@ export declare interface QerkoData {
743
990
  onClose?: () => void;
744
991
  }
745
992
 
993
+ /**
994
+ * @public
995
+ */
746
996
  export declare interface QerkoOverlayState {
747
997
  data: QerkoData | null;
748
998
  openQerkoOverlay: ((data: QerkoData) => void);
749
999
  closeQerkoOverlay: () => void;
750
1000
  }
751
1001
 
1002
+ /**
1003
+ * @public
1004
+ */
752
1005
  export declare interface QerkoPaymentInfo {
753
1006
  webPaymentGatewayLink: string;
754
1007
  gatewayUri: string;
@@ -761,6 +1014,9 @@ export declare interface QerkoPaymentInfo {
761
1014
  monetizationFrequency: MONETIZATION_FREQUENCY;
762
1015
  }
763
1016
 
1017
+ /**
1018
+ * @public
1019
+ */
764
1020
  export declare interface QerkoPaymentProps {
765
1021
  transaction: QerkoTransaction;
766
1022
  qrCodeCaption?: string;
@@ -771,6 +1027,9 @@ export declare interface QerkoPaymentProps {
771
1027
  masterCardLogoUrl?: string;
772
1028
  }
773
1029
 
1030
+ /**
1031
+ * @public
1032
+ */
774
1033
  export declare interface QerkoTransaction {
775
1034
  paymentInfo: QerkoPaymentInfo | null;
776
1035
  paymentError: string | null;
@@ -779,18 +1038,27 @@ export declare interface QerkoTransaction {
779
1038
  voucherId?: string;
780
1039
  }
781
1040
 
1041
+ /**
1042
+ * @public
1043
+ */
782
1044
  export declare type RemoteBundleState = {
783
1045
  config: InternalConfig;
784
1046
  error: string | null;
785
- settings: Settings;
786
1047
  state: 'loading' | 'error' | 'ready';
787
1048
  } & Nullable<TivioBundle>;
788
1049
 
1050
+ /**
1051
+ * @public
1052
+ */
789
1053
  export declare type RemoteProviderProps = {
790
1054
  disableUnmounting?: boolean;
791
1055
  language?: string;
1056
+ children: any;
792
1057
  };
793
1058
 
1059
+ /**
1060
+ * @public
1061
+ */
794
1062
  export declare interface RouterOverrides {
795
1063
  goToVideoDetailPage: (videoId: string) => void;
796
1064
  goToSeriesDetailPage: (tagId: string) => void;
@@ -801,10 +1069,16 @@ export declare interface RouterOverrides {
801
1069
  goVodPlayer: (tvChannelId: string) => void;
802
1070
  }
803
1071
 
1072
+ /**
1073
+ * @public
1074
+ */
804
1075
  export declare interface RouterOverridesContextState {
805
1076
  routerOverrides: RouterOverrides;
806
1077
  }
807
1078
 
1079
+ /**
1080
+ * @public
1081
+ */
808
1082
  export declare interface Row {
809
1083
  id: string;
810
1084
  rowId: string;
@@ -814,19 +1088,29 @@ export declare interface Row {
814
1088
  rowComponent: RowComponent;
815
1089
  assets: Assets;
816
1090
  type: ScreenRowType;
1091
+ isLiveRow: boolean;
817
1092
  }
818
1093
 
1094
+ /**
1095
+ * @public
1096
+ */
819
1097
  export declare enum ROW_ITEM_TYPES {
820
1098
  VIDEO = "VIDEO",
821
1099
  TAG = "TAG",
822
1100
  TV_CHANNEL = "TV_CHANNEL"
823
1101
  }
824
1102
 
1103
+ /**
1104
+ * @public
1105
+ */
825
1106
  export declare enum RowComponent {
826
1107
  ROW = "ROW",
827
1108
  BANNER = "BANNER"
828
1109
  }
829
1110
 
1111
+ /**
1112
+ * @public
1113
+ */
830
1114
  export declare interface RowItem extends RowItemAssets {
831
1115
  itemType: ROW_ITEM_TYPES;
832
1116
  name?: string;
@@ -834,6 +1118,9 @@ export declare interface RowItem extends RowItemAssets {
834
1118
  assets: Assets | null;
835
1119
  }
836
1120
 
1121
+ /**
1122
+ * @public
1123
+ */
837
1124
  export declare interface RowItemAssets {
838
1125
  landscape?: string | null;
839
1126
  portrait?: string | null;
@@ -841,6 +1128,9 @@ export declare interface RowItemAssets {
841
1128
  banner?: string | null;
842
1129
  }
843
1130
 
1131
+ /**
1132
+ * @public
1133
+ */
844
1134
  export declare enum RowItemComponent {
845
1135
  ROW_ITEM_PORTRAIT = "ROW_ITEM_PORTRAIT",
846
1136
  ROW_ITEM_LANDSCAPE = "ROW_ITEM_LANDSCAPE",
@@ -854,20 +1144,30 @@ export declare enum RowItemComponent {
854
1144
  * whether data is loading and a fetchMore function
855
1145
  * @param limit - max item count (default 10)
856
1146
  * @returns Disposer
1147
+ * @public
857
1148
  */
858
1149
  export declare type RowItemsSubscription = (rowId: string, cb: (error: Error | null, data: {
859
1150
  items: Video[];
860
1151
  hasNextPage: boolean;
861
1152
  } | null, fetchMore: null | ((count?: number) => void), isLoading: boolean) => void, limit?: number) => Disposer_2;
862
1153
 
1154
+ /**
1155
+ * @public
1156
+ */
863
1157
  export declare type ScalableAsset = {
864
1158
  '@1': Asset;
865
1159
  '@2'?: Asset;
866
1160
  '@3'?: Asset;
867
1161
  };
868
1162
 
1163
+ /**
1164
+ * @public
1165
+ */
869
1166
  export declare type Scale = '@1' | '@2' | '@3';
870
1167
 
1168
+ /**
1169
+ * @public
1170
+ */
871
1171
  declare interface Screen_2 {
872
1172
  id: string;
873
1173
  name: string;
@@ -877,16 +1177,25 @@ declare interface Screen_2 {
877
1177
  }
878
1178
  export { Screen_2 as Screen }
879
1179
 
1180
+ /**
1181
+ * @public
1182
+ */
880
1183
  export declare type ScreenConfig = {
881
1184
  id: string;
882
1185
  name: string;
883
1186
  };
884
1187
 
1188
+ /**
1189
+ * @public
1190
+ */
885
1191
  export declare type ScreenOptions = Partial<{
886
1192
  language: LangCode;
887
1193
  initRows: boolean;
888
1194
  }> & DocumentOptions;
889
1195
 
1196
+ /**
1197
+ * @public
1198
+ */
890
1199
  export declare type ScreenRowType = 'filter' | 'custom' | 'continueToWatch' | 'favourites';
891
1200
 
892
1201
  /**
@@ -894,9 +1203,32 @@ export declare type ScreenRowType = 'filter' | 'custom' | 'continueToWatch' | 'f
894
1203
  * @param screenId - screen ID (user defined ID via studio.tiv.io)
895
1204
  * @param cb - callback on screen data change or error
896
1205
  * @returns Disposer
1206
+ * @public
897
1207
  */
898
1208
  export declare type ScreenSubscription = (screenId: string, cb: (error: Error | null, data: Screen_2 | null) => void) => Disposer_2;
899
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
+
1229
+ /**
1230
+ * @public
1231
+ */
900
1232
  export declare interface Section {
901
1233
  id: string;
902
1234
  name: string;
@@ -904,19 +1236,11 @@ export declare interface Section {
904
1236
  videos: Video[];
905
1237
  }
906
1238
 
907
- export declare const SectionsContext: React_2.Context<DataState<Section>>;
908
-
909
- export declare type Settings = {
910
- /**
911
- * @deprecated TIV-994 in favour of setUser from libs/sdk-react/src/services/login.ts
912
- */
913
- setUser: (userId: string, userPayload: unknown) => Promise<void>;
914
- };
915
-
916
1239
  /**
917
1240
  * Used for entities, that can be global (e.g. asset presets, tag types).
918
1241
  * Non-global is stored under organizations (in sub-collection), and shown for organization's users and super-admin.
919
1242
  * Global is stored in separate collection and shown only for super-admin.
1243
+ * @public
920
1244
  */
921
1245
  export declare interface SettingsItem {
922
1246
  name: string;
@@ -928,23 +1252,45 @@ export declare interface SettingsItem {
928
1252
  *
929
1253
  * Sign in - setUser('userID', { token: 'xxx' })
930
1254
  * Sign out - setUser(null)
1255
+ * @public
931
1256
  */
932
1257
  export declare const setUser: (userId: string | null, payload?: UserPayload | undefined) => Promise<void>;
933
1258
 
1259
+ /**
1260
+ * @public
1261
+ */
934
1262
  export declare const showGdprConsentPreferences: () => Promise<void>;
935
1263
 
1264
+ /**
1265
+ * @public
1266
+ */
936
1267
  export declare type SubscribeToItemsInRow = (rowId: string, cb: (error: Error | null, data: PaginationInterface<ItemsInRow> | null) => void, options?: SubscribeToItemsInRowOptions) => Disposer_2;
937
1268
 
1269
+ /**
1270
+ * @public
1271
+ */
938
1272
  export declare type SubscribeToItemsInRowOptions = Partial<{
939
1273
  fetchTags: boolean;
940
1274
  }> & PaginationOptions;
941
1275
 
1276
+ /**
1277
+ * @public
1278
+ */
942
1279
  export declare type SubscribeToRowsInScreen = (screenId: string, cb: (error: Error | null, data: PaginationInterface<Row> | null) => void, options?: PaginationOptions) => Disposer_2;
943
1280
 
1281
+ /**
1282
+ * @public
1283
+ */
944
1284
  export declare type SubscribeToScreen = (screenId: string, cb: (error: Error | null, data: Screen_2 | null) => void, options?: ScreenOptions) => Disposer_2;
945
1285
 
1286
+ /**
1287
+ * @public
1288
+ */
946
1289
  export declare type SubscribeToTaggedVideos = (tagIds: string[], cb: (error: Error | null, data: PaginationInterface<Video> | null) => void, options?: SubscribeToTaggedVideosOptions) => Disposer_2;
947
1290
 
1291
+ /**
1292
+ * @public
1293
+ */
948
1294
  export declare type SubscribeToTaggedVideosOptions = SubscribeToItemsInRowOptions & {
949
1295
  orderBy?: (Omit<OrderBy, 'field'> & {
950
1296
  field: TaggedVideosOrderByField;
@@ -952,6 +1298,9 @@ export declare type SubscribeToTaggedVideosOptions = SubscribeToItemsInRowOption
952
1298
  where?: WhereFilter[];
953
1299
  };
954
1300
 
1301
+ /**
1302
+ * @public
1303
+ */
955
1304
  export declare interface SubscriptionCardProps {
956
1305
  subscription: Monetization;
957
1306
  onClick: (subscription: Monetization) => void;
@@ -967,18 +1316,27 @@ declare type SubscriptionInfo = {
967
1316
  frequency: string;
968
1317
  };
969
1318
 
1319
+ /**
1320
+ * @public
1321
+ */
970
1322
  export declare interface SubscriptionOverlayData {
971
1323
  subscriptions?: Monetization[];
972
1324
  onPurchase?: () => void;
973
1325
  onClose?: () => void;
974
1326
  }
975
1327
 
1328
+ /**
1329
+ * @public
1330
+ */
976
1331
  export declare type SubscriptionOverlayState = {
977
1332
  data: SubscriptionOverlayData | null;
978
1333
  closeSubscriptionOverlay: () => void;
979
1334
  openSubscriptionOverlay: (data: SubscriptionOverlayData) => void;
980
1335
  };
981
1336
 
1337
+ /**
1338
+ * @public
1339
+ */
982
1340
  export declare interface Tag extends RowItem {
983
1341
  id: string;
984
1342
  tagId: string;
@@ -992,8 +1350,14 @@ export declare interface Tag extends RowItem {
992
1350
  removeFromFavorites: () => void;
993
1351
  }
994
1352
 
1353
+ /**
1354
+ * @public
1355
+ */
995
1356
  export declare type TaggedVideosOrderByField = 'seasonNumber' | 'episodeNumber' | 'contentType' | DefaultOrderByField;
996
1357
 
1358
+ /**
1359
+ * @public
1360
+ */
997
1361
  export declare type TileProps = {
998
1362
  cover: string;
999
1363
  isLoading: boolean;
@@ -1020,13 +1384,15 @@ export declare type TileProps = {
1020
1384
  containerMargin?: number | string;
1021
1385
  };
1022
1386
 
1387
+ /**
1388
+ * @public
1389
+ */
1023
1390
  export declare type TilePropsPartial = Partial<TileProps>;
1024
1391
 
1392
+ /**
1393
+ * @public
1394
+ */
1025
1395
  export declare interface TivioAuth {
1026
- changePassword: (newPassword: string) => Promise<void>;
1027
- changeUserPhoto(file: File): Promise<void>;
1028
- removeUserPhoto(): Promise<void>;
1029
- getPurchasedVodsWithInitializedVideos: () => Promise<Purchase[]>;
1030
1396
  /**
1031
1397
  * @param email
1032
1398
  * @param password
@@ -1037,59 +1403,35 @@ export declare interface TivioAuth {
1037
1403
  * @param email
1038
1404
  * @param password
1039
1405
  */
1040
- signInWithEmailAndPassword: (email: string, password: string) => Promise<void>;
1041
- initializeUser: () => Promise<void>;
1406
+ signInWithEmailAndPassword: (email: string, password: string) => Promise<string | null>;
1042
1407
  signOut: () => Promise<void>;
1043
1408
  /**
1044
1409
  * Used for reset forgotten password by user
1045
1410
  */
1046
1411
  resetPassword: (email: string) => Promise<void>;
1047
- createFreePurchase: (monetizationId: string) => Promise<void>;
1048
1412
  }
1049
1413
 
1050
- export declare type TivioBundle = {
1051
- components: TivioComponents;
1052
- getters: TivioGetters;
1053
- auth: TivioAuth;
1054
- hooks: TivioHooks;
1055
- init: (config: Config) => void | Promise<void>;
1056
- purchaseVideoWithQerko: (videoId: string, monetizationId: string, voucher?: {
1057
- expirationDate: Date;
1058
- }) => Promise<QerkoPaymentInfo>;
1059
- purchaseSubscriptionWithQerko: (monetizationId: string, voucher?: {
1060
- expirationDate: Date;
1061
- }) => Promise<QerkoPaymentInfo>;
1062
- cancelSubscriptionWithQerko: (subscriptionId: string) => Promise<QerkoCancellationInfo>;
1063
- setLanguage: (language: LangCode) => void;
1064
- setUser: (userId: string | null, userPayload?: UserPayload) => Promise<void>;
1065
- showConsentPreferences: () => void;
1066
- sources: TivioSources;
1067
- subscriptions: TivioSubscriptions;
1068
- internal: {
1069
- components: TivioInternalComponents;
1070
- hooks: TivioInternalHooks;
1071
- providers: TivioInternalProviders;
1072
- };
1073
- };
1414
+ /**
1415
+ * @public
1416
+ */
1417
+ export declare type TivioBundle = TivioReactBundle;
1074
1418
 
1419
+ /**
1420
+ * @public
1421
+ */
1075
1422
  export declare type TivioBundleFile = {
1076
1423
  Tivio: TivioBundle;
1077
1424
  };
1078
1425
 
1426
+ /**
1427
+ * @public
1428
+ */
1079
1429
  export declare type TivioComponents = {
1080
- AdIndicationButtonWeb: React_2.ReactNode;
1081
1430
  Markers: React_2.ReactNode;
1082
1431
  PlayerDataContext: React_2.ReactNode;
1083
1432
  Provider: React_2.ComponentType<RemoteProviderProps>;
1084
- Recommendation: React_2.ReactNode;
1085
- SkipButtonWeb: React_2.ReactNode;
1086
- /**
1087
- * @deprecated will be removed in in @tivio/sdk-react@4
1088
- */
1089
- VideoAdBanner: React_2.ReactNode;
1090
1433
  WebPlayer: React_2.ComponentType<WebPlayerProps>;
1091
1434
  Widget: React_2.ComponentType<TivioWidgetProps>;
1092
- TvPlayer: React_2.ComponentType<WebPlayerProps>;
1093
1435
  PlayerDataContextProvider: React_2.ComponentType<{
1094
1436
  id: string;
1095
1437
  }>;
@@ -1101,6 +1443,7 @@ export declare type TivioComponents = {
1101
1443
  onEnded?: () => any;
1102
1444
  }>;
1103
1445
  TvApp: React_2.ComponentType<TvAppProps>;
1446
+ FeatureSupportCheck: React_2.ComponentType<{}>;
1104
1447
  CustomerScreen: React_2.ComponentType<{
1105
1448
  screenId: string;
1106
1449
  }>;
@@ -1113,22 +1456,63 @@ export declare type TivioComponents = {
1113
1456
  }>;
1114
1457
  WebRow: React_2.ComponentType<WebRowProps>;
1115
1458
  WebTile: React_2.ComponentType<{
1116
- item?: Video | Tag;
1459
+ item?: ItemsInRow;
1117
1460
  } & TilePropsPartial>;
1118
- FeatureSupportCheck: React_2.ComponentType<{}>;
1461
+ AdIndicationButtonWeb: React_2.ReactNode;
1462
+ Recommendation: React_2.ReactNode;
1463
+ SkipButtonWeb: React_2.ReactNode;
1464
+ TvPlayer: React_2.ComponentType<WebPlayerProps>;
1119
1465
  };
1120
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
+
1505
+ /**
1506
+ * @public
1507
+ */
1121
1508
  export declare const TivioContext: React_2.Context<RemoteBundleState | null>;
1122
1509
 
1510
+ /**
1511
+ * @public
1512
+ */
1123
1513
  export declare type TivioGetters = {
1124
- isTivioLoaded: (cb: (isLoaded: boolean) => void) => boolean;
1514
+ isTivioLoaded: (cb: (isLoaded: boolean) => void) => void;
1125
1515
  isSignedIn: () => boolean;
1126
- /**
1127
- * Get channel by its id.
1128
- * @param channelId - channel id
1129
- * @returns {Promise<Channel | null>} channel or null if channel does not exists
1130
- */
1131
- getChannelById: (channelId: string) => Promise<Channel | null>;
1132
1516
  /**
1133
1517
  * Get (or create) player wrapper instance
1134
1518
  * @param opt - player getter options
@@ -1136,27 +1520,14 @@ export declare type TivioGetters = {
1136
1520
  */
1137
1521
  getPlayerWrapper: (opt: {
1138
1522
  playerWrapperId?: string;
1139
- }) => PlayerWrapper;
1140
- getOrganizationScreens: () => Promise<Screen_2[]>;
1523
+ }) => any;
1141
1524
  getOrganizationSubscriptions: () => Promise<Monetization[] | undefined>;
1142
- /**
1143
- * Get section by its id.
1144
- * @param sectionId - section id
1145
- * @returns {Promise<{section: Section, channel: Channel} | null>} section and channel or null if channel or section does not exists
1146
- */
1147
- getSectionById: (sectionId: string) => Promise<Section | null>;
1148
1525
  /**
1149
1526
  * Get video by its id.
1150
1527
  * @param videoId - video id
1151
1528
  * @returns {Promise<Video | null>} video or null if video does not exists
1152
1529
  */
1153
1530
  getVideoById: (videoId: string) => Promise<Video | null>;
1154
- /**
1155
- * Get widget by its id.
1156
- * @param widgetId - widget id
1157
- * @returns {Promise<Widget | null>} widget or null if widget does not exists
1158
- */
1159
- getWidgetById: (widgetId: string) => Promise<Widget | null>;
1160
1531
  /**
1161
1532
  * Get player capabilities based on user's browser and OS as resolved by Tivio.
1162
1533
  * @returns PlayerCapability[]
@@ -1164,6 +1535,9 @@ export declare type TivioGetters = {
1164
1535
  getPlayerCapabilities: () => PlayerCapability[];
1165
1536
  };
1166
1537
 
1538
+ /**
1539
+ * @public
1540
+ */
1167
1541
  export declare type TivioHooks = {
1168
1542
  useAd: () => [(AdSource | null)];
1169
1543
  useAdSegment: () => AdSegment | null;
@@ -1178,6 +1552,8 @@ export declare type TivioHooks = {
1178
1552
  error?: GenericOnCallError;
1179
1553
  purchaseRecovery: (monetizationId: string) => void;
1180
1554
  };
1555
+ useTransactionPayment: (videoId: string, monetizationId: string, voucher?: NewVoucher) => QerkoTransaction;
1556
+ usePurchaseSubscription: (monetizationId: string, voucher?: NewVoucher) => QerkoTransaction;
1181
1557
  useRowsInScreen: (screenId: string, options: PaginationOptions) => {
1182
1558
  pagination: PaginationInterface<Row> | null;
1183
1559
  error: Error | null;
@@ -1192,10 +1568,6 @@ export declare type TivioHooks = {
1192
1568
  error: string | null;
1193
1569
  };
1194
1570
  useVoucher: (voucherId: string) => any;
1195
- /**
1196
- * @deprecated will be removed in version
1197
- */
1198
- useLastVideoByWidgetId: (widgetId: string) => Video | null;
1199
1571
  useWatchWithoutAdsOffer: () => {
1200
1572
  canPurchaseWatchWithoutAds: boolean;
1201
1573
  showPurchaseDialog: () => void;
@@ -1209,6 +1581,18 @@ export declare type TivioHooks = {
1209
1581
  };
1210
1582
  };
1211
1583
 
1584
+ /**
1585
+ * @public
1586
+ */
1587
+ export declare type TivioInternalBundle = {
1588
+ components: TivioInternalComponents;
1589
+ hooks: TivioInternalHooks;
1590
+ providers: TivioInternalProviders;
1591
+ };
1592
+
1593
+ /**
1594
+ * @public
1595
+ */
1212
1596
  export declare type TivioInternalComponents = {
1213
1597
  PrimaryButton: React_2.ComponentType;
1214
1598
  WebLandingScreen: React_2.ComponentType<{
@@ -1220,6 +1604,9 @@ export declare type TivioInternalComponents = {
1220
1604
  WebSeriesDetailScreen: React_2.ComponentType<WebSeriesDetailScreenProps>;
1221
1605
  };
1222
1606
 
1607
+ /**
1608
+ * @public
1609
+ */
1223
1610
  export declare type TivioInternalHooks = {
1224
1611
  useAuthOverlay: () => AuthOverlayState;
1225
1612
  useSubscriptionsOverlay: () => SubscriptionOverlayState;
@@ -1243,6 +1630,9 @@ export declare type TivioInternalHooks = {
1243
1630
  };
1244
1631
  };
1245
1632
 
1633
+ /**
1634
+ * @public
1635
+ */
1246
1636
  export declare type TivioInternalProviders = {
1247
1637
  AppThemeProvider: React_2.ComponentType;
1248
1638
  AuthOverlayContextProvider: React_2.ComponentType;
@@ -1260,16 +1650,59 @@ export declare type TivioInternalProviders = {
1260
1650
  RouterOverridesContextProvider: React_2.ComponentType<RouterOverridesContextState>;
1261
1651
  };
1262
1652
 
1653
+ /**
1654
+ * @public
1655
+ */
1263
1656
  export declare const TivioProvider: React_2.FC<TivioProviderProps>;
1264
1657
 
1658
+ /**
1659
+ * @public
1660
+ */
1265
1661
  export declare type TivioProviderProps = {
1266
1662
  /**
1267
1663
  * This prop must be set only once and not change value afterwards
1268
1664
  */
1269
- conf: Config | undefined | null;
1665
+ conf: SdkReactConfig | undefined | null;
1270
1666
  children: React_2.ReactNode;
1271
1667
  };
1272
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
+
1703
+ /**
1704
+ * @public
1705
+ */
1273
1706
  export declare type TivioSources = {
1274
1707
  AdSource: any;
1275
1708
  ChannelSource: any;
@@ -1277,63 +1710,17 @@ export declare type TivioSources = {
1277
1710
  VodTivioSource: any;
1278
1711
  };
1279
1712
 
1713
+ /**
1714
+ * @public
1715
+ */
1280
1716
  export declare type TivioSubscriptions = {
1281
1717
  subscribeToUser: (cb: (error: string | null, user: User | null) => void) => void;
1282
- /**
1283
- * Listen to widget changes.
1284
- * @param widgetId - widget id
1285
- * @param cb - callback on widget updates or on error
1286
- */
1287
- subscribeToWidget: (widgetId: string, cb: (error: Error | null, data: Widget | null, disposer?: Disposer) => void) => void;
1288
- /**
1289
- * Listen to channel changes.
1290
- * @param channelId - channel id
1291
- * @param cb - callback on channel updates or on error
1292
- */
1293
- subscribeToChannel: (channelId: string, cb: (error: Error | null, data: Channel | null) => void) => void;
1294
- /**
1295
- * Listen to section changes.
1296
- * @param sectionId - section id
1297
- * @param cb - callback on section updates or on error
1298
- */
1299
- subscribeToSection: (sectionId: string, cb: (error: Error | null, data: Section | null) => void) => void;
1300
1718
  /**
1301
1719
  * Listen to video changes.
1302
1720
  * @param videoId - video id
1303
1721
  * @param cb - callback on video updates or on error
1304
1722
  */
1305
- subscribeToVideo: (videoId: string, cb: (error: Error | null, data: Video | null, disposer?: Disposer) => void) => void;
1306
- /**
1307
- * Listen to videos in section changes.
1308
- * @param sectionId - section id
1309
- * @param cb - callback on videos change or error
1310
- * @param limit - videos count
1311
- */
1312
- subscribeToVideosInSection: (sectionId: string, cb: (error: null | Error, data: null | {
1313
- videos: Video[];
1314
- hasNextPage: boolean;
1315
- }, fetchMore: null | ((count?: number) => void), isLoading: boolean) => void, limit?: number) => void;
1316
- /**
1317
- * Listen to section in channel changes
1318
- * @param channelId - channel id
1319
- * @param cb - callback on sections change or error
1320
- * @param limit - sections count
1321
- */
1322
- subscribeToSectionsInChannel: (channelId: string, cb: (error: null | Error, data: null | {
1323
- sections: Section[];
1324
- hasNextPage: boolean;
1325
- }, fetchMore: null | ((count?: number) => void), isLoading: boolean) => void, limit?: number) => void;
1326
- /**
1327
- * Listen to channels in widget changes
1328
- * @param widgetId - widget id
1329
- * @param cb - callback on channels change or error
1330
- * @param limit - channels count
1331
- */
1332
- subscribeToChannelsInWidget: (widgetId: string, cb: (error: null | Error, data: null | {
1333
- channels: Channel[];
1334
- hasNextPage: boolean;
1335
- }, fetchMore: null | ((count?: number) => void), isLoading: boolean) => void, limit?: number) => void;
1336
- subscribeToScreen: SubscribeToScreen;
1723
+ subscribeToVideo: (videoId: string, cb: (error: Error | null, data: Video | null, disposer?: Disposer_2) => void) => void;
1337
1724
  subscribeToItemsInRow: SubscribeToItemsInRow;
1338
1725
  subscribeToRowsInScreen: SubscribeToRowsInScreen;
1339
1726
  subscribeToTaggedVideos: SubscribeToTaggedVideos;
@@ -1343,16 +1730,28 @@ export declare type TivioSubscriptions = {
1343
1730
  }) => void;
1344
1731
  };
1345
1732
 
1733
+ /**
1734
+ * @public
1735
+ */
1346
1736
  export declare const TivioWidget: React_2.ForwardRefExoticComponent<Pick<TivioWidgetProps, "id" | "onEnabled" | "onBlur"> & React_2.RefAttributes<TivioWidgetRef>>;
1347
1737
 
1738
+ /**
1739
+ * @public
1740
+ */
1348
1741
  export declare const TivioWidgetError: React_2.FC<TivioWidgetErrorProps>;
1349
1742
 
1350
1743
  declare type TivioWidgetErrorProps = {
1351
1744
  error: string | null;
1352
1745
  };
1353
1746
 
1747
+ /**
1748
+ * @public
1749
+ */
1354
1750
  export declare const TivioWidgetLoader: React_2.FC;
1355
1751
 
1752
+ /**
1753
+ * @public
1754
+ */
1356
1755
  export declare interface TivioWidgetProps {
1357
1756
  id: string;
1358
1757
  ref: React_2.MutableRefObject<TivioWidgetRef>;
@@ -1364,6 +1763,9 @@ export declare interface TivioWidgetProps {
1364
1763
  }) => any;
1365
1764
  }
1366
1765
 
1766
+ /**
1767
+ * @public
1768
+ */
1367
1769
  export declare interface TivioWidgetRef {
1368
1770
  focus: (args: {
1369
1771
  x?: number;
@@ -1377,6 +1779,15 @@ export declare interface TivioWidgetRef {
1377
1779
  });
1378
1780
  }
1379
1781
 
1782
+ /**
1783
+ * @public
1784
+ */
1785
+ export declare type TizenDeviceInfo = {
1786
+ type: 'tizen';
1787
+ model?: string;
1788
+ osVersion?: string;
1789
+ };
1790
+
1380
1791
  declare type TransactionInfo = {
1381
1792
  type: 'transaction';
1382
1793
  name: string;
@@ -1387,15 +1798,22 @@ declare type TransactionInfo = {
1387
1798
 
1388
1799
  /**
1389
1800
  * Represents one string in every supported language mutation.
1801
+ * @public
1390
1802
  */
1391
1803
  export declare type Translation = {
1392
1804
  [key in LangCode]: string;
1393
1805
  };
1394
1806
 
1807
+ /**
1808
+ * @public
1809
+ */
1395
1810
  export declare type TvAppProps = {
1396
1811
  customer: CUSTOMER_BUILD;
1397
1812
  };
1398
1813
 
1814
+ /**
1815
+ * @public
1816
+ */
1399
1817
  export declare interface TvChannel extends RowItem {
1400
1818
  name: string;
1401
1819
  id: string;
@@ -1410,10 +1828,19 @@ export declare interface TvChannel extends RowItem {
1410
1828
  price: number;
1411
1829
  }
1412
1830
 
1831
+ /**
1832
+ * @public
1833
+ */
1413
1834
  export declare const TvTivioProvider: React_2.FC<TivioProviderProps>;
1414
1835
 
1836
+ /**
1837
+ * @public
1838
+ */
1415
1839
  export declare const useAd: () => AdSource | null;
1416
1840
 
1841
+ /**
1842
+ * @public
1843
+ */
1417
1844
  export declare const useAdSegment: () => {
1418
1845
  id: string;
1419
1846
  remainingMs: number;
@@ -1434,6 +1861,7 @@ export declare const useAdSegment: () => {
1434
1861
  * error - error in case request failure
1435
1862
  * applyInviteCode - function to apply invite code
1436
1863
  * inviteCodeReset - function to reset to initial state
1864
+ * @public
1437
1865
  */
1438
1866
  export declare function useApplyInviteCode(): {
1439
1867
  applyInviteCodeResult?: boolean | undefined;
@@ -1443,53 +1871,53 @@ export declare function useApplyInviteCode(): {
1443
1871
  inviteCodeReset: () => void;
1444
1872
  };
1445
1873
 
1874
+ /**
1875
+ * @public
1876
+ */
1446
1877
  export declare const useBetOffer: () => BetOffer | null;
1447
1878
 
1879
+ /**
1880
+ * @public
1881
+ */
1448
1882
  export declare type UseCancelSubscription = (subscriptionId: string) => {
1449
1883
  cancelSubscription: () => Promise<void>;
1450
1884
  cancellationInfo: QerkoCancellationInfo | null;
1451
1885
  error?: string | null;
1452
1886
  };
1453
1887
 
1454
- export declare const useCancelSubscription: UseCancelSubscription;
1455
-
1456
1888
  /**
1457
- * Use channel
1458
- * @param channelId - channel id
1889
+ * @public
1459
1890
  */
1460
- export declare const useChannel: (channelId: string) => {
1461
- error: string | null;
1462
- data: Channel | null;
1463
- };
1891
+ export declare const useCancelSubscription: UseCancelSubscription;
1464
1892
 
1465
1893
  /**
1466
- * Use channels in widget
1467
- * @param widgetId - widget id
1468
- * @param [limit] - channels count, defaults to 10
1894
+ * @public
1469
1895
  */
1470
- export declare const useChannelsInWidget: (widgetId: string, limit?: number) => {
1471
- error: Error | null;
1472
- data: PaginationData<Channel> | null;
1473
- isLoading: boolean;
1474
- };
1475
-
1476
1896
  export declare type UseChannelSource = (tvChannelId: string) => {
1477
1897
  source: ChannelSourcePojo | null;
1478
1898
  error: Error | null;
1479
1899
  };
1480
1900
 
1901
+ /**
1902
+ * @public
1903
+ */
1481
1904
  export declare const useCurrentMarker: () => Marker | null;
1482
1905
 
1483
- export declare const useFreePurchase: () => {
1484
- purchase: (monetizationId: string) => Promise<void>;
1485
- };
1486
-
1906
+ /**
1907
+ * @public
1908
+ */
1487
1909
  export declare const useIntro: () => IntroMarker | null;
1488
1910
 
1911
+ /**
1912
+ * @public
1913
+ */
1489
1914
  export declare const useIsLoaded: () => {
1490
1915
  isTivioLoaded: boolean;
1491
1916
  };
1492
1917
 
1918
+ /**
1919
+ * @public
1920
+ */
1493
1921
  export declare const useIsMonetizationPurchased: () => {
1494
1922
  isOneOfSubscriptionPurchased: (subscriptionIds: string[]) => boolean;
1495
1923
  };
@@ -1498,6 +1926,7 @@ export declare const useIsMonetizationPurchased: () => {
1498
1926
  * Use row items
1499
1927
  * @param rowId - row ID
1500
1928
  * @param options - subscription options
1929
+ * @public
1501
1930
  */
1502
1931
  export declare const useItemsInRow: (rowId: string, options?: SubscribeToItemsInRowOptions) => {
1503
1932
  pagination: PaginationInterface<ItemsInRow> | null;
@@ -1505,18 +1934,25 @@ export declare const useItemsInRow: (rowId: string, options?: SubscribeToItemsIn
1505
1934
  };
1506
1935
 
1507
1936
  /**
1508
- * @deprecated will be removed in v4
1937
+ * @public
1509
1938
  */
1510
- export declare function useLastVideoByWidgetId(widgetId: string): Video | null;
1511
-
1512
1939
  export declare const useMarkers: () => Marker[] | null;
1513
1940
 
1941
+ /**
1942
+ * @public
1943
+ */
1514
1944
  export declare const useOrganizationSubscriptions: () => {
1515
1945
  subscriptions: Monetization[];
1516
1946
  };
1517
1947
 
1948
+ /**
1949
+ * @public
1950
+ */
1518
1951
  export declare type UsePlayerEvent = <T = any>(eventName: string) => T | null;
1519
1952
 
1953
+ /**
1954
+ * @public
1955
+ */
1520
1956
  export declare const usePlayerEvent: UsePlayerEvent;
1521
1957
 
1522
1958
  /**
@@ -1526,6 +1962,7 @@ export declare const usePlayerEvent: UsePlayerEvent;
1526
1962
  * loading - loading state
1527
1963
  * error - error in case request failure
1528
1964
  * purchaseRecovery - functions to execute purchase recovery
1965
+ * @public
1529
1966
  */
1530
1967
  export declare function usePurchaseRecovery(): {
1531
1968
  purchaseRecoveryResult?: string | undefined;
@@ -1534,15 +1971,22 @@ export declare function usePurchaseRecovery(): {
1534
1971
  purchaseRecovery: (monetizationId: string) => void;
1535
1972
  };
1536
1973
 
1974
+ /**
1975
+ * @public
1976
+ */
1537
1977
  export declare const usePurchaseSubscription: (monetizationId: string, voucher?: NewVoucher | undefined) => QerkoTransaction;
1538
1978
 
1539
1979
  /**
1540
1980
  * Return purchases with initialized video (purchases[i].video not null)
1981
+ * @public
1541
1982
  */
1542
1983
  export declare const usePurchasesWithVideos: () => {
1543
1984
  purchases: Purchase[];
1544
1985
  };
1545
1986
 
1987
+ /**
1988
+ * @public
1989
+ */
1546
1990
  export declare type User = {
1547
1991
  purchases: Purchase[];
1548
1992
  allPurchases: Purchase[];
@@ -1559,31 +2003,30 @@ export declare type User = {
1559
2003
  watchedPositions: any[];
1560
2004
  };
1561
2005
 
2006
+ /**
2007
+ * @public
2008
+ */
1562
2009
  export declare const useRowsInScreen: (screenId: string, options?: PaginationOptions) => {
1563
2010
  pagination: PaginationInterface<Row> | null;
1564
2011
  error: Error | null;
1565
2012
  };
1566
2013
 
2014
+ /**
2015
+ * @public
2016
+ */
1567
2017
  export declare type UserPayload = Record<string, any>;
1568
2018
 
2019
+ /**
2020
+ * @public
2021
+ */
1569
2022
  export declare enum UserType {
1570
2023
  ORGANIZATION_USER = "ORGANIZATION_USER",
1571
2024
  TIVIO_USER = "TIVIO_USER"
1572
2025
  }
1573
2026
 
1574
2027
  /**
1575
- * @deprecated
1576
- *
1577
- * Use app screen
1578
- * @param screenId - screen ID
1579
- * @param options - subscribe to screen options
2028
+ * @public
1580
2029
  */
1581
- export declare const useScreen: (screenId: string, options?: ScreenOptions | undefined) => never;
1582
-
1583
- export declare const useScreens: () => {
1584
- screens: Screen_2[];
1585
- };
1586
-
1587
2030
  export declare type UseSearch = <T extends ALGOLIA_INDEX_NAME>(indexName: T, options?: UseSearchOptions) => {
1588
2031
  search: (query: string) => void;
1589
2032
  pagination: PaginationInterface<UseSearchResult<T>> | null;
@@ -1596,59 +2039,65 @@ export declare type UseSearch = <T extends ALGOLIA_INDEX_NAME>(indexName: T, opt
1596
2039
  * Full text search that returns entities based on search query.
1597
2040
  * @param indexName - index that search would be performed on ('videos', 'tags', etc.)
1598
2041
  * @param options - pagination options
2042
+ * @public
1599
2043
  */
1600
2044
  export declare const useSearch: UseSearch;
1601
2045
 
2046
+ /**
2047
+ * @public
2048
+ */
1602
2049
  export declare type UseSearchOptions = PaginationOptions & Partial<{
1603
2050
  minQueryLength: number;
1604
2051
  }>;
1605
2052
 
1606
- 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;
1607
-
1608
2053
  /**
1609
- * Use section
1610
- * @param sectionId - section id
2054
+ * @public
1611
2055
  */
1612
- export declare const useSection: (sectionId: string) => {
1613
- error: string | null;
1614
- data: Section | null;
1615
- };
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;
1616
2057
 
1617
2058
  /**
1618
- * Use section in channel
1619
- * @param channelId - channel id
1620
- * @param [limit] - sections count, defaults to 10
2059
+ * @public
1621
2060
  */
1622
- export declare const useSectionsInChannel: (channelId: string, limit?: number) => {
1623
- error: Error | null;
1624
- data: PaginationData<Section> | null;
1625
- isLoading: boolean;
1626
- };
1627
-
1628
2061
  export declare const useSeekState: () => boolean | null;
1629
2062
 
1630
2063
  /**
1631
2064
  * Returns videos with given tag ids
1632
2065
  * @param tagIds - tag ids
1633
2066
  * @param options - subscription options
2067
+ * @public
1634
2068
  */
1635
2069
  export declare const useTaggedVideos: (tagIds: string[], options?: SubscribeToItemsInRowOptions) => {
1636
2070
  pagination: PaginationInterface<Video> | null;
1637
2071
  error: Error | null;
1638
2072
  };
1639
2073
 
2074
+ /**
2075
+ * @public
2076
+ */
1640
2077
  export declare const useTivioData: () => RemoteBundleState;
1641
2078
 
2079
+ /**
2080
+ * @public
2081
+ */
1642
2082
  export declare const useTivioReadyData: () => RemoteBundleState | null;
1643
2083
 
2084
+ /**
2085
+ * @public
2086
+ */
1644
2087
  export declare const useTransactionPayment: (videoId: string, monetizationId: string, voucher?: NewVoucher | undefined) => QerkoTransaction;
1645
2088
 
2089
+ /**
2090
+ * @public
2091
+ */
1646
2092
  export declare type UseTvChannel = (tvChannelId: string) => {
1647
2093
  tvChannel: TvChannel | null;
1648
2094
  error: Error | null;
1649
2095
  loading: boolean;
1650
2096
  };
1651
2097
 
2098
+ /**
2099
+ * @public
2100
+ */
1652
2101
  export declare const useUser: () => {
1653
2102
  user: User | null;
1654
2103
  error: string | null;
@@ -1658,6 +2107,7 @@ export declare const useUser: () => {
1658
2107
  /**
1659
2108
  * Use video
1660
2109
  * @param videoId - video id
2110
+ * @public
1661
2111
  */
1662
2112
  export declare const useVideo: (videoId?: string | undefined) => {
1663
2113
  data: Video | null;
@@ -1665,16 +2115,8 @@ export declare const useVideo: (videoId?: string | undefined) => {
1665
2115
  };
1666
2116
 
1667
2117
  /**
1668
- * Use videos in section
1669
- * @param sectionId - section id
1670
- * @param [limit] - videos count, defaults to 10
2118
+ * @public
1671
2119
  */
1672
- export declare const useVideosInSection: (sectionId?: string | undefined, limit?: number) => {
1673
- error: Error | null;
1674
- data: PaginationData<Video> | null;
1675
- isLoading: boolean;
1676
- };
1677
-
1678
2120
  export declare const useVoucher: (voucherId: string) => {
1679
2121
  activate: (() => Promise<void>) | null;
1680
2122
  voucher: Voucher | null;
@@ -1689,20 +2131,17 @@ export declare const useVoucher: (voucherId: string) => {
1689
2131
  activationSuccess: boolean;
1690
2132
  };
1691
2133
 
2134
+ /**
2135
+ * @public
2136
+ */
1692
2137
  export declare const useWatchWithoutAdsOffer: () => {
1693
2138
  canPurchaseWatchWithoutAds: boolean;
1694
2139
  showPurchaseDialog: () => void;
1695
2140
  };
1696
2141
 
1697
2142
  /**
1698
- * Use widget
1699
- * @param widgetId - widget id
2143
+ * @public
1700
2144
  */
1701
- export declare const useWidget: (widgetId: string) => {
1702
- error: string;
1703
- widget: Widget | null;
1704
- };
1705
-
1706
2145
  export declare const VAST_PROVIDERS: ({
1707
2146
  id: VastProvider;
1708
2147
  name: string;
@@ -1713,19 +2152,27 @@ export declare const VAST_PROVIDERS: ({
1713
2152
  development: boolean;
1714
2153
  })[];
1715
2154
 
2155
+ /**
2156
+ * @public
2157
+ */
1716
2158
  export declare enum VastProvider {
2159
+ CNC_PREBID = "cnc-prebid",
1717
2160
  ETARGET_PREBID = "etarget-prebid",
1718
- MALL_TV_PREBID = "malltv-prebid",
1719
- IMPRESSION_MEDIA_PREBID = "impressionMedia-prebid",
1720
- MALL_TV = "malltv",
1721
- FALLBACK_MP4 = "fallback",
1722
2161
  FALLBACK_HLS = "fallback-hls",
2162
+ FALLBACK_MP4 = "fallback",
2163
+ GARAZ_TV = "garaz.tv",
2164
+ GARAZ_TV_DEV = "garaz.tv.dev",
2165
+ IMPRESSION_MEDIA_PREBID = "impressionMedia-prebid",
1723
2166
  JOJ = "joj",
2167
+ MALL_TV = "malltv",
2168
+ MALL_TV_PREBID = "malltv-prebid",
1724
2169
  PRIMA = "prima",
1725
- GARAZ_TV = "garaz.tv",
1726
- GARAZ_TV_DEV = "garaz.tv.dev"
2170
+ TEST = "test"
1727
2171
  }
1728
2172
 
2173
+ /**
2174
+ * @public
2175
+ */
1729
2176
  export declare interface Video extends RowItem {
1730
2177
  id: string;
1731
2178
  /**
@@ -1775,15 +2222,21 @@ export declare interface Video extends RowItem {
1775
2222
  isFavorite: boolean;
1776
2223
  addToFavorites: () => void;
1777
2224
  removeFromFavorites: () => void;
1778
- availability: VideoAvailabilityField | null;
2225
+ availability: VideoAvailability | null;
1779
2226
  }
1780
2227
 
1781
- declare type VideoAvailabilityField = {
1782
- from: firebase_2.firestore.Timestamp;
1783
- to: firebase_2.firestore.Timestamp | null;
2228
+ /**
2229
+ * @public
2230
+ */
2231
+ export declare type VideoAvailability = {
2232
+ from: Date;
2233
+ to: Date | null;
1784
2234
  manual: boolean;
1785
2235
  };
1786
2236
 
2237
+ /**
2238
+ * @public
2239
+ */
1787
2240
  export declare enum VideoContentType {
1788
2241
  /**
1789
2242
  * Default video content type
@@ -1793,6 +2246,9 @@ export declare enum VideoContentType {
1793
2246
  SERIES = "SERIES"
1794
2247
  }
1795
2248
 
2249
+ /**
2250
+ * @public
2251
+ */
1796
2252
  export declare interface VideoExternals {
1797
2253
  tvProfiProgramId?: string;
1798
2254
  tvProfiContentId?: string;
@@ -1808,10 +2264,9 @@ export declare interface VideoExternals {
1808
2264
 
1809
2265
  declare type VideoPath = string;
1810
2266
 
1811
- export declare const VideosContext: React_2.Context<DataState<Video>>;
1812
-
1813
2267
  /**
1814
2268
  * Video type.
2269
+ * @public
1815
2270
  */
1816
2271
  export declare enum VideoType {
1817
2272
  /**
@@ -1825,6 +2280,9 @@ export declare enum VideoType {
1825
2280
  TV_PROGRAM = "TV_PROGRAM"
1826
2281
  }
1827
2282
 
2283
+ /**
2284
+ * @public
2285
+ */
1828
2286
  export declare type VodExternalSource = {
1829
2287
  new (uri: string, monetizationId: string, name: string, description: string, originalOptions: Record<string, any>): VodTivioSource;
1830
2288
  type: 'vod_external';
@@ -1833,6 +2291,9 @@ export declare type VodExternalSource = {
1833
2291
  uri: string;
1834
2292
  };
1835
2293
 
2294
+ /**
2295
+ * @public
2296
+ */
1836
2297
  export declare type VodTivioSource = {
1837
2298
  new (uri: string, videoId: string, name: string, description: string, adMonetizationId?: string): VodTivioSource;
1838
2299
  type: 'vod_tivio';
@@ -1841,7 +2302,7 @@ export declare type VodTivioSource = {
1841
2302
  uri: string;
1842
2303
  };
1843
2304
 
1844
- export declare interface VodTivioSourcePojo {
2305
+ declare interface VodTivioSourcePojo {
1845
2306
  type: 'VodTivioSource';
1846
2307
  description: string;
1847
2308
  path: string;
@@ -1849,6 +2310,7 @@ export declare interface VodTivioSourcePojo {
1849
2310
  uri: string;
1850
2311
  poster?: string;
1851
2312
  adMonetizationId?: string;
2313
+ availability: VideoAvailability | null;
1852
2314
  }
1853
2315
 
1854
2316
  /**
@@ -1862,6 +2324,18 @@ declare type Voucher = {
1862
2324
  voucherInfo: SubscriptionInfo | TransactionInfo;
1863
2325
  };
1864
2326
 
2327
+ /**
2328
+ * @public
2329
+ */
2330
+ export declare type WebosDeviceInfo = {
2331
+ type: 'webos';
2332
+ model?: string;
2333
+ osVersion?: string;
2334
+ };
2335
+
2336
+ /**
2337
+ * @public
2338
+ */
1865
2339
  export declare interface WebPlayerProps {
1866
2340
  id: string;
1867
2341
  source?: VodTivioSourcePojo | ChannelSourcePojo | VideoPath | null;
@@ -1913,24 +2387,38 @@ export declare interface WebPlayerProps {
1913
2387
  onPlayerControllerCreated?: (playerController: any) => void;
1914
2388
  }
1915
2389
 
2390
+ /**
2391
+ * @public
2392
+ */
1916
2393
  export declare type WebRowProps = {
1917
2394
  items?: ItemsInRow[];
1918
2395
  variant?: RowItemComponent;
1919
- rowName?: string;
2396
+ rowName?: string | any;
1920
2397
  fetchMore?: () => void;
1921
2398
  onTileClick?: (item: ItemsInRow) => void;
1922
2399
  };
1923
2400
 
2401
+ /**
2402
+ * @public
2403
+ */
1924
2404
  export declare type WebSeriesDetailScreenProps = {
1925
2405
  tagId: string;
1926
2406
  };
1927
2407
 
2408
+ /**
2409
+ * @public
2410
+ */
1928
2411
  export declare interface WhereFilter {
1929
2412
  field: string;
1930
2413
  operator: WhereFilterOp;
1931
2414
  value: any;
1932
2415
  }
1933
2416
 
2417
+ declare type WhereFilterOp = '<' | '<=' | '==' | '!=' | '>=' | '>' | 'array-contains' | 'in' | 'array-contains-any' | 'not-in';
2418
+
2419
+ /**
2420
+ * @public
2421
+ */
1934
2422
  export declare type Widget = {
1935
2423
  id: string;
1936
2424
  channels: Channel[];
@@ -1941,6 +2429,9 @@ export declare type Widget = {
1941
2429
  lastVideo: Video | null;
1942
2430
  };
1943
2431
 
2432
+ /**
2433
+ * @public
2434
+ */
1944
2435
  export declare function withPlayerContext(id: string): <P>(WrappedComponent: React_2.ComponentType<P>) => (props: P) => JSX.Element;
1945
2436
 
1946
2437
  export { }