@tivio/sdk-react 3.6.0 → 3.6.3

Sign up to get free protection for your applications and to get access to all the features.
package/dist/index.d.ts CHANGED
@@ -1,10 +1,41 @@
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';
4
+
5
+ /**
6
+ * @public
7
+ */
8
+ export declare interface AdExternal {
9
+ /**
10
+ * Can user seek out of it?
11
+ */
12
+ canSeek: boolean;
13
+ /**
14
+ * Can it be skipped right now?
15
+ */
16
+ canSkip: boolean;
17
+ durationMs: number;
18
+ /**
19
+ * Is it skippable in general?
20
+ */
21
+ isSkippable: boolean;
22
+ order: number | null;
23
+ secondsToSkippable: number | null;
24
+ /**
25
+ * Countdown for un-skippable ads
26
+ */
27
+ secondsToEnd: number;
28
+ skipDelayMs: number | null;
29
+ /**
30
+ * How many ads are there in total
31
+ */
32
+ totalCount: number | null;
33
+ click: () => void;
34
+ /**
35
+ * @private
36
+ */
37
+ skip: () => void;
38
+ }
8
39
 
9
40
  declare type AdSegment = {
10
41
  id: string;
@@ -26,6 +57,9 @@ declare type AdSegment = {
26
57
  skip: () => any;
27
58
  };
28
59
 
60
+ /**
61
+ * @public
62
+ */
29
63
  export declare type AdSource = {
30
64
  new (uri: string, name: string, description: string, skipDelayMs: number | null, adDurationMs: number, trackingContext?: any, // internal Tivio types
31
65
  adMarker?: any, // internal Tivio types
@@ -62,8 +96,6 @@ export declare type AdSource = {
62
96
  };
63
97
 
64
98
  /**
65
- * Index names in Algolia search engine.
66
- *
67
99
  * @public
68
100
  */
69
101
  export declare enum ALGOLIA_INDEX_NAME {
@@ -74,15 +106,24 @@ export declare enum ALGOLIA_INDEX_NAME {
74
106
  USERS = "users"
75
107
  }
76
108
 
77
- declare interface Asset {
109
+ /**
110
+ * @public
111
+ */
112
+ export declare interface Asset {
78
113
  background: string;
79
114
  }
80
115
 
81
- declare type Assets = {
116
+ /**
117
+ * @public
118
+ */
119
+ export declare type Assets = {
82
120
  [assetName: string]: ScalableAsset;
83
121
  };
84
122
 
85
- declare type AuthOverlayPayload = {
123
+ /**
124
+ * @public
125
+ */
126
+ export declare type AuthOverlayPayload = {
86
127
  prefilledData?: {
87
128
  email: string;
88
129
  };
@@ -93,25 +134,110 @@ declare type AuthOverlayPayload = {
93
134
  redirectAfterSubmit?: ((...args: any[]) => void) | null;
94
135
  };
95
136
 
96
- declare type AuthOverlayState = {
137
+ /**
138
+ * @public
139
+ */
140
+ export declare type AuthOverlayState = {
97
141
  type: AuthOverlayType;
98
142
  closeAuthOverlay: () => void;
99
143
  openAuthOverlay: (type: AuthOverlayType, payload?: AuthOverlayPayload) => void;
100
144
  payload?: AuthOverlayPayload | null;
101
145
  };
102
146
 
103
- declare type AuthOverlayType = 'login' | 'registration' | 'closed' | 'reset-password';
147
+ /**
148
+ * @public
149
+ */
150
+ export declare type AuthOverlayType = 'login' | 'registration' | 'closed' | 'reset-password';
104
151
 
105
- declare interface AvailableSeason {
152
+ /**
153
+ * @public
154
+ */
155
+ export declare interface AvailableSeason {
106
156
  seasonNumber: number;
107
157
  }
108
158
 
159
+ /**
160
+ * @public
161
+ */
162
+ export declare type AvatarProps = {
163
+ cover?: string;
164
+ isLoading?: boolean;
165
+ size?: number;
166
+ };
167
+
168
+ /**
169
+ * @public
170
+ */
109
171
  export declare type BadRequestError = Error & {
110
172
  details?: {
111
173
  reason?: 'DOES_NOT_EXIST' | 'EXPIRED' | 'ALREADY_USED';
112
174
  };
113
175
  };
114
176
 
177
+ /**
178
+ * @public
179
+ */
180
+ export declare type BannerProps = {
181
+ isLoading: boolean;
182
+ text: string;
183
+ focused: boolean;
184
+ onClick?: () => void;
185
+ hoverable: boolean;
186
+ broadcastInfo: string;
187
+ height: number;
188
+ coverPadding: CoverPadding;
189
+ cover: string;
190
+ fullWidth: boolean;
191
+ coverContainerPaddingTop: string;
192
+ width: number;
193
+ overlay: boolean;
194
+ price: string;
195
+ hasRoundCorners: boolean;
196
+ buttonText?: string;
197
+ onButtonClick?: () => void;
198
+ };
199
+
200
+ /**
201
+ * @public
202
+ */
203
+ export declare type BannerPropsPartial = Partial<BannerProps>;
204
+
205
+ /**
206
+ * @public
207
+ */
208
+ export declare type BasicTivioBundle = {
209
+ components: TivioComponents;
210
+ getters: TivioGetters;
211
+ auth: TivioAuth;
212
+ hooks: TivioHooks;
213
+ sources: TivioSources;
214
+ subscriptions: TivioSubscriptions;
215
+ purchaseVideoWithQerko: (videoId: string, monetizationId: string, voucher?: {
216
+ expirationDate: Date;
217
+ }) => Promise<QerkoPaymentInfo>;
218
+ purchaseSubscriptionWithQerko: (monetizationId: string, voucher?: {
219
+ expirationDate: Date;
220
+ }) => Promise<QerkoPaymentInfo>;
221
+ cancelSubscriptionWithQerko: (subscriptionId: string) => Promise<QerkoCancellationInfo>;
222
+ /**
223
+ * Set tivio language.
224
+ * @param language
225
+ */
226
+ setLanguage: (language: LangCode) => void;
227
+ setUser: (userId: string | null, userPayload?: UserPayload) => Promise<void>;
228
+ showConsentPreferences: () => void;
229
+ /**
230
+ * Contains hooks and providers for internal usages.
231
+ * They used in our apps, e.g. web, or in sdk-react (e.g. some sdk hooks are just wrappers for core-react-dom hooks)
232
+ * TODO should not be the part of public API
233
+ */
234
+ internal: TivioInternalBundle;
235
+ destroy: () => Promise<void>;
236
+ };
237
+
238
+ /**
239
+ * @public
240
+ */
115
241
  export declare type BetOffer = {
116
242
  betService: string;
117
243
  league: string;
@@ -127,22 +253,34 @@ export declare type BetOffer = {
127
253
 
128
254
  /**
129
255
  * rejects when bundle is not available
256
+ * @public
130
257
  */
131
258
  export declare const bundlePromise: Promise<RemoteBundleState>;
132
259
 
133
- export declare type Channel = {
260
+ /**
261
+ * @public
262
+ */
263
+ export declare type Callback = () => void;
264
+
265
+ /**
266
+ * @public
267
+ */
268
+ export declare interface Channel {
134
269
  id: string;
135
270
  name: string;
136
271
  header: string;
137
272
  headerLogo: string;
138
273
  recentVideos: Video[];
139
- };
140
-
141
- declare interface Channel_2 {
142
274
  }
143
275
 
144
- export declare const ChannelsContext: React_2.Context<DataState<Channel_2>>;
276
+ /**
277
+ * @public
278
+ */
279
+ export declare const ChannelsContext: React_2.Context<DataState<Channel>>;
145
280
 
281
+ /**
282
+ * @public
283
+ */
146
284
  export declare type ChannelSource = {
147
285
  new (uri: string, originalOptions: Record<string, any>, channelName: string, programName: string, programDescription: string, from: Date, to: Date): ChannelSource;
148
286
  description: string;
@@ -157,18 +295,9 @@ export declare type ChannelSource = {
157
295
  } | null;
158
296
  };
159
297
 
160
- declare interface ChannelSource_2 {
161
- type: 'ChannelSource';
162
- uri: string;
163
- originalOptions: any;
164
- channelName: string;
165
- programName: string;
166
- programDescription: string;
167
- from: Date;
168
- to: Date;
169
- poster?: string;
170
- }
171
-
298
+ /**
299
+ * @public
300
+ */
172
301
  export declare interface ChannelSourcePojo {
173
302
  type: 'ChannelSource';
174
303
  uri: string;
@@ -181,8 +310,14 @@ export declare interface ChannelSourcePojo {
181
310
  poster?: string;
182
311
  }
183
312
 
313
+ /**
314
+ * @public
315
+ */
184
316
  export declare type Chapter = any;
185
317
 
318
+ /**
319
+ * @public
320
+ */
186
321
  export declare type Config = Pick<InternalConfig, 'bundleUrlOverride' | 'currency' | 'disableUnmounting' | 'capabilitiesOptions' | 'enable' | 'enableSentry' | 'ErrorComponent' | 'language' | 'LoaderComponent' | 'logger' | 'secret' | 'verbose' | 'forceCloudFnResolver'> & {
187
322
  deviceCapabilities: PlayerCapability[] | 'auto';
188
323
  /**
@@ -192,26 +327,51 @@ export declare type Config = Pick<InternalConfig, 'bundleUrlOverride' | 'currenc
192
327
  runFeatureSupportCheck?: boolean;
193
328
  };
194
329
 
195
- declare type CoverPadding = {
330
+ /**
331
+ * @public
332
+ * @TODO move somewhere else
333
+ */
334
+ export declare type CoverPadding = {
196
335
  top?: number;
197
336
  bottom?: number;
198
337
  left?: number;
199
338
  right?: number;
200
339
  };
201
340
 
341
+ /**
342
+ * @public
343
+ */
202
344
  export declare const createPubSub: () => PubSub;
203
345
 
204
346
  /**
205
347
  * Fetch & load CommonJS remote module.
348
+ * @public
206
349
  */
207
350
  export declare const createRemotePackageLoader: () => (secret: string, conf: InternalConfig) => Promise<TivioBundle>;
208
351
 
352
+ /**
353
+ * @public
354
+ */
209
355
  export declare const createUseRemoteBundle: () => (conf: InternalConfig) => RemoteBundleState;
210
356
 
211
- declare type CreateUserWithEmailAndPassword = (email: string, password: string, username?: string, referralToken?: string) => Promise<string | null>;
357
+ /**
358
+ * @public
359
+ */
360
+ export declare type CreateUserWithEmailAndPassword = (email: string, password: string, username?: string, phoneNumber?: string, referralToken?: string) => Promise<string | null>;
361
+
362
+ /**
363
+ * @public
364
+ */
365
+ export declare const CURRENCIES: string[];
212
366
 
367
+ /**
368
+ * @public
369
+ */
213
370
  export declare type Currency = 'CZK' | 'EUR' | 'USD';
214
371
 
372
+ /**
373
+ * @public
374
+ */
215
375
  export declare enum CUSTOMER_BUILD {
216
376
  OKTAGON = "OKTAGON",
217
377
  JOJ = "JOJ",
@@ -228,36 +388,77 @@ declare interface DataState<T> {
228
388
  setData: (key: string, data: HookData<T>) => void;
229
389
  }
230
390
 
231
- declare type DefaultOrderByField = 'created';
391
+ /**
392
+ * @public
393
+ */
394
+ export declare const DEFAULT_ORDER_BY: {
395
+ field: DefaultOrderByField;
396
+ directionStr: OrderByDirection;
397
+ }[];
398
+
399
+ /**
400
+ * @public
401
+ */
402
+ export declare type DefaultOrderByField = 'created';
232
403
 
233
- declare type DetailedPrice = {
404
+ /**
405
+ * @public
406
+ */
407
+ export declare type DetailedPrice = {
234
408
  amount: number;
235
409
  currency: Currency;
236
410
  frequency?: MONETIZATION_FREQUENCY;
237
411
  };
238
412
 
413
+ /**
414
+ * @public
415
+ */
239
416
  export declare type Disposer = () => void;
240
417
 
418
+ /**
419
+ * @public
420
+ */
241
421
  declare type Disposer_2 = () => void;
242
422
 
243
- declare type DocumentOptions = Partial<{
423
+ /**
424
+ * @public
425
+ */
426
+ export declare type DividerProps = {
427
+ verticalSpacing?: number;
428
+ horizontalSpacing?: number;
429
+ };
430
+
431
+ /**
432
+ * @public
433
+ */
434
+ export declare type DocumentOptions = Partial<{
244
435
  lazyLoading: boolean;
245
436
  subscribeOnChanges: boolean;
246
437
  }>;
247
438
 
439
+ /**
440
+ * @public
441
+ */
248
442
  export declare type Empty = void | Promise<void> | undefined | Promise<undefined>;
249
443
 
444
+ /**
445
+ * @public
446
+ */
250
447
  export declare type Events = {
251
448
  'on-ready': RemoteBundleState;
252
449
  'on-error': Error;
253
450
  };
254
451
 
452
+ /**
453
+ * @public
454
+ */
255
455
  export declare type ExternalTvConfig = {
256
456
  logo: string;
257
457
  };
258
458
 
259
459
  /**
260
460
  * @throws if fetch fails
461
+ * @public
261
462
  */
262
463
  export declare const fetchBundle: (secret: string, conf: InternalConfig) => Promise<string>;
263
464
 
@@ -267,6 +468,9 @@ export declare const fetchBundle: (secret: string, conf: InternalConfig) => Prom
267
468
  */
268
469
  declare type FetchPackage = (url: string) => Promise<string>;
269
470
 
471
+ /**
472
+ * @public
473
+ */
270
474
  export declare interface GenericOnCallError {
271
475
  code: string;
272
476
  message?: string;
@@ -275,6 +479,7 @@ export declare interface GenericOnCallError {
275
479
 
276
480
  /**
277
481
  * Share singleton instance
482
+ * @public
278
483
  */
279
484
  export declare const getPubSub: () => PubSub;
280
485
 
@@ -284,14 +489,78 @@ declare interface HookData<T> {
284
489
  isLoading: boolean;
285
490
  }
286
491
 
492
+ /**
493
+ * @public
494
+ */
495
+ export declare interface IndexedObject {
496
+ objectID: string;
497
+ path: string;
498
+ }
499
+
500
+ /**
501
+ * @public
502
+ */
503
+ export declare interface IndexedTag extends IndexedObject {
504
+ tagId: string;
505
+ tagTypePath?: string;
506
+ organizationPath: string;
507
+ created: Date;
508
+ name: Translation;
509
+ description?: string;
510
+ }
511
+
512
+ /**
513
+ * @public
514
+ */
515
+ export declare interface IndexedTvChannel extends IndexedObject {
516
+ channelKey: string;
517
+ created: Date;
518
+ filters: string[];
519
+ name: string;
520
+ organizationPath: string;
521
+ }
522
+
523
+ /**
524
+ * @public
525
+ */
526
+ export declare interface IndexedUser extends IndexedObject {
527
+ authUserId: string;
528
+ type: string;
529
+ externalUserId?: string;
530
+ email?: string;
531
+ organizationPath?: string;
532
+ }
533
+
534
+ /**
535
+ * @public
536
+ */
537
+ export declare interface IndexedVideo extends IndexedObject {
538
+ organizationPath?: string;
539
+ tagPaths?: string[];
540
+ created: Date;
541
+ isDraft: boolean;
542
+ type: VideoType;
543
+ contentType?: VideoContentType;
544
+ name: string;
545
+ description: string;
546
+ hide: boolean;
547
+ isDuplicate: boolean;
548
+ externals?: VideoExternals;
549
+ }
550
+
551
+ /**
552
+ * @public
553
+ */
287
554
  export declare type InputSource = AdSource | ChannelSource | VodTivioSource | VodExternalSource;
288
555
 
556
+ /**
557
+ * @public
558
+ */
289
559
  export declare type InternalConfig = {
290
560
  /**
291
561
  * @private URL of remote code bundle to be fetched directly (without using resolver)
292
562
  */
293
563
  bundleUrlOverride?: string;
294
- currency: Currency;
295
564
  /**
296
565
  * Tells Tivio which technologies/protocols etc. is the device capable to play.
297
566
  * If not provided, Tivio will try to guess it (based on the browser).
@@ -308,6 +577,10 @@ export declare type InternalConfig = {
308
577
  */
309
578
  preferHttp?: boolean;
310
579
  };
580
+ secret: string | null;
581
+ language?: LangCode;
582
+ verbose?: boolean;
583
+ currency: Currency;
311
584
  disableUnmounting?: boolean;
312
585
  enable?: boolean;
313
586
  enableSentry?: boolean;
@@ -315,7 +588,6 @@ export declare type InternalConfig = {
315
588
  error: string | null;
316
589
  }>;
317
590
  fetchPackage: FetchPackage;
318
- language?: LangCode;
319
591
  LoaderComponent?: ComponentType;
320
592
  logger?: Logger | null;
321
593
  pubSub: PubSub;
@@ -324,23 +596,33 @@ export declare type InternalConfig = {
324
596
  */
325
597
  resolverUrl: string;
326
598
  sdkVersion: string;
327
- secret: string | null;
328
- verbose?: boolean;
329
599
  /**
330
600
  * @private
331
601
  */
332
602
  forceCloudFnResolver?: boolean;
333
603
  };
334
604
 
605
+ /**
606
+ * @public
607
+ */
608
+ export declare type InternalTvConfig = {
609
+ logo: string;
610
+ screens: ScreenConfig[];
611
+ };
612
+
335
613
  declare interface IntroMarker {
336
614
  marker: Marker;
337
615
  skip: () => void;
338
616
  }
339
617
 
340
- declare type ItemsInRow = Tag | Video | TvChannel;
618
+ /**
619
+ * @public
620
+ */
621
+ export declare type ItemsInRow = Tag | Video | TvChannel;
341
622
 
342
623
  /**
343
624
  * Enum of all supported languages codes as in ISO 639-1
625
+ * @public
344
626
  */
345
627
  export declare enum LangCode {
346
628
  CS = "cs",
@@ -352,7 +634,22 @@ export declare enum LangCode {
352
634
  SP = "sp"
353
635
  }
354
636
 
355
- declare type LinkedVideo = {
637
+ /**
638
+ * All supported languages codes as in ISO 639-1
639
+ * @public
640
+ */
641
+ export declare const languages: LangCode[];
642
+
643
+ /**
644
+ * Possible language key of all supported language mutations.
645
+ * @public
646
+ */
647
+ export declare type LanguageType = `${LangCode}`;
648
+
649
+ /**
650
+ * @public
651
+ */
652
+ export declare type LinkedVideo = {
356
653
  video: Video;
357
654
  type: 'CUT' | 'TRAILER' | 'BONUS' | 'CHILD';
358
655
  };
@@ -376,6 +673,9 @@ declare interface Logger {
376
673
  */
377
674
  declare type LoggerArgs = any[];
378
675
 
676
+ /**
677
+ * @public
678
+ */
379
679
  export declare type Marker = {
380
680
  id: string;
381
681
  type: string;
@@ -386,18 +686,25 @@ export declare type Marker = {
386
686
  toMs?: number;
387
687
  };
388
688
 
689
+ /**
690
+ * @public
691
+ */
389
692
  export declare interface Monetization {
390
693
  id: string;
391
694
  price?: string | number;
392
695
  type?: MonetizationType;
393
696
  frequency?: MONETIZATION_FREQUENCY;
697
+ isPurchased?: boolean;
394
698
  name?: string;
395
699
  description?: string;
396
700
  benefits?: Translation[];
397
701
  localizedBenefits?: string[];
398
702
  }
399
703
 
400
- declare enum MONETIZATION_FREQUENCY {
704
+ /**
705
+ * @public
706
+ */
707
+ export declare enum MONETIZATION_FREQUENCY {
401
708
  ONE_TIME_PAYMENT = "ONE_TIME_PAYMENT",
402
709
  DAILY = "DAILY",
403
710
  WEEKLY = "WEEKLY",
@@ -405,54 +712,95 @@ declare enum MONETIZATION_FREQUENCY {
405
712
  ANNUALLY = "ANNUALLY"
406
713
  }
407
714
 
408
- declare type MonetizationType = 'advertisement' | 'transaction' | 'subscription';
715
+ /**
716
+ * @public
717
+ * @TODO change to enum
718
+ */
719
+ export declare type MonetizationType = 'advertisement' | 'transaction' | 'subscription';
409
720
 
410
721
  /**
411
722
  * TODO: Duplicate, because we can't import types from core-js.
412
723
  */
724
+ /**
725
+ * @public
726
+ */
413
727
  export declare type NewVoucher = {
414
728
  expirationDate: Date | number;
415
729
  };
416
730
 
731
+ /**
732
+ * @public
733
+ */
417
734
  export declare type Nullable<T> = {
418
735
  [P in keyof T]: T[P] | null;
419
736
  };
420
737
 
421
- declare interface OrderBy {
738
+ /**
739
+ * @public
740
+ */
741
+ export declare type ObjectType = Record<string, any>;
742
+
743
+ /**
744
+ * @public
745
+ */
746
+ export declare interface OrderBy {
422
747
  field: string;
423
748
  directionStr?: OrderByDirection;
424
749
  }
425
750
 
751
+ declare type OrderByDirection = 'desc' | 'asc';
752
+
753
+ /**
754
+ * @public
755
+ */
756
+ export declare interface Organization {
757
+ }
758
+
426
759
  declare type PaginationData<T> = {
427
760
  items: T[];
428
761
  hasNextPage: boolean;
429
762
  fetchMore: Function;
430
763
  };
431
764
 
432
- declare type PaginationInterface<Entity> = {
765
+ /**
766
+ * @public
767
+ */
768
+ export declare type PaginationInterface<Entity> = {
433
769
  items: Entity[];
434
770
  fetchMore: () => void;
435
771
  hasNextPage?: boolean;
436
772
  loading?: boolean;
437
773
  };
438
774
 
439
- declare type PaginationOptions = Partial<{
775
+ /**
776
+ * @public
777
+ */
778
+ export declare type PaginationOptions = Partial<{
440
779
  limit: number;
441
780
  noLimit: boolean;
442
781
  }>;
443
782
 
783
+ /**
784
+ * @public
785
+ */
444
786
  export declare enum PLATFORM {
445
787
  MOBILE = "MOBILE",
446
788
  WEB = "WEB",
447
789
  TV = "TV"
448
790
  }
449
791
 
792
+ /**
793
+ * @public
794
+ */
450
795
  export declare interface PlayerCapability {
451
796
  codec: 'h264' | 'h265';
452
797
  encryption: 'fairplay' | 'none' | 'playready' | 'widevine';
453
- protocol: 'dash' | 'hls';
798
+ protocol: 'dash' | 'hls' | 'mp4';
454
799
  }
455
800
 
801
+ /**
802
+ * @public
803
+ */
456
804
  export declare interface PlayerInterface {
457
805
  pause: () => void;
458
806
  /**
@@ -482,8 +830,14 @@ export declare interface PlayerInterface {
482
830
  unmute?: () => void;
483
831
  }
484
832
 
833
+ /**
834
+ * @public
835
+ */
485
836
  export declare const PlayerProvider: ({ children, playerWrapperId, }: PlayerProviderProps) => FunctionComponentElement<PlayerProviderProps>;
486
837
 
838
+ /**
839
+ * @public
840
+ */
487
841
  export declare type PlayerProviderProps = {
488
842
  children: React_2.ReactNode;
489
843
  playerWrapperId?: string;
@@ -491,6 +845,9 @@ export declare type PlayerProviderProps = {
491
845
 
492
846
  declare type PlayerState = 'playing' | 'paused' | 'idle';
493
847
 
848
+ /**
849
+ * @public
850
+ */
494
851
  export declare type PlayerWrapper = {
495
852
  /**
496
853
  * Report that playback of video has finished
@@ -569,42 +926,43 @@ export declare type PlayerWrapper = {
569
926
  toggleMuted: () => void;
570
927
  };
571
928
 
929
+ /**
930
+ * @public
931
+ */
572
932
  export declare interface PubSub {
573
933
  publish: <K extends keyof Events>(triggerName: K, payload: Events[K]) => Empty;
574
934
  subscribe: <K extends keyof Events>(triggerName: K, onMessage: (data: Events[K]) => Empty) => Disposer;
575
935
  }
576
936
 
937
+ /**
938
+ * @public
939
+ */
577
940
  export declare type Purchase = {
578
- isPurchased: boolean;
579
- monetizationId: string;
580
- videoId: string;
581
- status: string;
582
- video: Video | null;
583
- };
584
-
585
- declare type Purchase_2 = {
586
941
  id: string;
587
942
  isPurchased: boolean;
588
- monetizationRef: firebase_3.firestore.DocumentReference | null;
943
+ monetizationRef: any | null;
589
944
  monetization: PurchaseMonetization | null;
590
945
  monetizationId: string | null;
591
946
  type: MonetizationType | null;
592
947
  videoId: string | null;
593
948
  status: PurchaseStatus | null;
594
949
  video: Video | null;
595
- videoRef: firebase_3.firestore.DocumentReference | null;
950
+ videoRef: any | null;
596
951
  expirationDate: Date | null;
597
952
  isExpired: boolean;
598
953
  voucherId?: string;
599
954
  };
600
955
 
601
- declare type PurchaseMonetization = {
602
- currency: Currency;
603
- period: number;
604
- price: number;
956
+ /**
957
+ * @public
958
+ */
959
+ export declare type PurchaseMonetization = {
960
+ currency?: Currency;
961
+ period?: number;
962
+ price?: number;
605
963
  type: MonetizationType;
606
- title: string;
607
- frequency: MONETIZATION_FREQUENCY | null;
964
+ title?: string;
965
+ frequency?: MONETIZATION_FREQUENCY | null;
608
966
  /**
609
967
  * If set, purchase (subscription) activated by voucher will stay valid for this amount of seconds.
610
968
  * Otherwise, purchase will be valid for one "monetization frequency" period.
@@ -612,18 +970,31 @@ declare type PurchaseMonetization = {
612
970
  voucherPurchaseDuration?: number;
613
971
  };
614
972
 
615
- declare enum PurchaseStatus {
973
+ /**
974
+ * @public
975
+ */
976
+ export declare enum PurchaseStatus {
616
977
  NEW = "NEW",
617
978
  PAID = "PAID",
618
979
  CANCELLED = "CANCELLED",
619
- ERROR = "ERROR"
980
+ ERROR = "ERROR",
981
+ /**
982
+ * Used when purchase is terminated due to terms and conditions violation (e.g. restreaming).
983
+ */
984
+ KILL = "KILL"
620
985
  }
621
986
 
987
+ /**
988
+ * @public
989
+ */
622
990
  export declare interface QerkoCancellationInfo {
623
991
  purchaseId: string;
624
992
  status: PurchaseStatus;
625
993
  }
626
994
 
995
+ /**
996
+ * @public
997
+ */
627
998
  export declare interface QerkoData {
628
999
  monetization: Monetization;
629
1000
  video?: Video;
@@ -631,12 +1002,18 @@ export declare interface QerkoData {
631
1002
  onClose?: () => void;
632
1003
  }
633
1004
 
1005
+ /**
1006
+ * @public
1007
+ */
634
1008
  export declare interface QerkoOverlayState {
635
1009
  data: QerkoData | null;
636
1010
  openQerkoOverlay: ((data: QerkoData) => void);
637
1011
  closeQerkoOverlay: () => void;
638
1012
  }
639
1013
 
1014
+ /**
1015
+ * @public
1016
+ */
640
1017
  export declare interface QerkoPaymentInfo {
641
1018
  webPaymentGatewayLink: string;
642
1019
  gatewayUri: string;
@@ -649,7 +1026,23 @@ export declare interface QerkoPaymentInfo {
649
1026
  monetizationFrequency: MONETIZATION_FREQUENCY;
650
1027
  }
651
1028
 
652
- declare interface QerkoTransaction {
1029
+ /**
1030
+ * @public
1031
+ */
1032
+ export declare interface QerkoPaymentProps {
1033
+ transaction: QerkoTransaction;
1034
+ qrCodeCaption?: string;
1035
+ renderErrorComponent: () => any;
1036
+ enablePayByCard?: boolean;
1037
+ payByCardCaption?: string;
1038
+ visaLogoUrl?: string;
1039
+ masterCardLogoUrl?: string;
1040
+ }
1041
+
1042
+ /**
1043
+ * @public
1044
+ */
1045
+ export declare interface QerkoTransaction {
653
1046
  paymentInfo: QerkoPaymentInfo | null;
654
1047
  paymentError: string | null;
655
1048
  paymentStatus: string | null;
@@ -657,6 +1050,9 @@ declare interface QerkoTransaction {
657
1050
  voucherId?: string;
658
1051
  }
659
1052
 
1053
+ /**
1054
+ * @public
1055
+ */
660
1056
  export declare type RemoteBundleState = {
661
1057
  config: InternalConfig;
662
1058
  error: string | null;
@@ -664,11 +1060,18 @@ export declare type RemoteBundleState = {
664
1060
  state: 'loading' | 'error' | 'ready';
665
1061
  } & Nullable<TivioBundle>;
666
1062
 
1063
+ /**
1064
+ * @public
1065
+ */
667
1066
  export declare type RemoteProviderProps = {
668
1067
  disableUnmounting?: boolean;
669
1068
  language?: string;
1069
+ children: any;
670
1070
  };
671
1071
 
1072
+ /**
1073
+ * @public
1074
+ */
672
1075
  export declare interface RouterOverrides {
673
1076
  goToVideoDetailPage: (videoId: string) => void;
674
1077
  goToSeriesDetailPage: (tagId: string) => void;
@@ -679,11 +1082,17 @@ export declare interface RouterOverrides {
679
1082
  goVodPlayer: (tvChannelId: string) => void;
680
1083
  }
681
1084
 
1085
+ /**
1086
+ * @public
1087
+ */
682
1088
  export declare interface RouterOverridesContextState {
683
1089
  routerOverrides: RouterOverrides;
684
1090
  }
685
1091
 
686
- declare interface Row {
1092
+ /**
1093
+ * @public
1094
+ */
1095
+ export declare interface Row {
687
1096
  id: string;
688
1097
  rowId: string;
689
1098
  name: string;
@@ -692,45 +1101,86 @@ declare interface Row {
692
1101
  rowComponent: RowComponent;
693
1102
  assets: Assets;
694
1103
  type: ScreenRowType;
1104
+ isLiveRow: boolean;
695
1105
  }
696
1106
 
1107
+ /**
1108
+ * @public
1109
+ */
697
1110
  export declare enum ROW_ITEM_TYPES {
698
1111
  VIDEO = "VIDEO",
699
1112
  TAG = "TAG",
700
1113
  TV_CHANNEL = "TV_CHANNEL"
701
1114
  }
702
1115
 
703
- declare enum RowComponent {
1116
+ /**
1117
+ * @public
1118
+ */
1119
+ export declare enum RowComponent {
704
1120
  ROW = "ROW",
705
1121
  BANNER = "BANNER"
706
1122
  }
707
1123
 
708
- declare interface RowItem extends RowItemAssets {
1124
+ /**
1125
+ * @public
1126
+ */
1127
+ export declare interface RowItem extends RowItemAssets {
709
1128
  itemType: ROW_ITEM_TYPES;
710
1129
  name?: string;
711
1130
  description?: string;
712
1131
  assets: Assets | null;
713
1132
  }
714
1133
 
715
- declare interface RowItemAssets {
1134
+ /**
1135
+ * @public
1136
+ */
1137
+ export declare interface RowItemAssets {
716
1138
  landscape?: string | null;
717
1139
  portrait?: string | null;
718
1140
  circled?: string | null;
719
1141
  banner?: string | null;
720
1142
  }
721
1143
 
722
- declare enum RowItemComponent {
1144
+ /**
1145
+ * @public
1146
+ */
1147
+ export declare enum RowItemComponent {
723
1148
  ROW_ITEM_PORTRAIT = "ROW_ITEM_PORTRAIT",
724
1149
  ROW_ITEM_LANDSCAPE = "ROW_ITEM_LANDSCAPE",
725
1150
  ROW_ITEM_CIRCLED = "ROW_ITEM_CIRCLED"
726
1151
  }
727
1152
 
728
- declare type ScalableAsset = {
1153
+ /**
1154
+ * Listen to items in row of a screen
1155
+ * @param rowId - row ID (user defined ID via studio.tiv.io)
1156
+ * @param cb - callback on items changes or error, with information
1157
+ * whether data is loading and a fetchMore function
1158
+ * @param limit - max item count (default 10)
1159
+ * @returns Disposer
1160
+ * @public
1161
+ */
1162
+ export declare type RowItemsSubscription = (rowId: string, cb: (error: Error | null, data: {
1163
+ items: Video[];
1164
+ hasNextPage: boolean;
1165
+ } | null, fetchMore: null | ((count?: number) => void), isLoading: boolean) => void, limit?: number) => Disposer_2;
1166
+
1167
+ /**
1168
+ * @public
1169
+ */
1170
+ export declare type ScalableAsset = {
729
1171
  '@1': Asset;
730
1172
  '@2'?: Asset;
731
1173
  '@3'?: Asset;
732
1174
  };
733
1175
 
1176
+ /**
1177
+ * @public
1178
+ */
1179
+ export declare type Scale = '@1' | '@2' | '@3';
1180
+
1181
+ /**
1182
+ * @public
1183
+ */
734
1184
  declare interface Screen_2 {
735
1185
  id: string;
736
1186
  name: string;
@@ -738,26 +1188,56 @@ declare interface Screen_2 {
738
1188
  assets: Assets;
739
1189
  rows: Row[];
740
1190
  }
1191
+ export { Screen_2 as Screen }
1192
+
1193
+ /**
1194
+ * @public
1195
+ */
1196
+ export declare type ScreenConfig = {
1197
+ id: string;
1198
+ name: string;
1199
+ };
741
1200
 
742
- declare type ScreenOptions = Partial<{
1201
+ /**
1202
+ * @public
1203
+ */
1204
+ export declare type ScreenOptions = Partial<{
743
1205
  language: LangCode;
744
1206
  initRows: boolean;
745
1207
  }> & DocumentOptions;
746
1208
 
747
- declare type ScreenRowType = 'filter' | 'custom' | 'continueToWatch' | 'favourites';
1209
+ /**
1210
+ * @public
1211
+ */
1212
+ export declare type ScreenRowType = 'filter' | 'custom' | 'continueToWatch' | 'favourites';
1213
+
1214
+ /**
1215
+ * Listen to screen data
1216
+ * @param screenId - screen ID (user defined ID via studio.tiv.io)
1217
+ * @param cb - callback on screen data change or error
1218
+ * @returns Disposer
1219
+ * @public
1220
+ */
1221
+ export declare type ScreenSubscription = (screenId: string, cb: (error: Error | null, data: Screen_2 | null) => void) => Disposer_2;
748
1222
 
749
- export declare type Section = {
1223
+ /**
1224
+ * @public
1225
+ */
1226
+ export declare interface Section {
750
1227
  id: string;
751
1228
  name: string;
752
1229
  channel: Channel;
753
1230
  videos: Video[];
754
- };
755
-
756
- declare interface Section_2 {
757
1231
  }
758
1232
 
759
- export declare const SectionsContext: React_2.Context<DataState<Section_2>>;
1233
+ /**
1234
+ * @public
1235
+ */
1236
+ export declare const SectionsContext: React_2.Context<DataState<Section>>;
760
1237
 
1238
+ /**
1239
+ * @public
1240
+ */
761
1241
  export declare type Settings = {
762
1242
  /**
763
1243
  * @deprecated TIV-994 in favour of setUser from libs/sdk-react/src/services/login.ts
@@ -765,35 +1245,79 @@ export declare type Settings = {
765
1245
  setUser: (userId: string, userPayload: unknown) => Promise<void>;
766
1246
  };
767
1247
 
1248
+ /**
1249
+ * Used for entities, that can be global (e.g. asset presets, tag types).
1250
+ * Non-global is stored under organizations (in sub-collection), and shown for organization's users and super-admin.
1251
+ * Global is stored in separate collection and shown only for super-admin.
1252
+ * @public
1253
+ */
1254
+ export declare interface SettingsItem {
1255
+ name: string;
1256
+ isGlobal?: boolean;
1257
+ }
1258
+
768
1259
  /**
769
1260
  * Set user to sign in/out.
770
1261
  *
771
1262
  * Sign in - setUser('userID', { token: 'xxx' })
772
1263
  * Sign out - setUser(null)
1264
+ * @public
773
1265
  */
774
1266
  export declare const setUser: (userId: string | null, payload?: UserPayload | undefined) => Promise<void>;
775
1267
 
1268
+ /**
1269
+ * @public
1270
+ */
776
1271
  export declare const showGdprConsentPreferences: () => Promise<void>;
777
1272
 
778
- declare type SubscribeToItemsInRow = (rowId: string, cb: (error: Error | null, data: PaginationInterface<ItemsInRow> | null) => void, options?: SubscribeToItemsInRowOptions) => Disposer_2;
1273
+ /**
1274
+ * @public
1275
+ */
1276
+ export declare type SubscribeToItemsInRow = (rowId: string, cb: (error: Error | null, data: PaginationInterface<ItemsInRow> | null) => void, options?: SubscribeToItemsInRowOptions) => Disposer_2;
779
1277
 
780
- declare type SubscribeToItemsInRowOptions = Partial<{
1278
+ /**
1279
+ * @public
1280
+ */
1281
+ export declare type SubscribeToItemsInRowOptions = Partial<{
781
1282
  fetchTags: boolean;
782
1283
  }> & PaginationOptions;
783
1284
 
784
- declare type SubscribeToRowsInScreen = (screenId: string, cb: (error: Error | null, data: PaginationInterface<Row> | null) => void, options?: PaginationOptions) => Disposer_2;
1285
+ /**
1286
+ * @public
1287
+ */
1288
+ export declare type SubscribeToRowsInScreen = (screenId: string, cb: (error: Error | null, data: PaginationInterface<Row> | null) => void, options?: PaginationOptions) => Disposer_2;
785
1289
 
786
- declare type SubscribeToScreen = (screenId: string, cb: (error: Error | null, data: Screen_2 | null) => void, options?: ScreenOptions) => Disposer_2;
1290
+ /**
1291
+ * @public
1292
+ */
1293
+ export declare type SubscribeToScreen = (screenId: string, cb: (error: Error | null, data: Screen_2 | null) => void, options?: ScreenOptions) => Disposer_2;
787
1294
 
788
- declare type SubscribeToTaggedVideos = (tagIds: string[], cb: (error: Error | null, data: PaginationInterface<Video> | null) => void, options?: SubscribeToTaggedVideosOptions) => Disposer_2;
1295
+ /**
1296
+ * @public
1297
+ */
1298
+ export declare type SubscribeToTaggedVideos = (tagIds: string[], cb: (error: Error | null, data: PaginationInterface<Video> | null) => void, options?: SubscribeToTaggedVideosOptions) => Disposer_2;
789
1299
 
790
- declare type SubscribeToTaggedVideosOptions = SubscribeToItemsInRowOptions & {
1300
+ /**
1301
+ * @public
1302
+ */
1303
+ export declare type SubscribeToTaggedVideosOptions = SubscribeToItemsInRowOptions & {
791
1304
  orderBy?: (Omit<OrderBy, 'field'> & {
792
1305
  field: TaggedVideosOrderByField;
793
1306
  })[];
794
1307
  where?: WhereFilter[];
795
1308
  };
796
1309
 
1310
+ /**
1311
+ * @public
1312
+ */
1313
+ export declare interface SubscriptionCardProps {
1314
+ subscription: Monetization;
1315
+ onClick: (subscription: Monetization) => void;
1316
+ buttonLabel: string;
1317
+ purchased: boolean;
1318
+ focused?: boolean;
1319
+ }
1320
+
797
1321
  declare type SubscriptionInfo = {
798
1322
  type: 'subscription';
799
1323
  name: string;
@@ -801,19 +1325,28 @@ declare type SubscriptionInfo = {
801
1325
  frequency: string;
802
1326
  };
803
1327
 
1328
+ /**
1329
+ * @public
1330
+ */
804
1331
  export declare interface SubscriptionOverlayData {
805
1332
  subscriptions?: Monetization[];
806
1333
  onPurchase?: () => void;
807
1334
  onClose?: () => void;
808
1335
  }
809
1336
 
1337
+ /**
1338
+ * @public
1339
+ */
810
1340
  export declare type SubscriptionOverlayState = {
811
1341
  data: SubscriptionOverlayData | null;
812
1342
  closeSubscriptionOverlay: () => void;
813
1343
  openSubscriptionOverlay: (data: SubscriptionOverlayData) => void;
814
1344
  };
815
1345
 
816
- declare interface Tag extends RowItem {
1346
+ /**
1347
+ * @public
1348
+ */
1349
+ export declare interface Tag extends RowItem {
817
1350
  id: string;
818
1351
  tagId: string;
819
1352
  type?: string | null;
@@ -826,9 +1359,15 @@ declare interface Tag extends RowItem {
826
1359
  removeFromFavorites: () => void;
827
1360
  }
828
1361
 
829
- declare type TaggedVideosOrderByField = 'seasonNumber' | 'episodeNumber' | 'contentType' | DefaultOrderByField;
1362
+ /**
1363
+ * @public
1364
+ */
1365
+ export declare type TaggedVideosOrderByField = 'seasonNumber' | 'episodeNumber' | 'contentType' | DefaultOrderByField;
830
1366
 
831
- declare type TileProps = {
1367
+ /**
1368
+ * @public
1369
+ */
1370
+ export declare type TileProps = {
832
1371
  cover: string;
833
1372
  isLoading: boolean;
834
1373
  bottomLabel: string;
@@ -854,13 +1393,19 @@ declare type TileProps = {
854
1393
  containerMargin?: number | string;
855
1394
  };
856
1395
 
857
- declare type TilePropsPartial = Partial<TileProps>;
1396
+ /**
1397
+ * @public
1398
+ */
1399
+ export declare type TilePropsPartial = Partial<TileProps>;
858
1400
 
1401
+ /**
1402
+ * @public
1403
+ */
859
1404
  export declare interface TivioAuth {
860
1405
  changePassword: (newPassword: string) => Promise<void>;
861
- changeUserPhoto(file: File): Promise<void>;
1406
+ changeUserPhoto(file: any): Promise<void>;
862
1407
  removeUserPhoto(): Promise<void>;
863
- getPurchasedVodsWithInitializedVideos: () => Promise<Purchase_2[]>;
1408
+ getPurchasedVodsWithInitializedVideos: () => Promise<Purchase[]>;
864
1409
  /**
865
1410
  * @param email
866
1411
  * @param password
@@ -871,7 +1416,7 @@ export declare interface TivioAuth {
871
1416
  * @param email
872
1417
  * @param password
873
1418
  */
874
- signInWithEmailAndPassword: (email: string, password: string) => Promise<void>;
1419
+ signInWithEmailAndPassword: (email: string, password: string) => Promise<string | null>;
875
1420
  initializeUser: () => Promise<void>;
876
1421
  signOut: () => Promise<void>;
877
1422
  /**
@@ -881,49 +1426,33 @@ export declare interface TivioAuth {
881
1426
  createFreePurchase: (monetizationId: string) => Promise<void>;
882
1427
  }
883
1428
 
884
- export declare type TivioBundle = {
885
- components: TivioComponents;
886
- getters: TivioGetters;
887
- auth: TivioAuth;
888
- hooks: TivioHooks;
1429
+ /**
1430
+ * @public
1431
+ */
1432
+ export declare type TivioBundle = BasicTivioBundle & {
889
1433
  init: (config: Config) => void | Promise<void>;
890
- purchaseVideoWithQerko: (videoId: string, monetizationId: string, voucher?: {
891
- expirationDate: Date;
892
- }) => Promise<QerkoPaymentInfo>;
893
- purchaseSubscriptionWithQerko: (monetizationId: string, voucher?: {
894
- expirationDate: Date;
895
- }) => Promise<QerkoPaymentInfo>;
896
- cancelSubscriptionWithQerko: (subscriptionId: string) => Promise<QerkoCancellationInfo>;
897
- setLanguage: (language: LangCode) => void;
898
- setUser: (userId: string | null, userPayload?: UserPayload) => Promise<void>;
899
- showConsentPreferences: () => void;
900
- sources: TivioSources;
901
- subscriptions: TivioSubscriptions;
902
- internal: {
903
- components: TivioInternalComponents;
904
- hooks: TivioInternalHooks;
905
- providers: TivioInternalProviders;
906
- };
907
1434
  };
908
1435
 
1436
+ /**
1437
+ * @public
1438
+ */
909
1439
  export declare type TivioBundleFile = {
910
1440
  Tivio: TivioBundle;
911
1441
  };
912
1442
 
1443
+ /**
1444
+ * @public
1445
+ */
913
1446
  export declare type TivioComponents = {
914
- AdIndicationButtonWeb: React_2.ReactNode;
915
1447
  Markers: React_2.ReactNode;
916
1448
  PlayerDataContext: React_2.ReactNode;
917
1449
  Provider: React_2.ComponentType<RemoteProviderProps>;
918
- Recommendation: React_2.ReactNode;
919
- SkipButtonWeb: React_2.ReactNode;
920
1450
  /**
921
1451
  * @deprecated will be removed in in @tivio/sdk-react@4
922
1452
  */
923
1453
  VideoAdBanner: React_2.ReactNode;
924
1454
  WebPlayer: React_2.ComponentType<WebPlayerProps>;
925
1455
  Widget: React_2.ComponentType<TivioWidgetProps>;
926
- TvPlayer: React_2.ComponentType<WebPlayerProps>;
927
1456
  PlayerDataContextProvider: React_2.ComponentType<{
928
1457
  id: string;
929
1458
  }>;
@@ -935,6 +1464,7 @@ export declare type TivioComponents = {
935
1464
  onEnded?: () => any;
936
1465
  }>;
937
1466
  TvApp: React_2.ComponentType<TvAppProps>;
1467
+ FeatureSupportCheck: React_2.ComponentType<{}>;
938
1468
  CustomerScreen: React_2.ComponentType<{
939
1469
  screenId: string;
940
1470
  }>;
@@ -947,16 +1477,31 @@ export declare type TivioComponents = {
947
1477
  }>;
948
1478
  WebRow: React_2.ComponentType<WebRowProps>;
949
1479
  WebTile: React_2.ComponentType<{
950
- item?: Video | Tag;
1480
+ item?: ItemsInRow;
951
1481
  } & TilePropsPartial>;
952
- FeatureSupportCheck: React_2.ComponentType<{}>;
1482
+ AdIndicationButtonWeb: React_2.ReactNode;
1483
+ Recommendation: React_2.ReactNode;
1484
+ SkipButtonWeb: React_2.ReactNode;
1485
+ TvPlayer: React_2.ComponentType<WebPlayerProps>;
953
1486
  };
954
1487
 
1488
+ /**
1489
+ * @public
1490
+ */
955
1491
  export declare const TivioContext: React_2.Context<RemoteBundleState | null>;
956
1492
 
1493
+ /**
1494
+ * @public
1495
+ */
957
1496
  export declare type TivioGetters = {
958
- isTivioLoaded: (cb: (isLoaded: boolean) => void) => boolean;
1497
+ isTivioLoaded: (cb: (isLoaded: boolean) => void) => void;
959
1498
  isSignedIn: () => boolean;
1499
+ /**
1500
+ * @deprecated is here only for backward compatibility
1501
+ */
1502
+ getExportedConfig: () => Promise<{
1503
+ showMarkers: true;
1504
+ }>;
960
1505
  /**
961
1506
  * Get channel by its id.
962
1507
  * @param channelId - channel id
@@ -970,8 +1515,7 @@ export declare type TivioGetters = {
970
1515
  */
971
1516
  getPlayerWrapper: (opt: {
972
1517
  playerWrapperId?: string;
973
- }) => PlayerWrapper;
974
- getOrganizationScreens: () => Promise<Screen_2[]>;
1518
+ }) => any;
975
1519
  getOrganizationSubscriptions: () => Promise<Monetization[] | undefined>;
976
1520
  /**
977
1521
  * Get section by its id.
@@ -998,6 +1542,9 @@ export declare type TivioGetters = {
998
1542
  getPlayerCapabilities: () => PlayerCapability[];
999
1543
  };
1000
1544
 
1545
+ /**
1546
+ * @public
1547
+ */
1001
1548
  export declare type TivioHooks = {
1002
1549
  useAd: () => [(AdSource | null)];
1003
1550
  useAdSegment: () => AdSegment | null;
@@ -1012,6 +1559,8 @@ export declare type TivioHooks = {
1012
1559
  error?: GenericOnCallError;
1013
1560
  purchaseRecovery: (monetizationId: string) => void;
1014
1561
  };
1562
+ useTransactionPayment: (videoId: string, monetizationId: string, voucher?: NewVoucher) => QerkoTransaction;
1563
+ usePurchaseSubscription: (monetizationId: string, voucher?: NewVoucher) => QerkoTransaction;
1015
1564
  useRowsInScreen: (screenId: string, options: PaginationOptions) => {
1016
1565
  pagination: PaginationInterface<Row> | null;
1017
1566
  error: Error | null;
@@ -1043,6 +1592,18 @@ export declare type TivioHooks = {
1043
1592
  };
1044
1593
  };
1045
1594
 
1595
+ /**
1596
+ * @public
1597
+ */
1598
+ export declare type TivioInternalBundle = {
1599
+ components: TivioInternalComponents;
1600
+ hooks: TivioInternalHooks;
1601
+ providers: TivioInternalProviders;
1602
+ };
1603
+
1604
+ /**
1605
+ * @public
1606
+ */
1046
1607
  export declare type TivioInternalComponents = {
1047
1608
  PrimaryButton: React_2.ComponentType;
1048
1609
  WebLandingScreen: React_2.ComponentType<{
@@ -1054,12 +1615,15 @@ export declare type TivioInternalComponents = {
1054
1615
  WebSeriesDetailScreen: React_2.ComponentType<WebSeriesDetailScreenProps>;
1055
1616
  };
1056
1617
 
1618
+ /**
1619
+ * @public
1620
+ */
1057
1621
  export declare type TivioInternalHooks = {
1058
1622
  useAuthOverlay: () => AuthOverlayState;
1059
1623
  useSubscriptionsOverlay: () => SubscriptionOverlayState;
1060
1624
  useQerkoOverlay: () => QerkoOverlayState;
1061
1625
  usePurchasesWithVideos: () => {
1062
- purchases: Purchase_2[];
1626
+ purchases: Purchase[];
1063
1627
  };
1064
1628
  useOrganizationSubscriptions: () => {
1065
1629
  subscriptions: Monetization[];
@@ -1077,6 +1641,9 @@ export declare type TivioInternalHooks = {
1077
1641
  };
1078
1642
  };
1079
1643
 
1644
+ /**
1645
+ * @public
1646
+ */
1080
1647
  export declare type TivioInternalProviders = {
1081
1648
  AppThemeProvider: React_2.ComponentType;
1082
1649
  AuthOverlayContextProvider: React_2.ComponentType;
@@ -1094,8 +1661,14 @@ export declare type TivioInternalProviders = {
1094
1661
  RouterOverridesContextProvider: React_2.ComponentType<RouterOverridesContextState>;
1095
1662
  };
1096
1663
 
1664
+ /**
1665
+ * @public
1666
+ */
1097
1667
  export declare const TivioProvider: React_2.FC<TivioProviderProps>;
1098
1668
 
1669
+ /**
1670
+ * @public
1671
+ */
1099
1672
  export declare type TivioProviderProps = {
1100
1673
  /**
1101
1674
  * This prop must be set only once and not change value afterwards
@@ -1104,6 +1677,9 @@ export declare type TivioProviderProps = {
1104
1677
  children: React_2.ReactNode;
1105
1678
  };
1106
1679
 
1680
+ /**
1681
+ * @public
1682
+ */
1107
1683
  export declare type TivioSources = {
1108
1684
  AdSource: any;
1109
1685
  ChannelSource: any;
@@ -1111,6 +1687,9 @@ export declare type TivioSources = {
1111
1687
  VodTivioSource: any;
1112
1688
  };
1113
1689
 
1690
+ /**
1691
+ * @public
1692
+ */
1114
1693
  export declare type TivioSubscriptions = {
1115
1694
  subscribeToUser: (cb: (error: string | null, user: User | null) => void) => void;
1116
1695
  /**
@@ -1118,7 +1697,7 @@ export declare type TivioSubscriptions = {
1118
1697
  * @param widgetId - widget id
1119
1698
  * @param cb - callback on widget updates or on error
1120
1699
  */
1121
- subscribeToWidget: (widgetId: string, cb: (error: Error | null, data: Widget | null, disposer?: Disposer) => void) => void;
1700
+ subscribeToWidget: (widgetId: string, cb: (error: Error | null, data: Widget | null, disposer?: Disposer_2) => void) => void;
1122
1701
  /**
1123
1702
  * Listen to channel changes.
1124
1703
  * @param channelId - channel id
@@ -1136,7 +1715,7 @@ export declare type TivioSubscriptions = {
1136
1715
  * @param videoId - video id
1137
1716
  * @param cb - callback on video updates or on error
1138
1717
  */
1139
- subscribeToVideo: (videoId: string, cb: (error: Error | null, data: Video | null, disposer?: Disposer) => void) => void;
1718
+ subscribeToVideo: (videoId: string, cb: (error: Error | null, data: Video | null, disposer?: Disposer_2) => void) => void;
1140
1719
  /**
1141
1720
  * Listen to videos in section changes.
1142
1721
  * @param sectionId - section id
@@ -1177,16 +1756,28 @@ export declare type TivioSubscriptions = {
1177
1756
  }) => void;
1178
1757
  };
1179
1758
 
1759
+ /**
1760
+ * @public
1761
+ */
1180
1762
  export declare const TivioWidget: React_2.ForwardRefExoticComponent<Pick<TivioWidgetProps, "id" | "onEnabled" | "onBlur"> & React_2.RefAttributes<TivioWidgetRef>>;
1181
1763
 
1764
+ /**
1765
+ * @public
1766
+ */
1182
1767
  export declare const TivioWidgetError: React_2.FC<TivioWidgetErrorProps>;
1183
1768
 
1184
1769
  declare type TivioWidgetErrorProps = {
1185
1770
  error: string | null;
1186
1771
  };
1187
1772
 
1773
+ /**
1774
+ * @public
1775
+ */
1188
1776
  export declare const TivioWidgetLoader: React_2.FC;
1189
1777
 
1778
+ /**
1779
+ * @public
1780
+ */
1190
1781
  export declare interface TivioWidgetProps {
1191
1782
  id: string;
1192
1783
  ref: React_2.MutableRefObject<TivioWidgetRef>;
@@ -1198,6 +1789,9 @@ export declare interface TivioWidgetProps {
1198
1789
  }) => any;
1199
1790
  }
1200
1791
 
1792
+ /**
1793
+ * @public
1794
+ */
1201
1795
  export declare interface TivioWidgetRef {
1202
1796
  focus: (args: {
1203
1797
  x?: number;
@@ -1221,16 +1815,23 @@ declare type TransactionInfo = {
1221
1815
 
1222
1816
  /**
1223
1817
  * Represents one string in every supported language mutation.
1818
+ * @public
1224
1819
  */
1225
1820
  export declare type Translation = {
1226
1821
  [key in LangCode]: string;
1227
1822
  };
1228
1823
 
1229
- declare type TvAppProps = {
1824
+ /**
1825
+ * @public
1826
+ */
1827
+ export declare type TvAppProps = {
1230
1828
  customer: CUSTOMER_BUILD;
1231
1829
  };
1232
1830
 
1233
- declare interface TvChannel extends RowItem {
1831
+ /**
1832
+ * @public
1833
+ */
1834
+ export declare interface TvChannel extends RowItem {
1234
1835
  name: string;
1235
1836
  id: string;
1236
1837
  path: string;
@@ -1244,10 +1845,19 @@ declare interface TvChannel extends RowItem {
1244
1845
  price: number;
1245
1846
  }
1246
1847
 
1848
+ /**
1849
+ * @public
1850
+ */
1247
1851
  export declare const TvTivioProvider: React_2.FC<TivioProviderProps>;
1248
1852
 
1853
+ /**
1854
+ * @public
1855
+ */
1249
1856
  export declare const useAd: () => AdSource | null;
1250
1857
 
1858
+ /**
1859
+ * @public
1860
+ */
1251
1861
  export declare const useAdSegment: () => {
1252
1862
  id: string;
1253
1863
  remainingMs: number;
@@ -1268,6 +1878,7 @@ export declare const useAdSegment: () => {
1268
1878
  * error - error in case request failure
1269
1879
  * applyInviteCode - function to apply invite code
1270
1880
  * inviteCodeReset - function to reset to initial state
1881
+ * @public
1271
1882
  */
1272
1883
  export declare function useApplyInviteCode(): {
1273
1884
  applyInviteCodeResult?: boolean | undefined;
@@ -1277,19 +1888,29 @@ export declare function useApplyInviteCode(): {
1277
1888
  inviteCodeReset: () => void;
1278
1889
  };
1279
1890
 
1891
+ /**
1892
+ * @public
1893
+ */
1280
1894
  export declare const useBetOffer: () => BetOffer | null;
1281
1895
 
1282
- declare type UseCancelSubscription = (subscriptionId: string) => {
1896
+ /**
1897
+ * @public
1898
+ */
1899
+ export declare type UseCancelSubscription = (subscriptionId: string) => {
1283
1900
  cancelSubscription: () => Promise<void>;
1284
1901
  cancellationInfo: QerkoCancellationInfo | null;
1285
1902
  error?: string | null;
1286
1903
  };
1287
1904
 
1905
+ /**
1906
+ * @public
1907
+ */
1288
1908
  export declare const useCancelSubscription: UseCancelSubscription;
1289
1909
 
1290
1910
  /**
1291
1911
  * Use channel
1292
1912
  * @param channelId - channel id
1913
+ * @public
1293
1914
  */
1294
1915
  export declare const useChannel: (channelId: string) => {
1295
1916
  error: string | null;
@@ -1300,30 +1921,49 @@ export declare const useChannel: (channelId: string) => {
1300
1921
  * Use channels in widget
1301
1922
  * @param widgetId - widget id
1302
1923
  * @param [limit] - channels count, defaults to 10
1924
+ * @public
1303
1925
  */
1304
1926
  export declare const useChannelsInWidget: (widgetId: string, limit?: number) => {
1305
1927
  error: Error | null;
1306
- data: PaginationData<Channel_2> | null;
1928
+ data: PaginationData<Channel> | null;
1307
1929
  isLoading: boolean;
1308
1930
  };
1309
1931
 
1310
- declare type UseChannelSource = (tvChannelId: string) => {
1311
- source: ChannelSource_2 | null;
1932
+ /**
1933
+ * @public
1934
+ */
1935
+ export declare type UseChannelSource = (tvChannelId: string) => {
1936
+ source: ChannelSourcePojo | null;
1312
1937
  error: Error | null;
1313
1938
  };
1314
1939
 
1940
+ /**
1941
+ * @public
1942
+ */
1315
1943
  export declare const useCurrentMarker: () => Marker | null;
1316
1944
 
1945
+ /**
1946
+ * @public
1947
+ */
1317
1948
  export declare const useFreePurchase: () => {
1318
1949
  purchase: (monetizationId: string) => Promise<void>;
1319
1950
  };
1320
1951
 
1952
+ /**
1953
+ * @public
1954
+ */
1321
1955
  export declare const useIntro: () => IntroMarker | null;
1322
1956
 
1957
+ /**
1958
+ * @public
1959
+ */
1323
1960
  export declare const useIsLoaded: () => {
1324
1961
  isTivioLoaded: boolean;
1325
1962
  };
1326
1963
 
1964
+ /**
1965
+ * @public
1966
+ */
1327
1967
  export declare const useIsMonetizationPurchased: () => {
1328
1968
  isOneOfSubscriptionPurchased: (subscriptionIds: string[]) => boolean;
1329
1969
  };
@@ -1332,6 +1972,7 @@ export declare const useIsMonetizationPurchased: () => {
1332
1972
  * Use row items
1333
1973
  * @param rowId - row ID
1334
1974
  * @param options - subscription options
1975
+ * @public
1335
1976
  */
1336
1977
  export declare const useItemsInRow: (rowId: string, options?: SubscribeToItemsInRowOptions) => {
1337
1978
  pagination: PaginationInterface<ItemsInRow> | null;
@@ -1340,17 +1981,30 @@ export declare const useItemsInRow: (rowId: string, options?: SubscribeToItemsIn
1340
1981
 
1341
1982
  /**
1342
1983
  * @deprecated will be removed in v4
1984
+ * @public
1343
1985
  */
1344
1986
  export declare function useLastVideoByWidgetId(widgetId: string): Video | null;
1345
1987
 
1988
+ /**
1989
+ * @public
1990
+ */
1346
1991
  export declare const useMarkers: () => Marker[] | null;
1347
1992
 
1993
+ /**
1994
+ * @public
1995
+ */
1348
1996
  export declare const useOrganizationSubscriptions: () => {
1349
1997
  subscriptions: Monetization[];
1350
1998
  };
1351
1999
 
2000
+ /**
2001
+ * @public
2002
+ */
1352
2003
  export declare type UsePlayerEvent = <T = any>(eventName: string) => T | null;
1353
2004
 
2005
+ /**
2006
+ * @public
2007
+ */
1354
2008
  export declare const usePlayerEvent: UsePlayerEvent;
1355
2009
 
1356
2010
  /**
@@ -1360,6 +2014,7 @@ export declare const usePlayerEvent: UsePlayerEvent;
1360
2014
  * loading - loading state
1361
2015
  * error - error in case request failure
1362
2016
  * purchaseRecovery - functions to execute purchase recovery
2017
+ * @public
1363
2018
  */
1364
2019
  export declare function usePurchaseRecovery(): {
1365
2020
  purchaseRecoveryResult?: string | undefined;
@@ -1368,20 +2023,27 @@ export declare function usePurchaseRecovery(): {
1368
2023
  purchaseRecovery: (monetizationId: string) => void;
1369
2024
  };
1370
2025
 
2026
+ /**
2027
+ * @public
2028
+ */
1371
2029
  export declare const usePurchaseSubscription: (monetizationId: string, voucher?: NewVoucher | undefined) => QerkoTransaction;
1372
2030
 
1373
2031
  /**
1374
2032
  * Return purchases with initialized video (purchases[i].video not null)
2033
+ * @public
1375
2034
  */
1376
2035
  export declare const usePurchasesWithVideos: () => {
1377
- purchases: Purchase_2[];
2036
+ purchases: Purchase[];
1378
2037
  };
1379
2038
 
2039
+ /**
2040
+ * @public
2041
+ */
1380
2042
  export declare type User = {
1381
- purchases: Purchase_2[];
1382
- allPurchases: Purchase_2[];
1383
- purchasedVods: Purchase_2[];
1384
- purchasedSubscriptions: Purchase_2[];
2043
+ purchases: Purchase[];
2044
+ allPurchases: Purchase[];
2045
+ purchasedVods: Purchase[];
2046
+ purchasedSubscriptions: Purchase[];
1385
2047
  isPurchasesInitialized: boolean;
1386
2048
  isSignedIn: boolean;
1387
2049
  email?: string;
@@ -1393,14 +2055,23 @@ export declare type User = {
1393
2055
  watchedPositions: any[];
1394
2056
  };
1395
2057
 
2058
+ /**
2059
+ * @public
2060
+ */
1396
2061
  export declare const useRowsInScreen: (screenId: string, options?: PaginationOptions) => {
1397
2062
  pagination: PaginationInterface<Row> | null;
1398
2063
  error: Error | null;
1399
2064
  };
1400
2065
 
2066
+ /**
2067
+ * @public
2068
+ */
1401
2069
  export declare type UserPayload = Record<string, any>;
1402
2070
 
1403
- declare enum UserType {
2071
+ /**
2072
+ * @public
2073
+ */
2074
+ export declare enum UserType {
1404
2075
  ORGANIZATION_USER = "ORGANIZATION_USER",
1405
2076
  TIVIO_USER = "TIVIO_USER"
1406
2077
  }
@@ -1411,14 +2082,14 @@ declare enum UserType {
1411
2082
  * Use app screen
1412
2083
  * @param screenId - screen ID
1413
2084
  * @param options - subscribe to screen options
2085
+ * @public
1414
2086
  */
1415
2087
  export declare const useScreen: (screenId: string, options?: ScreenOptions | undefined) => never;
1416
2088
 
1417
- export declare const useScreens: () => {
1418
- screens: Screen_2[];
1419
- };
1420
-
1421
- declare type UseSearch = <T extends ALGOLIA_INDEX_NAME>(indexName: T, options?: UseSearchOptions) => {
2089
+ /**
2090
+ * @public
2091
+ */
2092
+ export declare type UseSearch = <T extends ALGOLIA_INDEX_NAME>(indexName: T, options?: UseSearchOptions) => {
1422
2093
  search: (query: string) => void;
1423
2094
  pagination: PaginationInterface<UseSearchResult<T>> | null;
1424
2095
  error: Error | null;
@@ -1430,18 +2101,26 @@ declare type UseSearch = <T extends ALGOLIA_INDEX_NAME>(indexName: T, options?:
1430
2101
  * Full text search that returns entities based on search query.
1431
2102
  * @param indexName - index that search would be performed on ('videos', 'tags', etc.)
1432
2103
  * @param options - pagination options
2104
+ * @public
1433
2105
  */
1434
2106
  export declare const useSearch: UseSearch;
1435
2107
 
1436
- declare type UseSearchOptions = PaginationOptions & Partial<{
2108
+ /**
2109
+ * @public
2110
+ */
2111
+ export declare type UseSearchOptions = PaginationOptions & Partial<{
1437
2112
  minQueryLength: number;
1438
2113
  }>;
1439
2114
 
1440
- 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;
2115
+ /**
2116
+ * @public
2117
+ */
2118
+ 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;
1441
2119
 
1442
2120
  /**
1443
2121
  * Use section
1444
2122
  * @param sectionId - section id
2123
+ * @public
1445
2124
  */
1446
2125
  export declare const useSection: (sectionId: string) => {
1447
2126
  error: string | null;
@@ -1452,37 +2131,57 @@ export declare const useSection: (sectionId: string) => {
1452
2131
  * Use section in channel
1453
2132
  * @param channelId - channel id
1454
2133
  * @param [limit] - sections count, defaults to 10
2134
+ * @public
1455
2135
  */
1456
2136
  export declare const useSectionsInChannel: (channelId: string, limit?: number) => {
1457
2137
  error: Error | null;
1458
- data: PaginationData<Section_2> | null;
2138
+ data: PaginationData<Section> | null;
1459
2139
  isLoading: boolean;
1460
2140
  };
1461
2141
 
2142
+ /**
2143
+ * @public
2144
+ */
1462
2145
  export declare const useSeekState: () => boolean | null;
1463
2146
 
1464
2147
  /**
1465
2148
  * Returns videos with given tag ids
1466
2149
  * @param tagIds - tag ids
1467
2150
  * @param options - subscription options
2151
+ * @public
1468
2152
  */
1469
2153
  export declare const useTaggedVideos: (tagIds: string[], options?: SubscribeToItemsInRowOptions) => {
1470
2154
  pagination: PaginationInterface<Video> | null;
1471
2155
  error: Error | null;
1472
2156
  };
1473
2157
 
2158
+ /**
2159
+ * @public
2160
+ */
1474
2161
  export declare const useTivioData: () => RemoteBundleState;
1475
2162
 
2163
+ /**
2164
+ * @public
2165
+ */
1476
2166
  export declare const useTivioReadyData: () => RemoteBundleState | null;
1477
2167
 
2168
+ /**
2169
+ * @public
2170
+ */
1478
2171
  export declare const useTransactionPayment: (videoId: string, monetizationId: string, voucher?: NewVoucher | undefined) => QerkoTransaction;
1479
2172
 
1480
- declare type UseTvChannel = (tvChannelId: string) => {
2173
+ /**
2174
+ * @public
2175
+ */
2176
+ export declare type UseTvChannel = (tvChannelId: string) => {
1481
2177
  tvChannel: TvChannel | null;
1482
2178
  error: Error | null;
1483
2179
  loading: boolean;
1484
2180
  };
1485
2181
 
2182
+ /**
2183
+ * @public
2184
+ */
1486
2185
  export declare const useUser: () => {
1487
2186
  user: User | null;
1488
2187
  error: string | null;
@@ -1492,6 +2191,7 @@ export declare const useUser: () => {
1492
2191
  /**
1493
2192
  * Use video
1494
2193
  * @param videoId - video id
2194
+ * @public
1495
2195
  */
1496
2196
  export declare const useVideo: (videoId?: string | undefined) => {
1497
2197
  data: Video | null;
@@ -1502,6 +2202,7 @@ export declare const useVideo: (videoId?: string | undefined) => {
1502
2202
  * Use videos in section
1503
2203
  * @param sectionId - section id
1504
2204
  * @param [limit] - videos count, defaults to 10
2205
+ * @public
1505
2206
  */
1506
2207
  export declare const useVideosInSection: (sectionId?: string | undefined, limit?: number) => {
1507
2208
  error: Error | null;
@@ -1509,6 +2210,9 @@ export declare const useVideosInSection: (sectionId?: string | undefined, limit?
1509
2210
  isLoading: boolean;
1510
2211
  };
1511
2212
 
2213
+ /**
2214
+ * @public
2215
+ */
1512
2216
  export declare const useVoucher: (voucherId: string) => {
1513
2217
  activate: (() => Promise<void>) | null;
1514
2218
  voucher: Voucher | null;
@@ -1523,6 +2227,9 @@ export declare const useVoucher: (voucherId: string) => {
1523
2227
  activationSuccess: boolean;
1524
2228
  };
1525
2229
 
2230
+ /**
2231
+ * @public
2232
+ */
1526
2233
  export declare const useWatchWithoutAdsOffer: () => {
1527
2234
  canPurchaseWatchWithoutAds: boolean;
1528
2235
  showPurchaseDialog: () => void;
@@ -1531,12 +2238,47 @@ export declare const useWatchWithoutAdsOffer: () => {
1531
2238
  /**
1532
2239
  * Use widget
1533
2240
  * @param widgetId - widget id
2241
+ * @public
1534
2242
  */
1535
2243
  export declare const useWidget: (widgetId: string) => {
1536
2244
  error: string;
1537
2245
  widget: Widget | null;
1538
2246
  };
1539
2247
 
2248
+ /**
2249
+ * @public
2250
+ */
2251
+ export declare const VAST_PROVIDERS: ({
2252
+ id: VastProvider;
2253
+ name: string;
2254
+ development?: undefined;
2255
+ } | {
2256
+ id: VastProvider;
2257
+ name: string;
2258
+ development: boolean;
2259
+ })[];
2260
+
2261
+ /**
2262
+ * @public
2263
+ */
2264
+ export declare enum VastProvider {
2265
+ CNC_PREBID = "cnc-prebid",
2266
+ ETARGET_PREBID = "etarget-prebid",
2267
+ FALLBACK_HLS = "fallback-hls",
2268
+ FALLBACK_MP4 = "fallback",
2269
+ GARAZ_TV = "garaz.tv",
2270
+ GARAZ_TV_DEV = "garaz.tv.dev",
2271
+ IMPRESSION_MEDIA_PREBID = "impressionMedia-prebid",
2272
+ JOJ = "joj",
2273
+ MALL_TV = "malltv",
2274
+ MALL_TV_PREBID = "malltv-prebid",
2275
+ PRIMA = "prima",
2276
+ TEST = "test"
2277
+ }
2278
+
2279
+ /**
2280
+ * @public
2281
+ */
1540
2282
  export declare interface Video extends RowItem {
1541
2283
  id: string;
1542
2284
  /**
@@ -1586,16 +2328,22 @@ export declare interface Video extends RowItem {
1586
2328
  isFavorite: boolean;
1587
2329
  addToFavorites: () => void;
1588
2330
  removeFromFavorites: () => void;
1589
- availability: VideoAvailabilityField | null;
2331
+ availability: VideoAvailability | null;
1590
2332
  }
1591
2333
 
1592
- declare type VideoAvailabilityField = {
1593
- from: firebase_2.firestore.Timestamp;
1594
- to: firebase_2.firestore.Timestamp | null;
2334
+ /**
2335
+ * @public
2336
+ */
2337
+ export declare type VideoAvailability = {
2338
+ from: Date;
2339
+ to: Date | null;
1595
2340
  manual: boolean;
1596
2341
  };
1597
2342
 
1598
- declare enum VideoContentType {
2343
+ /**
2344
+ * @public
2345
+ */
2346
+ export declare enum VideoContentType {
1599
2347
  /**
1600
2348
  * Default video content type
1601
2349
  */
@@ -1604,10 +2352,48 @@ declare enum VideoContentType {
1604
2352
  SERIES = "SERIES"
1605
2353
  }
1606
2354
 
2355
+ /**
2356
+ * @public
2357
+ */
2358
+ export declare interface VideoExternals {
2359
+ tvProfiProgramId?: string;
2360
+ tvProfiContentId?: string;
2361
+ tvProfiSerialId?: string;
2362
+ contentId?: string;
2363
+ provysId?: string;
2364
+ mallTvEntityId?: string;
2365
+ /**
2366
+ * DRM content Key ID - should't be more connected with buyDRM or streamOnline? It is not general thing
2367
+ */
2368
+ keyId?: string;
2369
+ }
2370
+
1607
2371
  declare type VideoPath = string;
1608
2372
 
2373
+ /**
2374
+ * @public
2375
+ */
1609
2376
  export declare const VideosContext: React_2.Context<DataState<Video>>;
1610
2377
 
2378
+ /**
2379
+ * Video type.
2380
+ * @public
2381
+ */
2382
+ export declare enum VideoType {
2383
+ /**
2384
+ * Video is composed of several other videos.
2385
+ */
2386
+ PLAYLIST = "PLAYLIST",
2387
+ /**
2388
+ * Video is a standard single video.
2389
+ */
2390
+ VIDEO = "VIDEO",
2391
+ TV_PROGRAM = "TV_PROGRAM"
2392
+ }
2393
+
2394
+ /**
2395
+ * @public
2396
+ */
1611
2397
  export declare type VodExternalSource = {
1612
2398
  new (uri: string, monetizationId: string, name: string, description: string, originalOptions: Record<string, any>): VodTivioSource;
1613
2399
  type: 'vod_external';
@@ -1616,6 +2402,9 @@ export declare type VodExternalSource = {
1616
2402
  uri: string;
1617
2403
  };
1618
2404
 
2405
+ /**
2406
+ * @public
2407
+ */
1619
2408
  export declare type VodTivioSource = {
1620
2409
  new (uri: string, videoId: string, name: string, description: string, adMonetizationId?: string): VodTivioSource;
1621
2410
  type: 'vod_tivio';
@@ -1624,7 +2413,7 @@ export declare type VodTivioSource = {
1624
2413
  uri: string;
1625
2414
  };
1626
2415
 
1627
- export declare interface VodTivioSourcePojo {
2416
+ declare interface VodTivioSourcePojo {
1628
2417
  type: 'VodTivioSource';
1629
2418
  description: string;
1630
2419
  path: string;
@@ -1632,6 +2421,7 @@ export declare interface VodTivioSourcePojo {
1632
2421
  uri: string;
1633
2422
  poster?: string;
1634
2423
  adMonetizationId?: string;
2424
+ availability: VideoAvailability | null;
1635
2425
  }
1636
2426
 
1637
2427
  /**
@@ -1645,6 +2435,9 @@ declare type Voucher = {
1645
2435
  voucherInfo: SubscriptionInfo | TransactionInfo;
1646
2436
  };
1647
2437
 
2438
+ /**
2439
+ * @public
2440
+ */
1648
2441
  export declare interface WebPlayerProps {
1649
2442
  id: string;
1650
2443
  source?: VodTivioSourcePojo | ChannelSourcePojo | VideoPath | null;
@@ -1696,24 +2489,38 @@ export declare interface WebPlayerProps {
1696
2489
  onPlayerControllerCreated?: (playerController: any) => void;
1697
2490
  }
1698
2491
 
1699
- declare type WebRowProps = {
2492
+ /**
2493
+ * @public
2494
+ */
2495
+ export declare type WebRowProps = {
1700
2496
  items?: ItemsInRow[];
1701
2497
  variant?: RowItemComponent;
1702
- rowName?: string;
2498
+ rowName?: string | any;
1703
2499
  fetchMore?: () => void;
1704
2500
  onTileClick?: (item: ItemsInRow) => void;
1705
2501
  };
1706
2502
 
1707
- declare type WebSeriesDetailScreenProps = {
2503
+ /**
2504
+ * @public
2505
+ */
2506
+ export declare type WebSeriesDetailScreenProps = {
1708
2507
  tagId: string;
1709
2508
  };
1710
2509
 
1711
- declare interface WhereFilter {
2510
+ /**
2511
+ * @public
2512
+ */
2513
+ export declare interface WhereFilter {
1712
2514
  field: string;
1713
2515
  operator: WhereFilterOp;
1714
2516
  value: any;
1715
2517
  }
1716
2518
 
2519
+ declare type WhereFilterOp = '<' | '<=' | '==' | '!=' | '>=' | '>' | 'array-contains' | 'in' | 'array-contains-any' | 'not-in';
2520
+
2521
+ /**
2522
+ * @public
2523
+ */
1717
2524
  export declare type Widget = {
1718
2525
  id: string;
1719
2526
  channels: Channel[];
@@ -1724,6 +2531,9 @@ export declare type Widget = {
1724
2531
  lastVideo: Video | null;
1725
2532
  };
1726
2533
 
2534
+ /**
2535
+ * @public
2536
+ */
1727
2537
  export declare function withPlayerContext(id: string): <P>(WrappedComponent: React_2.ComponentType<P>) => (props: P) => JSX.Element;
1728
2538
 
1729
2539
  export { }