@tivio/sdk-react 3.6.0 → 3.6.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -1,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 { }