@tivio/sdk-react 3.6.1 → 3.7.0

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