@tivio/sdk-react 3.6.2 → 4.0.0

Sign up to get free protection for your applications and to get access to all the features.
package/dist/index.d.ts CHANGED
@@ -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 { }