@tivio/sdk-react 3.6.1 → 3.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -1,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,51 @@ 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 = {
941
+ /**
942
+ * Timestamp of the purchase creation in milliseconds.
943
+ */
944
+ created: number | null;
945
+ expirationDate: Date | null;
586
946
  id: string;
947
+ isExpired: boolean;
587
948
  isPurchased: boolean;
588
- monetizationRef: firebase_3.firestore.DocumentReference | null;
589
949
  monetization: PurchaseMonetization | null;
590
950
  monetizationId: string | null;
591
- type: MonetizationType | null;
592
- videoId: string | null;
951
+ monetizationRef: any | null;
593
952
  status: PurchaseStatus | null;
953
+ type: MonetizationType | null;
954
+ /**
955
+ * Timestamp of the last purchase status update in milliseconds.
956
+ */
957
+ updated: number | null;
594
958
  video: Video | null;
595
- videoRef: firebase_3.firestore.DocumentReference | null;
596
- expirationDate: Date | null;
597
- isExpired: boolean;
959
+ videoId: string | null;
960
+ videoRef: any | null;
598
961
  voucherId?: string;
599
962
  };
600
963
 
601
- declare type PurchaseMonetization = {
602
- currency: Currency;
603
- period: number;
604
- price: number;
964
+ /**
965
+ * @public
966
+ */
967
+ export declare type PurchaseMonetization = {
968
+ currency?: Currency;
969
+ period?: number;
970
+ price?: number;
605
971
  type: MonetizationType;
606
- title: string;
607
- frequency: MONETIZATION_FREQUENCY | null;
972
+ title?: string;
973
+ frequency?: MONETIZATION_FREQUENCY | null;
608
974
  /**
609
975
  * If set, purchase (subscription) activated by voucher will stay valid for this amount of seconds.
610
976
  * Otherwise, purchase will be valid for one "monetization frequency" period.
@@ -612,18 +978,31 @@ declare type PurchaseMonetization = {
612
978
  voucherPurchaseDuration?: number;
613
979
  };
614
980
 
615
- declare enum PurchaseStatus {
981
+ /**
982
+ * @public
983
+ */
984
+ export declare enum PurchaseStatus {
616
985
  NEW = "NEW",
617
986
  PAID = "PAID",
618
987
  CANCELLED = "CANCELLED",
619
- ERROR = "ERROR"
988
+ ERROR = "ERROR",
989
+ /**
990
+ * Used when purchase is terminated due to terms and conditions violation (e.g. restreaming).
991
+ */
992
+ KILL = "KILL"
620
993
  }
621
994
 
995
+ /**
996
+ * @public
997
+ */
622
998
  export declare interface QerkoCancellationInfo {
623
999
  purchaseId: string;
624
1000
  status: PurchaseStatus;
625
1001
  }
626
1002
 
1003
+ /**
1004
+ * @public
1005
+ */
627
1006
  export declare interface QerkoData {
628
1007
  monetization: Monetization;
629
1008
  video?: Video;
@@ -631,12 +1010,18 @@ export declare interface QerkoData {
631
1010
  onClose?: () => void;
632
1011
  }
633
1012
 
1013
+ /**
1014
+ * @public
1015
+ */
634
1016
  export declare interface QerkoOverlayState {
635
1017
  data: QerkoData | null;
636
1018
  openQerkoOverlay: ((data: QerkoData) => void);
637
1019
  closeQerkoOverlay: () => void;
638
1020
  }
639
1021
 
1022
+ /**
1023
+ * @public
1024
+ */
640
1025
  export declare interface QerkoPaymentInfo {
641
1026
  webPaymentGatewayLink: string;
642
1027
  gatewayUri: string;
@@ -649,7 +1034,23 @@ export declare interface QerkoPaymentInfo {
649
1034
  monetizationFrequency: MONETIZATION_FREQUENCY;
650
1035
  }
651
1036
 
652
- declare interface QerkoTransaction {
1037
+ /**
1038
+ * @public
1039
+ */
1040
+ export declare interface QerkoPaymentProps {
1041
+ transaction: QerkoTransaction;
1042
+ qrCodeCaption?: string;
1043
+ renderErrorComponent: () => any;
1044
+ enablePayByCard?: boolean;
1045
+ payByCardCaption?: string;
1046
+ visaLogoUrl?: string;
1047
+ masterCardLogoUrl?: string;
1048
+ }
1049
+
1050
+ /**
1051
+ * @public
1052
+ */
1053
+ export declare interface QerkoTransaction {
653
1054
  paymentInfo: QerkoPaymentInfo | null;
654
1055
  paymentError: string | null;
655
1056
  paymentStatus: string | null;
@@ -657,6 +1058,9 @@ declare interface QerkoTransaction {
657
1058
  voucherId?: string;
658
1059
  }
659
1060
 
1061
+ /**
1062
+ * @public
1063
+ */
660
1064
  export declare type RemoteBundleState = {
661
1065
  config: InternalConfig;
662
1066
  error: string | null;
@@ -664,11 +1068,18 @@ export declare type RemoteBundleState = {
664
1068
  state: 'loading' | 'error' | 'ready';
665
1069
  } & Nullable<TivioBundle>;
666
1070
 
1071
+ /**
1072
+ * @public
1073
+ */
667
1074
  export declare type RemoteProviderProps = {
668
1075
  disableUnmounting?: boolean;
669
1076
  language?: string;
1077
+ children: any;
670
1078
  };
671
1079
 
1080
+ /**
1081
+ * @public
1082
+ */
672
1083
  export declare interface RouterOverrides {
673
1084
  goToVideoDetailPage: (videoId: string) => void;
674
1085
  goToSeriesDetailPage: (tagId: string) => void;
@@ -679,11 +1090,17 @@ export declare interface RouterOverrides {
679
1090
  goVodPlayer: (tvChannelId: string) => void;
680
1091
  }
681
1092
 
1093
+ /**
1094
+ * @public
1095
+ */
682
1096
  export declare interface RouterOverridesContextState {
683
1097
  routerOverrides: RouterOverrides;
684
1098
  }
685
1099
 
686
- declare interface Row {
1100
+ /**
1101
+ * @public
1102
+ */
1103
+ export declare interface Row {
687
1104
  id: string;
688
1105
  rowId: string;
689
1106
  name: string;
@@ -692,45 +1109,86 @@ declare interface Row {
692
1109
  rowComponent: RowComponent;
693
1110
  assets: Assets;
694
1111
  type: ScreenRowType;
1112
+ isLiveRow: boolean;
695
1113
  }
696
1114
 
1115
+ /**
1116
+ * @public
1117
+ */
697
1118
  export declare enum ROW_ITEM_TYPES {
698
1119
  VIDEO = "VIDEO",
699
1120
  TAG = "TAG",
700
1121
  TV_CHANNEL = "TV_CHANNEL"
701
1122
  }
702
1123
 
703
- declare enum RowComponent {
1124
+ /**
1125
+ * @public
1126
+ */
1127
+ export declare enum RowComponent {
704
1128
  ROW = "ROW",
705
1129
  BANNER = "BANNER"
706
1130
  }
707
1131
 
708
- declare interface RowItem extends RowItemAssets {
1132
+ /**
1133
+ * @public
1134
+ */
1135
+ export declare interface RowItem extends RowItemAssets {
709
1136
  itemType: ROW_ITEM_TYPES;
710
1137
  name?: string;
711
1138
  description?: string;
712
1139
  assets: Assets | null;
713
1140
  }
714
1141
 
715
- declare interface RowItemAssets {
1142
+ /**
1143
+ * @public
1144
+ */
1145
+ export declare interface RowItemAssets {
716
1146
  landscape?: string | null;
717
1147
  portrait?: string | null;
718
1148
  circled?: string | null;
719
1149
  banner?: string | null;
720
1150
  }
721
1151
 
722
- declare enum RowItemComponent {
1152
+ /**
1153
+ * @public
1154
+ */
1155
+ export declare enum RowItemComponent {
723
1156
  ROW_ITEM_PORTRAIT = "ROW_ITEM_PORTRAIT",
724
1157
  ROW_ITEM_LANDSCAPE = "ROW_ITEM_LANDSCAPE",
725
1158
  ROW_ITEM_CIRCLED = "ROW_ITEM_CIRCLED"
726
1159
  }
727
1160
 
728
- declare type ScalableAsset = {
1161
+ /**
1162
+ * Listen to items in row of a screen
1163
+ * @param rowId - row ID (user defined ID via studio.tiv.io)
1164
+ * @param cb - callback on items changes or error, with information
1165
+ * whether data is loading and a fetchMore function
1166
+ * @param limit - max item count (default 10)
1167
+ * @returns Disposer
1168
+ * @public
1169
+ */
1170
+ export declare type RowItemsSubscription = (rowId: string, cb: (error: Error | null, data: {
1171
+ items: Video[];
1172
+ hasNextPage: boolean;
1173
+ } | null, fetchMore: null | ((count?: number) => void), isLoading: boolean) => void, limit?: number) => Disposer_2;
1174
+
1175
+ /**
1176
+ * @public
1177
+ */
1178
+ export declare type ScalableAsset = {
729
1179
  '@1': Asset;
730
1180
  '@2'?: Asset;
731
1181
  '@3'?: Asset;
732
1182
  };
733
1183
 
1184
+ /**
1185
+ * @public
1186
+ */
1187
+ export declare type Scale = '@1' | '@2' | '@3';
1188
+
1189
+ /**
1190
+ * @public
1191
+ */
734
1192
  declare interface Screen_2 {
735
1193
  id: string;
736
1194
  name: string;
@@ -738,26 +1196,56 @@ declare interface Screen_2 {
738
1196
  assets: Assets;
739
1197
  rows: Row[];
740
1198
  }
1199
+ export { Screen_2 as Screen }
1200
+
1201
+ /**
1202
+ * @public
1203
+ */
1204
+ export declare type ScreenConfig = {
1205
+ id: string;
1206
+ name: string;
1207
+ };
741
1208
 
742
- declare type ScreenOptions = Partial<{
1209
+ /**
1210
+ * @public
1211
+ */
1212
+ export declare type ScreenOptions = Partial<{
743
1213
  language: LangCode;
744
1214
  initRows: boolean;
745
1215
  }> & DocumentOptions;
746
1216
 
747
- declare type ScreenRowType = 'filter' | 'custom' | 'continueToWatch' | 'favourites';
1217
+ /**
1218
+ * @public
1219
+ */
1220
+ export declare type ScreenRowType = 'filter' | 'custom' | 'continueToWatch' | 'favourites';
1221
+
1222
+ /**
1223
+ * Listen to screen data
1224
+ * @param screenId - screen ID (user defined ID via studio.tiv.io)
1225
+ * @param cb - callback on screen data change or error
1226
+ * @returns Disposer
1227
+ * @public
1228
+ */
1229
+ export declare type ScreenSubscription = (screenId: string, cb: (error: Error | null, data: Screen_2 | null) => void) => Disposer_2;
748
1230
 
749
- export declare type Section = {
1231
+ /**
1232
+ * @public
1233
+ */
1234
+ export declare interface Section {
750
1235
  id: string;
751
1236
  name: string;
752
1237
  channel: Channel;
753
1238
  videos: Video[];
754
- };
755
-
756
- declare interface Section_2 {
757
1239
  }
758
1240
 
759
- export declare const SectionsContext: React_2.Context<DataState<Section_2>>;
1241
+ /**
1242
+ * @public
1243
+ */
1244
+ export declare const SectionsContext: React_2.Context<DataState<Section>>;
760
1245
 
1246
+ /**
1247
+ * @public
1248
+ */
761
1249
  export declare type Settings = {
762
1250
  /**
763
1251
  * @deprecated TIV-994 in favour of setUser from libs/sdk-react/src/services/login.ts
@@ -765,35 +1253,79 @@ export declare type Settings = {
765
1253
  setUser: (userId: string, userPayload: unknown) => Promise<void>;
766
1254
  };
767
1255
 
1256
+ /**
1257
+ * Used for entities, that can be global (e.g. asset presets, tag types).
1258
+ * Non-global is stored under organizations (in sub-collection), and shown for organization's users and super-admin.
1259
+ * Global is stored in separate collection and shown only for super-admin.
1260
+ * @public
1261
+ */
1262
+ export declare interface SettingsItem {
1263
+ name: string;
1264
+ isGlobal?: boolean;
1265
+ }
1266
+
768
1267
  /**
769
1268
  * Set user to sign in/out.
770
1269
  *
771
1270
  * Sign in - setUser('userID', { token: 'xxx' })
772
1271
  * Sign out - setUser(null)
1272
+ * @public
773
1273
  */
774
1274
  export declare const setUser: (userId: string | null, payload?: UserPayload | undefined) => Promise<void>;
775
1275
 
1276
+ /**
1277
+ * @public
1278
+ */
776
1279
  export declare const showGdprConsentPreferences: () => Promise<void>;
777
1280
 
778
- declare type SubscribeToItemsInRow = (rowId: string, cb: (error: Error | null, data: PaginationInterface<ItemsInRow> | null) => void, options?: SubscribeToItemsInRowOptions) => Disposer_2;
1281
+ /**
1282
+ * @public
1283
+ */
1284
+ export declare type SubscribeToItemsInRow = (rowId: string, cb: (error: Error | null, data: PaginationInterface<ItemsInRow> | null) => void, options?: SubscribeToItemsInRowOptions) => Disposer_2;
779
1285
 
780
- declare type SubscribeToItemsInRowOptions = Partial<{
1286
+ /**
1287
+ * @public
1288
+ */
1289
+ export declare type SubscribeToItemsInRowOptions = Partial<{
781
1290
  fetchTags: boolean;
782
1291
  }> & PaginationOptions;
783
1292
 
784
- declare type SubscribeToRowsInScreen = (screenId: string, cb: (error: Error | null, data: PaginationInterface<Row> | null) => void, options?: PaginationOptions) => Disposer_2;
1293
+ /**
1294
+ * @public
1295
+ */
1296
+ export declare type SubscribeToRowsInScreen = (screenId: string, cb: (error: Error | null, data: PaginationInterface<Row> | null) => void, options?: PaginationOptions) => Disposer_2;
785
1297
 
786
- declare type SubscribeToScreen = (screenId: string, cb: (error: Error | null, data: Screen_2 | null) => void, options?: ScreenOptions) => Disposer_2;
1298
+ /**
1299
+ * @public
1300
+ */
1301
+ export declare type SubscribeToScreen = (screenId: string, cb: (error: Error | null, data: Screen_2 | null) => void, options?: ScreenOptions) => Disposer_2;
787
1302
 
788
- declare type SubscribeToTaggedVideos = (tagIds: string[], cb: (error: Error | null, data: PaginationInterface<Video> | null) => void, options?: SubscribeToTaggedVideosOptions) => Disposer_2;
1303
+ /**
1304
+ * @public
1305
+ */
1306
+ export declare type SubscribeToTaggedVideos = (tagIds: string[], cb: (error: Error | null, data: PaginationInterface<Video> | null) => void, options?: SubscribeToTaggedVideosOptions) => Disposer_2;
789
1307
 
790
- declare type SubscribeToTaggedVideosOptions = SubscribeToItemsInRowOptions & {
1308
+ /**
1309
+ * @public
1310
+ */
1311
+ export declare type SubscribeToTaggedVideosOptions = SubscribeToItemsInRowOptions & {
791
1312
  orderBy?: (Omit<OrderBy, 'field'> & {
792
1313
  field: TaggedVideosOrderByField;
793
1314
  })[];
794
1315
  where?: WhereFilter[];
795
1316
  };
796
1317
 
1318
+ /**
1319
+ * @public
1320
+ */
1321
+ export declare interface SubscriptionCardProps {
1322
+ subscription: Monetization;
1323
+ onClick: (subscription: Monetization) => void;
1324
+ buttonLabel: string;
1325
+ purchased: boolean;
1326
+ focused?: boolean;
1327
+ }
1328
+
797
1329
  declare type SubscriptionInfo = {
798
1330
  type: 'subscription';
799
1331
  name: string;
@@ -801,19 +1333,28 @@ declare type SubscriptionInfo = {
801
1333
  frequency: string;
802
1334
  };
803
1335
 
1336
+ /**
1337
+ * @public
1338
+ */
804
1339
  export declare interface SubscriptionOverlayData {
805
1340
  subscriptions?: Monetization[];
806
1341
  onPurchase?: () => void;
807
1342
  onClose?: () => void;
808
1343
  }
809
1344
 
1345
+ /**
1346
+ * @public
1347
+ */
810
1348
  export declare type SubscriptionOverlayState = {
811
1349
  data: SubscriptionOverlayData | null;
812
1350
  closeSubscriptionOverlay: () => void;
813
1351
  openSubscriptionOverlay: (data: SubscriptionOverlayData) => void;
814
1352
  };
815
1353
 
816
- declare interface Tag extends RowItem {
1354
+ /**
1355
+ * @public
1356
+ */
1357
+ export declare interface Tag extends RowItem {
817
1358
  id: string;
818
1359
  tagId: string;
819
1360
  type?: string | null;
@@ -826,9 +1367,15 @@ declare interface Tag extends RowItem {
826
1367
  removeFromFavorites: () => void;
827
1368
  }
828
1369
 
829
- declare type TaggedVideosOrderByField = 'seasonNumber' | 'episodeNumber' | 'contentType' | DefaultOrderByField;
1370
+ /**
1371
+ * @public
1372
+ */
1373
+ export declare type TaggedVideosOrderByField = 'seasonNumber' | 'episodeNumber' | 'contentType' | DefaultOrderByField;
830
1374
 
831
- declare type TileProps = {
1375
+ /**
1376
+ * @public
1377
+ */
1378
+ export declare type TileProps = {
832
1379
  cover: string;
833
1380
  isLoading: boolean;
834
1381
  bottomLabel: string;
@@ -854,13 +1401,19 @@ declare type TileProps = {
854
1401
  containerMargin?: number | string;
855
1402
  };
856
1403
 
857
- declare type TilePropsPartial = Partial<TileProps>;
1404
+ /**
1405
+ * @public
1406
+ */
1407
+ export declare type TilePropsPartial = Partial<TileProps>;
858
1408
 
1409
+ /**
1410
+ * @public
1411
+ */
859
1412
  export declare interface TivioAuth {
860
1413
  changePassword: (newPassword: string) => Promise<void>;
861
- changeUserPhoto(file: File): Promise<void>;
1414
+ changeUserPhoto(file: any): Promise<void>;
862
1415
  removeUserPhoto(): Promise<void>;
863
- getPurchasedVodsWithInitializedVideos: () => Promise<Purchase_2[]>;
1416
+ getPurchasedVodsWithInitializedVideos: () => Promise<Purchase[]>;
864
1417
  /**
865
1418
  * @param email
866
1419
  * @param password
@@ -871,7 +1424,7 @@ export declare interface TivioAuth {
871
1424
  * @param email
872
1425
  * @param password
873
1426
  */
874
- signInWithEmailAndPassword: (email: string, password: string) => Promise<void>;
1427
+ signInWithEmailAndPassword: (email: string, password: string) => Promise<string | null>;
875
1428
  initializeUser: () => Promise<void>;
876
1429
  signOut: () => Promise<void>;
877
1430
  /**
@@ -881,49 +1434,33 @@ export declare interface TivioAuth {
881
1434
  createFreePurchase: (monetizationId: string) => Promise<void>;
882
1435
  }
883
1436
 
884
- export declare type TivioBundle = {
885
- components: TivioComponents;
886
- getters: TivioGetters;
887
- auth: TivioAuth;
888
- hooks: TivioHooks;
1437
+ /**
1438
+ * @public
1439
+ */
1440
+ export declare type TivioBundle = BasicTivioBundle & {
889
1441
  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
1442
  };
908
1443
 
1444
+ /**
1445
+ * @public
1446
+ */
909
1447
  export declare type TivioBundleFile = {
910
1448
  Tivio: TivioBundle;
911
1449
  };
912
1450
 
1451
+ /**
1452
+ * @public
1453
+ */
913
1454
  export declare type TivioComponents = {
914
- AdIndicationButtonWeb: React_2.ReactNode;
915
1455
  Markers: React_2.ReactNode;
916
1456
  PlayerDataContext: React_2.ReactNode;
917
1457
  Provider: React_2.ComponentType<RemoteProviderProps>;
918
- Recommendation: React_2.ReactNode;
919
- SkipButtonWeb: React_2.ReactNode;
920
1458
  /**
921
1459
  * @deprecated will be removed in in @tivio/sdk-react@4
922
1460
  */
923
1461
  VideoAdBanner: React_2.ReactNode;
924
1462
  WebPlayer: React_2.ComponentType<WebPlayerProps>;
925
1463
  Widget: React_2.ComponentType<TivioWidgetProps>;
926
- TvPlayer: React_2.ComponentType<WebPlayerProps>;
927
1464
  PlayerDataContextProvider: React_2.ComponentType<{
928
1465
  id: string;
929
1466
  }>;
@@ -935,6 +1472,7 @@ export declare type TivioComponents = {
935
1472
  onEnded?: () => any;
936
1473
  }>;
937
1474
  TvApp: React_2.ComponentType<TvAppProps>;
1475
+ FeatureSupportCheck: React_2.ComponentType<{}>;
938
1476
  CustomerScreen: React_2.ComponentType<{
939
1477
  screenId: string;
940
1478
  }>;
@@ -947,16 +1485,31 @@ export declare type TivioComponents = {
947
1485
  }>;
948
1486
  WebRow: React_2.ComponentType<WebRowProps>;
949
1487
  WebTile: React_2.ComponentType<{
950
- item?: Video | Tag;
1488
+ item?: ItemsInRow;
951
1489
  } & TilePropsPartial>;
952
- FeatureSupportCheck: React_2.ComponentType<{}>;
1490
+ AdIndicationButtonWeb: React_2.ReactNode;
1491
+ Recommendation: React_2.ReactNode;
1492
+ SkipButtonWeb: React_2.ReactNode;
1493
+ TvPlayer: React_2.ComponentType<WebPlayerProps>;
953
1494
  };
954
1495
 
1496
+ /**
1497
+ * @public
1498
+ */
955
1499
  export declare const TivioContext: React_2.Context<RemoteBundleState | null>;
956
1500
 
1501
+ /**
1502
+ * @public
1503
+ */
957
1504
  export declare type TivioGetters = {
958
- isTivioLoaded: (cb: (isLoaded: boolean) => void) => boolean;
1505
+ isTivioLoaded: (cb: (isLoaded: boolean) => void) => void;
959
1506
  isSignedIn: () => boolean;
1507
+ /**
1508
+ * @deprecated is here only for backward compatibility
1509
+ */
1510
+ getExportedConfig: () => Promise<{
1511
+ showMarkers: true;
1512
+ }>;
960
1513
  /**
961
1514
  * Get channel by its id.
962
1515
  * @param channelId - channel id
@@ -970,8 +1523,7 @@ export declare type TivioGetters = {
970
1523
  */
971
1524
  getPlayerWrapper: (opt: {
972
1525
  playerWrapperId?: string;
973
- }) => PlayerWrapper;
974
- getOrganizationScreens: () => Promise<Screen_2[]>;
1526
+ }) => any;
975
1527
  getOrganizationSubscriptions: () => Promise<Monetization[] | undefined>;
976
1528
  /**
977
1529
  * Get section by its id.
@@ -998,6 +1550,9 @@ export declare type TivioGetters = {
998
1550
  getPlayerCapabilities: () => PlayerCapability[];
999
1551
  };
1000
1552
 
1553
+ /**
1554
+ * @public
1555
+ */
1001
1556
  export declare type TivioHooks = {
1002
1557
  useAd: () => [(AdSource | null)];
1003
1558
  useAdSegment: () => AdSegment | null;
@@ -1012,6 +1567,8 @@ export declare type TivioHooks = {
1012
1567
  error?: GenericOnCallError;
1013
1568
  purchaseRecovery: (monetizationId: string) => void;
1014
1569
  };
1570
+ useTransactionPayment: (videoId: string, monetizationId: string, voucher?: NewVoucher) => QerkoTransaction;
1571
+ usePurchaseSubscription: (monetizationId: string, voucher?: NewVoucher) => QerkoTransaction;
1015
1572
  useRowsInScreen: (screenId: string, options: PaginationOptions) => {
1016
1573
  pagination: PaginationInterface<Row> | null;
1017
1574
  error: Error | null;
@@ -1043,6 +1600,18 @@ export declare type TivioHooks = {
1043
1600
  };
1044
1601
  };
1045
1602
 
1603
+ /**
1604
+ * @public
1605
+ */
1606
+ export declare type TivioInternalBundle = {
1607
+ components: TivioInternalComponents;
1608
+ hooks: TivioInternalHooks;
1609
+ providers: TivioInternalProviders;
1610
+ };
1611
+
1612
+ /**
1613
+ * @public
1614
+ */
1046
1615
  export declare type TivioInternalComponents = {
1047
1616
  PrimaryButton: React_2.ComponentType;
1048
1617
  WebLandingScreen: React_2.ComponentType<{
@@ -1054,12 +1623,15 @@ export declare type TivioInternalComponents = {
1054
1623
  WebSeriesDetailScreen: React_2.ComponentType<WebSeriesDetailScreenProps>;
1055
1624
  };
1056
1625
 
1626
+ /**
1627
+ * @public
1628
+ */
1057
1629
  export declare type TivioInternalHooks = {
1058
1630
  useAuthOverlay: () => AuthOverlayState;
1059
1631
  useSubscriptionsOverlay: () => SubscriptionOverlayState;
1060
1632
  useQerkoOverlay: () => QerkoOverlayState;
1061
1633
  usePurchasesWithVideos: () => {
1062
- purchases: Purchase_2[];
1634
+ purchases: Purchase[];
1063
1635
  };
1064
1636
  useOrganizationSubscriptions: () => {
1065
1637
  subscriptions: Monetization[];
@@ -1077,6 +1649,9 @@ export declare type TivioInternalHooks = {
1077
1649
  };
1078
1650
  };
1079
1651
 
1652
+ /**
1653
+ * @public
1654
+ */
1080
1655
  export declare type TivioInternalProviders = {
1081
1656
  AppThemeProvider: React_2.ComponentType;
1082
1657
  AuthOverlayContextProvider: React_2.ComponentType;
@@ -1094,8 +1669,14 @@ export declare type TivioInternalProviders = {
1094
1669
  RouterOverridesContextProvider: React_2.ComponentType<RouterOverridesContextState>;
1095
1670
  };
1096
1671
 
1672
+ /**
1673
+ * @public
1674
+ */
1097
1675
  export declare const TivioProvider: React_2.FC<TivioProviderProps>;
1098
1676
 
1677
+ /**
1678
+ * @public
1679
+ */
1099
1680
  export declare type TivioProviderProps = {
1100
1681
  /**
1101
1682
  * This prop must be set only once and not change value afterwards
@@ -1104,6 +1685,9 @@ export declare type TivioProviderProps = {
1104
1685
  children: React_2.ReactNode;
1105
1686
  };
1106
1687
 
1688
+ /**
1689
+ * @public
1690
+ */
1107
1691
  export declare type TivioSources = {
1108
1692
  AdSource: any;
1109
1693
  ChannelSource: any;
@@ -1111,6 +1695,9 @@ export declare type TivioSources = {
1111
1695
  VodTivioSource: any;
1112
1696
  };
1113
1697
 
1698
+ /**
1699
+ * @public
1700
+ */
1114
1701
  export declare type TivioSubscriptions = {
1115
1702
  subscribeToUser: (cb: (error: string | null, user: User | null) => void) => void;
1116
1703
  /**
@@ -1118,7 +1705,7 @@ export declare type TivioSubscriptions = {
1118
1705
  * @param widgetId - widget id
1119
1706
  * @param cb - callback on widget updates or on error
1120
1707
  */
1121
- subscribeToWidget: (widgetId: string, cb: (error: Error | null, data: Widget | null, disposer?: Disposer) => void) => void;
1708
+ subscribeToWidget: (widgetId: string, cb: (error: Error | null, data: Widget | null, disposer?: Disposer_2) => void) => void;
1122
1709
  /**
1123
1710
  * Listen to channel changes.
1124
1711
  * @param channelId - channel id
@@ -1136,7 +1723,7 @@ export declare type TivioSubscriptions = {
1136
1723
  * @param videoId - video id
1137
1724
  * @param cb - callback on video updates or on error
1138
1725
  */
1139
- subscribeToVideo: (videoId: string, cb: (error: Error | null, data: Video | null, disposer?: Disposer) => void) => void;
1726
+ subscribeToVideo: (videoId: string, cb: (error: Error | null, data: Video | null, disposer?: Disposer_2) => void) => void;
1140
1727
  /**
1141
1728
  * Listen to videos in section changes.
1142
1729
  * @param sectionId - section id
@@ -1177,16 +1764,28 @@ export declare type TivioSubscriptions = {
1177
1764
  }) => void;
1178
1765
  };
1179
1766
 
1767
+ /**
1768
+ * @public
1769
+ */
1180
1770
  export declare const TivioWidget: React_2.ForwardRefExoticComponent<Pick<TivioWidgetProps, "id" | "onEnabled" | "onBlur"> & React_2.RefAttributes<TivioWidgetRef>>;
1181
1771
 
1772
+ /**
1773
+ * @public
1774
+ */
1182
1775
  export declare const TivioWidgetError: React_2.FC<TivioWidgetErrorProps>;
1183
1776
 
1184
1777
  declare type TivioWidgetErrorProps = {
1185
1778
  error: string | null;
1186
1779
  };
1187
1780
 
1781
+ /**
1782
+ * @public
1783
+ */
1188
1784
  export declare const TivioWidgetLoader: React_2.FC;
1189
1785
 
1786
+ /**
1787
+ * @public
1788
+ */
1190
1789
  export declare interface TivioWidgetProps {
1191
1790
  id: string;
1192
1791
  ref: React_2.MutableRefObject<TivioWidgetRef>;
@@ -1198,6 +1797,9 @@ export declare interface TivioWidgetProps {
1198
1797
  }) => any;
1199
1798
  }
1200
1799
 
1800
+ /**
1801
+ * @public
1802
+ */
1201
1803
  export declare interface TivioWidgetRef {
1202
1804
  focus: (args: {
1203
1805
  x?: number;
@@ -1221,16 +1823,23 @@ declare type TransactionInfo = {
1221
1823
 
1222
1824
  /**
1223
1825
  * Represents one string in every supported language mutation.
1826
+ * @public
1224
1827
  */
1225
1828
  export declare type Translation = {
1226
1829
  [key in LangCode]: string;
1227
1830
  };
1228
1831
 
1229
- declare type TvAppProps = {
1832
+ /**
1833
+ * @public
1834
+ */
1835
+ export declare type TvAppProps = {
1230
1836
  customer: CUSTOMER_BUILD;
1231
1837
  };
1232
1838
 
1233
- declare interface TvChannel extends RowItem {
1839
+ /**
1840
+ * @public
1841
+ */
1842
+ export declare interface TvChannel extends RowItem {
1234
1843
  name: string;
1235
1844
  id: string;
1236
1845
  path: string;
@@ -1244,10 +1853,19 @@ declare interface TvChannel extends RowItem {
1244
1853
  price: number;
1245
1854
  }
1246
1855
 
1856
+ /**
1857
+ * @public
1858
+ */
1247
1859
  export declare const TvTivioProvider: React_2.FC<TivioProviderProps>;
1248
1860
 
1861
+ /**
1862
+ * @public
1863
+ */
1249
1864
  export declare const useAd: () => AdSource | null;
1250
1865
 
1866
+ /**
1867
+ * @public
1868
+ */
1251
1869
  export declare const useAdSegment: () => {
1252
1870
  id: string;
1253
1871
  remainingMs: number;
@@ -1268,6 +1886,7 @@ export declare const useAdSegment: () => {
1268
1886
  * error - error in case request failure
1269
1887
  * applyInviteCode - function to apply invite code
1270
1888
  * inviteCodeReset - function to reset to initial state
1889
+ * @public
1271
1890
  */
1272
1891
  export declare function useApplyInviteCode(): {
1273
1892
  applyInviteCodeResult?: boolean | undefined;
@@ -1277,19 +1896,29 @@ export declare function useApplyInviteCode(): {
1277
1896
  inviteCodeReset: () => void;
1278
1897
  };
1279
1898
 
1899
+ /**
1900
+ * @public
1901
+ */
1280
1902
  export declare const useBetOffer: () => BetOffer | null;
1281
1903
 
1282
- declare type UseCancelSubscription = (subscriptionId: string) => {
1904
+ /**
1905
+ * @public
1906
+ */
1907
+ export declare type UseCancelSubscription = (subscriptionId: string) => {
1283
1908
  cancelSubscription: () => Promise<void>;
1284
1909
  cancellationInfo: QerkoCancellationInfo | null;
1285
1910
  error?: string | null;
1286
1911
  };
1287
1912
 
1913
+ /**
1914
+ * @public
1915
+ */
1288
1916
  export declare const useCancelSubscription: UseCancelSubscription;
1289
1917
 
1290
1918
  /**
1291
1919
  * Use channel
1292
1920
  * @param channelId - channel id
1921
+ * @public
1293
1922
  */
1294
1923
  export declare const useChannel: (channelId: string) => {
1295
1924
  error: string | null;
@@ -1300,30 +1929,49 @@ export declare const useChannel: (channelId: string) => {
1300
1929
  * Use channels in widget
1301
1930
  * @param widgetId - widget id
1302
1931
  * @param [limit] - channels count, defaults to 10
1932
+ * @public
1303
1933
  */
1304
1934
  export declare const useChannelsInWidget: (widgetId: string, limit?: number) => {
1305
1935
  error: Error | null;
1306
- data: PaginationData<Channel_2> | null;
1936
+ data: PaginationData<Channel> | null;
1307
1937
  isLoading: boolean;
1308
1938
  };
1309
1939
 
1310
- declare type UseChannelSource = (tvChannelId: string) => {
1311
- source: ChannelSource_2 | null;
1940
+ /**
1941
+ * @public
1942
+ */
1943
+ export declare type UseChannelSource = (tvChannelId: string) => {
1944
+ source: ChannelSourcePojo | null;
1312
1945
  error: Error | null;
1313
1946
  };
1314
1947
 
1948
+ /**
1949
+ * @public
1950
+ */
1315
1951
  export declare const useCurrentMarker: () => Marker | null;
1316
1952
 
1953
+ /**
1954
+ * @public
1955
+ */
1317
1956
  export declare const useFreePurchase: () => {
1318
1957
  purchase: (monetizationId: string) => Promise<void>;
1319
1958
  };
1320
1959
 
1960
+ /**
1961
+ * @public
1962
+ */
1321
1963
  export declare const useIntro: () => IntroMarker | null;
1322
1964
 
1965
+ /**
1966
+ * @public
1967
+ */
1323
1968
  export declare const useIsLoaded: () => {
1324
1969
  isTivioLoaded: boolean;
1325
1970
  };
1326
1971
 
1972
+ /**
1973
+ * @public
1974
+ */
1327
1975
  export declare const useIsMonetizationPurchased: () => {
1328
1976
  isOneOfSubscriptionPurchased: (subscriptionIds: string[]) => boolean;
1329
1977
  };
@@ -1332,6 +1980,7 @@ export declare const useIsMonetizationPurchased: () => {
1332
1980
  * Use row items
1333
1981
  * @param rowId - row ID
1334
1982
  * @param options - subscription options
1983
+ * @public
1335
1984
  */
1336
1985
  export declare const useItemsInRow: (rowId: string, options?: SubscribeToItemsInRowOptions) => {
1337
1986
  pagination: PaginationInterface<ItemsInRow> | null;
@@ -1340,17 +1989,30 @@ export declare const useItemsInRow: (rowId: string, options?: SubscribeToItemsIn
1340
1989
 
1341
1990
  /**
1342
1991
  * @deprecated will be removed in v4
1992
+ * @public
1343
1993
  */
1344
1994
  export declare function useLastVideoByWidgetId(widgetId: string): Video | null;
1345
1995
 
1996
+ /**
1997
+ * @public
1998
+ */
1346
1999
  export declare const useMarkers: () => Marker[] | null;
1347
2000
 
2001
+ /**
2002
+ * @public
2003
+ */
1348
2004
  export declare const useOrganizationSubscriptions: () => {
1349
2005
  subscriptions: Monetization[];
1350
2006
  };
1351
2007
 
2008
+ /**
2009
+ * @public
2010
+ */
1352
2011
  export declare type UsePlayerEvent = <T = any>(eventName: string) => T | null;
1353
2012
 
2013
+ /**
2014
+ * @public
2015
+ */
1354
2016
  export declare const usePlayerEvent: UsePlayerEvent;
1355
2017
 
1356
2018
  /**
@@ -1360,6 +2022,7 @@ export declare const usePlayerEvent: UsePlayerEvent;
1360
2022
  * loading - loading state
1361
2023
  * error - error in case request failure
1362
2024
  * purchaseRecovery - functions to execute purchase recovery
2025
+ * @public
1363
2026
  */
1364
2027
  export declare function usePurchaseRecovery(): {
1365
2028
  purchaseRecoveryResult?: string | undefined;
@@ -1368,20 +2031,27 @@ export declare function usePurchaseRecovery(): {
1368
2031
  purchaseRecovery: (monetizationId: string) => void;
1369
2032
  };
1370
2033
 
2034
+ /**
2035
+ * @public
2036
+ */
1371
2037
  export declare const usePurchaseSubscription: (monetizationId: string, voucher?: NewVoucher | undefined) => QerkoTransaction;
1372
2038
 
1373
2039
  /**
1374
2040
  * Return purchases with initialized video (purchases[i].video not null)
2041
+ * @public
1375
2042
  */
1376
2043
  export declare const usePurchasesWithVideos: () => {
1377
- purchases: Purchase_2[];
2044
+ purchases: Purchase[];
1378
2045
  };
1379
2046
 
2047
+ /**
2048
+ * @public
2049
+ */
1380
2050
  export declare type User = {
1381
- purchases: Purchase_2[];
1382
- allPurchases: Purchase_2[];
1383
- purchasedVods: Purchase_2[];
1384
- purchasedSubscriptions: Purchase_2[];
2051
+ purchases: Purchase[];
2052
+ allPurchases: Purchase[];
2053
+ purchasedVods: Purchase[];
2054
+ purchasedSubscriptions: Purchase[];
1385
2055
  isPurchasesInitialized: boolean;
1386
2056
  isSignedIn: boolean;
1387
2057
  email?: string;
@@ -1393,14 +2063,23 @@ export declare type User = {
1393
2063
  watchedPositions: any[];
1394
2064
  };
1395
2065
 
2066
+ /**
2067
+ * @public
2068
+ */
1396
2069
  export declare const useRowsInScreen: (screenId: string, options?: PaginationOptions) => {
1397
2070
  pagination: PaginationInterface<Row> | null;
1398
2071
  error: Error | null;
1399
2072
  };
1400
2073
 
2074
+ /**
2075
+ * @public
2076
+ */
1401
2077
  export declare type UserPayload = Record<string, any>;
1402
2078
 
1403
- declare enum UserType {
2079
+ /**
2080
+ * @public
2081
+ */
2082
+ export declare enum UserType {
1404
2083
  ORGANIZATION_USER = "ORGANIZATION_USER",
1405
2084
  TIVIO_USER = "TIVIO_USER"
1406
2085
  }
@@ -1411,14 +2090,14 @@ declare enum UserType {
1411
2090
  * Use app screen
1412
2091
  * @param screenId - screen ID
1413
2092
  * @param options - subscribe to screen options
2093
+ * @public
1414
2094
  */
1415
2095
  export declare const useScreen: (screenId: string, options?: ScreenOptions | undefined) => never;
1416
2096
 
1417
- export declare const useScreens: () => {
1418
- screens: Screen_2[];
1419
- };
1420
-
1421
- declare type UseSearch = <T extends ALGOLIA_INDEX_NAME>(indexName: T, options?: UseSearchOptions) => {
2097
+ /**
2098
+ * @public
2099
+ */
2100
+ export declare type UseSearch = <T extends ALGOLIA_INDEX_NAME>(indexName: T, options?: UseSearchOptions) => {
1422
2101
  search: (query: string) => void;
1423
2102
  pagination: PaginationInterface<UseSearchResult<T>> | null;
1424
2103
  error: Error | null;
@@ -1430,18 +2109,26 @@ declare type UseSearch = <T extends ALGOLIA_INDEX_NAME>(indexName: T, options?:
1430
2109
  * Full text search that returns entities based on search query.
1431
2110
  * @param indexName - index that search would be performed on ('videos', 'tags', etc.)
1432
2111
  * @param options - pagination options
2112
+ * @public
1433
2113
  */
1434
2114
  export declare const useSearch: UseSearch;
1435
2115
 
1436
- declare type UseSearchOptions = PaginationOptions & Partial<{
2116
+ /**
2117
+ * @public
2118
+ */
2119
+ export declare type UseSearchOptions = PaginationOptions & Partial<{
1437
2120
  minQueryLength: number;
1438
2121
  }>;
1439
2122
 
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;
2123
+ /**
2124
+ * @public
2125
+ */
2126
+ 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
2127
 
1442
2128
  /**
1443
2129
  * Use section
1444
2130
  * @param sectionId - section id
2131
+ * @public
1445
2132
  */
1446
2133
  export declare const useSection: (sectionId: string) => {
1447
2134
  error: string | null;
@@ -1452,37 +2139,57 @@ export declare const useSection: (sectionId: string) => {
1452
2139
  * Use section in channel
1453
2140
  * @param channelId - channel id
1454
2141
  * @param [limit] - sections count, defaults to 10
2142
+ * @public
1455
2143
  */
1456
2144
  export declare const useSectionsInChannel: (channelId: string, limit?: number) => {
1457
2145
  error: Error | null;
1458
- data: PaginationData<Section_2> | null;
2146
+ data: PaginationData<Section> | null;
1459
2147
  isLoading: boolean;
1460
2148
  };
1461
2149
 
2150
+ /**
2151
+ * @public
2152
+ */
1462
2153
  export declare const useSeekState: () => boolean | null;
1463
2154
 
1464
2155
  /**
1465
2156
  * Returns videos with given tag ids
1466
2157
  * @param tagIds - tag ids
1467
2158
  * @param options - subscription options
2159
+ * @public
1468
2160
  */
1469
2161
  export declare const useTaggedVideos: (tagIds: string[], options?: SubscribeToItemsInRowOptions) => {
1470
2162
  pagination: PaginationInterface<Video> | null;
1471
2163
  error: Error | null;
1472
2164
  };
1473
2165
 
2166
+ /**
2167
+ * @public
2168
+ */
1474
2169
  export declare const useTivioData: () => RemoteBundleState;
1475
2170
 
2171
+ /**
2172
+ * @public
2173
+ */
1476
2174
  export declare const useTivioReadyData: () => RemoteBundleState | null;
1477
2175
 
2176
+ /**
2177
+ * @public
2178
+ */
1478
2179
  export declare const useTransactionPayment: (videoId: string, monetizationId: string, voucher?: NewVoucher | undefined) => QerkoTransaction;
1479
2180
 
1480
- declare type UseTvChannel = (tvChannelId: string) => {
2181
+ /**
2182
+ * @public
2183
+ */
2184
+ export declare type UseTvChannel = (tvChannelId: string) => {
1481
2185
  tvChannel: TvChannel | null;
1482
2186
  error: Error | null;
1483
2187
  loading: boolean;
1484
2188
  };
1485
2189
 
2190
+ /**
2191
+ * @public
2192
+ */
1486
2193
  export declare const useUser: () => {
1487
2194
  user: User | null;
1488
2195
  error: string | null;
@@ -1492,6 +2199,7 @@ export declare const useUser: () => {
1492
2199
  /**
1493
2200
  * Use video
1494
2201
  * @param videoId - video id
2202
+ * @public
1495
2203
  */
1496
2204
  export declare const useVideo: (videoId?: string | undefined) => {
1497
2205
  data: Video | null;
@@ -1502,6 +2210,7 @@ export declare const useVideo: (videoId?: string | undefined) => {
1502
2210
  * Use videos in section
1503
2211
  * @param sectionId - section id
1504
2212
  * @param [limit] - videos count, defaults to 10
2213
+ * @public
1505
2214
  */
1506
2215
  export declare const useVideosInSection: (sectionId?: string | undefined, limit?: number) => {
1507
2216
  error: Error | null;
@@ -1509,6 +2218,9 @@ export declare const useVideosInSection: (sectionId?: string | undefined, limit?
1509
2218
  isLoading: boolean;
1510
2219
  };
1511
2220
 
2221
+ /**
2222
+ * @public
2223
+ */
1512
2224
  export declare const useVoucher: (voucherId: string) => {
1513
2225
  activate: (() => Promise<void>) | null;
1514
2226
  voucher: Voucher | null;
@@ -1523,6 +2235,9 @@ export declare const useVoucher: (voucherId: string) => {
1523
2235
  activationSuccess: boolean;
1524
2236
  };
1525
2237
 
2238
+ /**
2239
+ * @public
2240
+ */
1526
2241
  export declare const useWatchWithoutAdsOffer: () => {
1527
2242
  canPurchaseWatchWithoutAds: boolean;
1528
2243
  showPurchaseDialog: () => void;
@@ -1531,12 +2246,47 @@ export declare const useWatchWithoutAdsOffer: () => {
1531
2246
  /**
1532
2247
  * Use widget
1533
2248
  * @param widgetId - widget id
2249
+ * @public
1534
2250
  */
1535
2251
  export declare const useWidget: (widgetId: string) => {
1536
2252
  error: string;
1537
2253
  widget: Widget | null;
1538
2254
  };
1539
2255
 
2256
+ /**
2257
+ * @public
2258
+ */
2259
+ export declare const VAST_PROVIDERS: ({
2260
+ id: VastProvider;
2261
+ name: string;
2262
+ development?: undefined;
2263
+ } | {
2264
+ id: VastProvider;
2265
+ name: string;
2266
+ development: boolean;
2267
+ })[];
2268
+
2269
+ /**
2270
+ * @public
2271
+ */
2272
+ export declare enum VastProvider {
2273
+ CNC_PREBID = "cnc-prebid",
2274
+ ETARGET_PREBID = "etarget-prebid",
2275
+ FALLBACK_HLS = "fallback-hls",
2276
+ FALLBACK_MP4 = "fallback",
2277
+ GARAZ_TV = "garaz.tv",
2278
+ GARAZ_TV_DEV = "garaz.tv.dev",
2279
+ IMPRESSION_MEDIA_PREBID = "impressionMedia-prebid",
2280
+ JOJ = "joj",
2281
+ MALL_TV = "malltv",
2282
+ MALL_TV_PREBID = "malltv-prebid",
2283
+ PRIMA = "prima",
2284
+ TEST = "test"
2285
+ }
2286
+
2287
+ /**
2288
+ * @public
2289
+ */
1540
2290
  export declare interface Video extends RowItem {
1541
2291
  id: string;
1542
2292
  /**
@@ -1586,16 +2336,22 @@ export declare interface Video extends RowItem {
1586
2336
  isFavorite: boolean;
1587
2337
  addToFavorites: () => void;
1588
2338
  removeFromFavorites: () => void;
1589
- availability: VideoAvailabilityField | null;
2339
+ availability: VideoAvailability | null;
1590
2340
  }
1591
2341
 
1592
- declare type VideoAvailabilityField = {
1593
- from: firebase_2.firestore.Timestamp;
1594
- to: firebase_2.firestore.Timestamp | null;
2342
+ /**
2343
+ * @public
2344
+ */
2345
+ export declare type VideoAvailability = {
2346
+ from: Date;
2347
+ to: Date | null;
1595
2348
  manual: boolean;
1596
2349
  };
1597
2350
 
1598
- declare enum VideoContentType {
2351
+ /**
2352
+ * @public
2353
+ */
2354
+ export declare enum VideoContentType {
1599
2355
  /**
1600
2356
  * Default video content type
1601
2357
  */
@@ -1604,10 +2360,48 @@ declare enum VideoContentType {
1604
2360
  SERIES = "SERIES"
1605
2361
  }
1606
2362
 
2363
+ /**
2364
+ * @public
2365
+ */
2366
+ export declare interface VideoExternals {
2367
+ tvProfiProgramId?: string;
2368
+ tvProfiContentId?: string;
2369
+ tvProfiSerialId?: string;
2370
+ contentId?: string;
2371
+ provysId?: string;
2372
+ mallTvEntityId?: string;
2373
+ /**
2374
+ * DRM content Key ID - should't be more connected with buyDRM or streamOnline? It is not general thing
2375
+ */
2376
+ keyId?: string;
2377
+ }
2378
+
1607
2379
  declare type VideoPath = string;
1608
2380
 
2381
+ /**
2382
+ * @public
2383
+ */
1609
2384
  export declare const VideosContext: React_2.Context<DataState<Video>>;
1610
2385
 
2386
+ /**
2387
+ * Video type.
2388
+ * @public
2389
+ */
2390
+ export declare enum VideoType {
2391
+ /**
2392
+ * Video is composed of several other videos.
2393
+ */
2394
+ PLAYLIST = "PLAYLIST",
2395
+ /**
2396
+ * Video is a standard single video.
2397
+ */
2398
+ VIDEO = "VIDEO",
2399
+ TV_PROGRAM = "TV_PROGRAM"
2400
+ }
2401
+
2402
+ /**
2403
+ * @public
2404
+ */
1611
2405
  export declare type VodExternalSource = {
1612
2406
  new (uri: string, monetizationId: string, name: string, description: string, originalOptions: Record<string, any>): VodTivioSource;
1613
2407
  type: 'vod_external';
@@ -1616,6 +2410,9 @@ export declare type VodExternalSource = {
1616
2410
  uri: string;
1617
2411
  };
1618
2412
 
2413
+ /**
2414
+ * @public
2415
+ */
1619
2416
  export declare type VodTivioSource = {
1620
2417
  new (uri: string, videoId: string, name: string, description: string, adMonetizationId?: string): VodTivioSource;
1621
2418
  type: 'vod_tivio';
@@ -1624,7 +2421,7 @@ export declare type VodTivioSource = {
1624
2421
  uri: string;
1625
2422
  };
1626
2423
 
1627
- export declare interface VodTivioSourcePojo {
2424
+ declare interface VodTivioSourcePojo {
1628
2425
  type: 'VodTivioSource';
1629
2426
  description: string;
1630
2427
  path: string;
@@ -1632,6 +2429,7 @@ export declare interface VodTivioSourcePojo {
1632
2429
  uri: string;
1633
2430
  poster?: string;
1634
2431
  adMonetizationId?: string;
2432
+ availability: VideoAvailability | null;
1635
2433
  }
1636
2434
 
1637
2435
  /**
@@ -1645,6 +2443,9 @@ declare type Voucher = {
1645
2443
  voucherInfo: SubscriptionInfo | TransactionInfo;
1646
2444
  };
1647
2445
 
2446
+ /**
2447
+ * @public
2448
+ */
1648
2449
  export declare interface WebPlayerProps {
1649
2450
  id: string;
1650
2451
  source?: VodTivioSourcePojo | ChannelSourcePojo | VideoPath | null;
@@ -1696,24 +2497,38 @@ export declare interface WebPlayerProps {
1696
2497
  onPlayerControllerCreated?: (playerController: any) => void;
1697
2498
  }
1698
2499
 
1699
- declare type WebRowProps = {
2500
+ /**
2501
+ * @public
2502
+ */
2503
+ export declare type WebRowProps = {
1700
2504
  items?: ItemsInRow[];
1701
2505
  variant?: RowItemComponent;
1702
- rowName?: string;
2506
+ rowName?: string | any;
1703
2507
  fetchMore?: () => void;
1704
2508
  onTileClick?: (item: ItemsInRow) => void;
1705
2509
  };
1706
2510
 
1707
- declare type WebSeriesDetailScreenProps = {
2511
+ /**
2512
+ * @public
2513
+ */
2514
+ export declare type WebSeriesDetailScreenProps = {
1708
2515
  tagId: string;
1709
2516
  };
1710
2517
 
1711
- declare interface WhereFilter {
2518
+ /**
2519
+ * @public
2520
+ */
2521
+ export declare interface WhereFilter {
1712
2522
  field: string;
1713
2523
  operator: WhereFilterOp;
1714
2524
  value: any;
1715
2525
  }
1716
2526
 
2527
+ declare type WhereFilterOp = '<' | '<=' | '==' | '!=' | '>=' | '>' | 'array-contains' | 'in' | 'array-contains-any' | 'not-in';
2528
+
2529
+ /**
2530
+ * @public
2531
+ */
1717
2532
  export declare type Widget = {
1718
2533
  id: string;
1719
2534
  channels: Channel[];
@@ -1724,6 +2539,9 @@ export declare type Widget = {
1724
2539
  lastVideo: Video | null;
1725
2540
  };
1726
2541
 
2542
+ /**
2543
+ * @public
2544
+ */
1727
2545
  export declare function withPlayerContext(id: string): <P>(WrappedComponent: React_2.ComponentType<P>) => (props: P) => JSX.Element;
1728
2546
 
1729
2547
  export { }