@surfside/ads-core 2.0.1

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.
Files changed (122) hide show
  1. package/README.md +15 -0
  2. package/lib/cjs/index.js +3488 -0
  3. package/lib/cjs/index.js.map +54 -0
  4. package/lib/esm/index.js +3460 -0
  5. package/lib/esm/index.js.map +54 -0
  6. package/lib/index.js +1 -0
  7. package/lib/index.js.map +1 -0
  8. package/lib/types/Api.d.ts +169 -0
  9. package/lib/types/constant-values/index.d.ts +46 -0
  10. package/lib/types/errors/index.d.ts +3 -0
  11. package/lib/types/helpers/Generator.d.ts +5 -0
  12. package/lib/types/helpers/Handlebars.d.ts +124 -0
  13. package/lib/types/helpers/NativeRequestBuilder.d.ts +29 -0
  14. package/lib/types/helpers/RequestBuilder.d.ts +16 -0
  15. package/lib/types/helpers/TryGet.d.ts +2 -0
  16. package/lib/types/helpers/Window.d.ts +3 -0
  17. package/lib/types/helpers/generators/CollectN.d.ts +2 -0
  18. package/lib/types/helpers/generators/index.d.ts +1 -0
  19. package/lib/types/helpers/handlebars/index.d.ts +119 -0
  20. package/lib/types/helpers/index.d.ts +7 -0
  21. package/lib/types/helpers/requests/RequestBuilder.d.ts +124 -0
  22. package/lib/types/helpers/requests/SimpleBannerRequest.d.ts +26 -0
  23. package/lib/types/helpers/requests/index.d.ts +2 -0
  24. package/lib/types/helpers/response/Banner.d.ts +22 -0
  25. package/lib/types/helpers/response/BuiltResponse.d.ts +31 -0
  26. package/lib/types/helpers/response/Carousel.d.ts +51 -0
  27. package/lib/types/helpers/response/Clickthrough.d.ts +3 -0
  28. package/lib/types/helpers/response/ProductCard.d.ts +49 -0
  29. package/lib/types/helpers/response/Video.d.ts +17 -0
  30. package/lib/types/helpers/response/index.d.ts +6 -0
  31. package/lib/types/helpers/responses/BuildBannerResponse.d.ts +10 -0
  32. package/lib/types/helpers/responses/BuildNativeResponse.d.ts +21 -0
  33. package/lib/types/helpers/responses/BuildVideoResponse.d.ts +0 -0
  34. package/lib/types/helpers/responses/ClickthroughHelpers.d.ts +2 -0
  35. package/lib/types/helpers/responses/VastHelpers.d.ts +4 -0
  36. package/lib/types/helpers/responses/index.d.ts +4 -0
  37. package/lib/types/index.d.ts +4 -0
  38. package/lib/types/middleware/DeviceMiddleware.d.ts +3 -0
  39. package/lib/types/middleware/GeoMiddleware.d.ts +3 -0
  40. package/lib/types/middleware/IdentityMiddleware.d.ts +4 -0
  41. package/lib/types/middleware/index.d.ts +3 -0
  42. package/lib/types/models/dynamic/DynamicZone.d.ts +37 -0
  43. package/lib/types/models/dynamic/index.d.ts +1 -0
  44. package/lib/types/models/index.d.ts +5 -0
  45. package/lib/types/models/retail/Configuration.d.ts +66 -0
  46. package/lib/types/models/retail/IProductInformation.d.ts +37 -0
  47. package/lib/types/models/retail/IPublisherConfiguration.d.ts +64 -0
  48. package/lib/types/models/retail/IRecommenderResponse.d.ts +10 -0
  49. package/lib/types/models/retail/Product.d.ts +19 -0
  50. package/lib/types/models/retail/Recommended.d.ts +10 -0
  51. package/lib/types/models/retail/index.d.ts +3 -0
  52. package/lib/types/models/rtb/BidRequest.d.ts +409 -0
  53. package/lib/types/models/rtb/BidResponse.d.ts +47 -0
  54. package/lib/types/models/rtb/IBidRequest.d.ts +399 -0
  55. package/lib/types/models/rtb/IBidResponse.d.ts +47 -0
  56. package/lib/types/models/rtb/NativeRequest.d.ts +170 -0
  57. package/lib/types/models/rtb/NativeResponse.d.ts +60 -0
  58. package/lib/types/models/rtb/index.d.ts +4 -0
  59. package/lib/types/models/rtb/native/Constants.d.ts +60 -0
  60. package/lib/types/models/rtb/native/INativeRequest.d.ts +54 -0
  61. package/lib/types/models/rtb/native/INativeResponse.d.ts +60 -0
  62. package/lib/types/models/rtb/native/NativeConstants.d.ts +120 -0
  63. package/lib/types/models/rtb/native/NativeRequestBuilder.d.ts +158 -0
  64. package/lib/types/models/rtb/native/index.d.ts +4 -0
  65. package/lib/types/models/tracking/Geo.d.ts +14 -0
  66. package/lib/types/models/tracking/IEvents.d.ts +82 -0
  67. package/lib/types/models/tracking/IGeoContext.d.ts +14 -0
  68. package/lib/types/models/tracking/IUserID.d.ts +1 -0
  69. package/lib/types/models/tracking/index.d.ts +1 -0
  70. package/lib/types/models/vast/Vast.d.ts +47 -0
  71. package/lib/types/models/vast/index.d.ts +1 -0
  72. package/lib/types/services/Bidder.d.ts +31 -0
  73. package/lib/types/services/Configuration.d.ts +6 -0
  74. package/lib/types/services/Device.d.ts +12 -0
  75. package/lib/types/services/Dynamic.d.ts +26 -0
  76. package/lib/types/services/Geo.d.ts +6 -0
  77. package/lib/types/services/Logger.d.ts +14 -0
  78. package/lib/types/services/Memoization.d.ts +1 -0
  79. package/lib/types/services/OverrideService.d.ts +10 -0
  80. package/lib/types/services/Product.d.ts +13 -0
  81. package/lib/types/services/Recommender.d.ts +8 -0
  82. package/lib/types/services/Result.d.ts +57 -0
  83. package/lib/types/services/Template.d.ts +7 -0
  84. package/lib/types/services/index.d.ts +11 -0
  85. package/lib/types/services/logger/ILoggerService.d.ts +39 -0
  86. package/lib/types/services/logger/LocalLoggerService.d.ts +19 -0
  87. package/lib/types/services/logger/index.d.ts +2 -0
  88. package/lib/types/services/mock/Bidder.d.ts +1 -0
  89. package/lib/types/services/mock/index.d.ts +1 -0
  90. package/lib/types/services/product-feed/IProductFeedService.d.ts +5 -0
  91. package/lib/types/services/product-feed/SurfsideProductFeedService.d.ts +11 -0
  92. package/lib/types/services/product-feed/index.d.ts +2 -0
  93. package/lib/types/services/recommender/IRecommenderService.d.ts +47 -0
  94. package/lib/types/services/recommender/SurfsideRecommenderService.d.ts +31 -0
  95. package/lib/types/services/recommender/index.d.ts +2 -0
  96. package/lib/types/services/rtb/bidder/IBidderService.d.ts +12 -0
  97. package/lib/types/services/rtb/bidder/SurfsideBidderService.d.ts +28 -0
  98. package/lib/types/services/rtb/bidder/index.d.ts +2 -0
  99. package/lib/types/services/rtb/configuration/IConfigurationService.d.ts +14 -0
  100. package/lib/types/services/rtb/configuration/SurfsideConfigurationService.d.ts +29 -0
  101. package/lib/types/services/rtb/configuration/index.d.ts +2 -0
  102. package/lib/types/services/rtb/index.d.ts +2 -0
  103. package/lib/types/services/tracking/device/DeviceOverrideService.d.ts +8 -0
  104. package/lib/types/services/tracking/device/IDeviceService.d.ts +4 -0
  105. package/lib/types/services/tracking/device/SurfsideDeviceService.d.ts +16 -0
  106. package/lib/types/services/tracking/device/index.d.ts +3 -0
  107. package/lib/types/services/tracking/events/IEventService.d.ts +5 -0
  108. package/lib/types/services/tracking/events/SurfsideEventService.d.ts +42 -0
  109. package/lib/types/services/tracking/events/index.d.ts +2 -0
  110. package/lib/types/services/tracking/geo/GeoOverrideService.d.ts +8 -0
  111. package/lib/types/services/tracking/geo/IGeoService.d.ts +12 -0
  112. package/lib/types/services/tracking/geo/SurfsideGeoService.d.ts +7 -0
  113. package/lib/types/services/tracking/geo/index.d.ts +3 -0
  114. package/lib/types/services/tracking/index.d.ts +4 -0
  115. package/lib/types/services/tracking/user/IUserIDService.d.ts +4 -0
  116. package/lib/types/services/tracking/user/SurfsideUserIDService.d.ts +7 -0
  117. package/lib/types/services/tracking/user/UserOverrideService.d.ts +8 -0
  118. package/lib/types/services/tracking/user/index.d.ts +3 -0
  119. package/lib/types/utils/Protocol.d.ts +1 -0
  120. package/lib/types/utils/Rendering.d.ts +44 -0
  121. package/lib/types/utils/index.d.ts +2 -0
  122. package/package.json +34 -0
@@ -0,0 +1,399 @@
1
+ export interface IBrandVersion {
2
+ brand: string;
3
+ version?: string[];
4
+ ext?: any;
5
+ }
6
+ export interface IUserAgent {
7
+ browsers?: IBrandVersion[];
8
+ platform?: IBrandVersion;
9
+ mobile?: number;
10
+ architecture?: string;
11
+ bitness?: string;
12
+ model?: string;
13
+ source?: number;
14
+ ext?: any;
15
+ }
16
+ export declare enum AgentTypes {
17
+ SESSION = 1,
18
+ DEVICE = 2,
19
+ USER = 3
20
+ }
21
+ export interface IUid {
22
+ id: string;
23
+ atype?: AgentTypes;
24
+ ext?: any;
25
+ }
26
+ export interface IEid {
27
+ source: string;
28
+ uids: IUid[];
29
+ ext?: any;
30
+ }
31
+ export interface ISupplyChainNode {
32
+ asi?: string;
33
+ sid?: string;
34
+ hp?: number;
35
+ rid?: string;
36
+ name?: string;
37
+ domain?: string;
38
+ ext?: any;
39
+ }
40
+ export interface ISupplyChain {
41
+ complete: number;
42
+ nodes: ISupplyChainNode[];
43
+ ver: string;
44
+ ext?: any;
45
+ }
46
+ export interface IChannel {
47
+ id?: string;
48
+ name?: string;
49
+ domain?: string;
50
+ ext?: any;
51
+ }
52
+ export interface INetwork {
53
+ id?: string;
54
+ name?: string;
55
+ domain?: string;
56
+ ext?: any;
57
+ }
58
+ export interface ISegment {
59
+ id?: string;
60
+ name?: string;
61
+ value?: string;
62
+ ext?: any;
63
+ }
64
+ export interface IData {
65
+ id?: string;
66
+ name?: string;
67
+ segment?: ISegment[];
68
+ ext?: any;
69
+ }
70
+ export interface IUser {
71
+ id?: string;
72
+ buyeruid?: string;
73
+ yob?: number;
74
+ gender?: string;
75
+ keywords?: string;
76
+ kwarray?: string[];
77
+ customdata?: string;
78
+ geo?: IGeo;
79
+ data?: IData[];
80
+ cconsent?: string;
81
+ eids?: IEid[];
82
+ ext?: any;
83
+ }
84
+ export interface IGeo {
85
+ lat?: number;
86
+ lon?: number;
87
+ type?: number;
88
+ accuracy?: number;
89
+ lastfix?: number;
90
+ ipservice?: number;
91
+ country?: string;
92
+ region?: string;
93
+ regionfips104?: string;
94
+ metro?: string;
95
+ city?: string;
96
+ zip?: string;
97
+ utcoffset?: number;
98
+ ext?: any;
99
+ }
100
+ export declare enum AdCom10DeviceTypes {
101
+ MOBILE = 1,
102
+ PC = 2,
103
+ CTV = 3,
104
+ PHONE = 4,
105
+ TABLET = 5,
106
+ CONNECTED = 6,
107
+ SET_TOP = 7,
108
+ OOH = 8
109
+ }
110
+ export interface IDevice {
111
+ ua?: string;
112
+ geo?: IGeo;
113
+ dnt?: number;
114
+ lmt?: number;
115
+ ip?: string;
116
+ ipv6?: string;
117
+ devicetype?: number;
118
+ make?: string;
119
+ model?: string;
120
+ os?: string;
121
+ osv?: string;
122
+ hwv?: string;
123
+ h?: number;
124
+ w?: number;
125
+ ppi?: number;
126
+ pxratio?: number;
127
+ js?: number;
128
+ geofetch?: number;
129
+ flashver?: string;
130
+ language?: string;
131
+ lanbg?: string;
132
+ carrier?: string;
133
+ mccmnc?: string;
134
+ connectiontype?: number;
135
+ ifa?: string;
136
+ didsha1?: string;
137
+ didmd5?: string;
138
+ dpidsha1?: string;
139
+ dpidmd5?: string;
140
+ macsha1?: string;
141
+ macmd5?: string;
142
+ ext?: any;
143
+ sua?: IUserAgent;
144
+ }
145
+ export interface IProducer {
146
+ id?: string;
147
+ name?: string;
148
+ cattax?: number[];
149
+ cat?: string[];
150
+ domain?: string;
151
+ ext?: any;
152
+ }
153
+ export interface IContent {
154
+ id?: string;
155
+ episode?: number;
156
+ title?: string;
157
+ series?: string;
158
+ season?: string;
159
+ artist?: string;
160
+ genre?: string;
161
+ album?: string;
162
+ isrc?: string;
163
+ producer?: IProducer;
164
+ url?: string;
165
+ cattax?: number[];
166
+ cat?: string[];
167
+ prodq?: number;
168
+ videoquality?: number;
169
+ context?: number;
170
+ contentrating?: string;
171
+ userrating?: string;
172
+ qagmediarating?: number;
173
+ keywords?: string;
174
+ kwarray?: string[];
175
+ livestream?: number;
176
+ sourcerelationship?: number;
177
+ len?: number;
178
+ language?: string;
179
+ langb?: string;
180
+ embeddable?: number;
181
+ data?: IData[];
182
+ network?: INetwork;
183
+ channel?: IChannel;
184
+ ext?: any;
185
+ }
186
+ export interface IPublisher {
187
+ id?: string;
188
+ name?: string;
189
+ cattax?: number[];
190
+ cat?: string[];
191
+ domain?: string;
192
+ ext?: any;
193
+ }
194
+ export interface IApp {
195
+ id?: string;
196
+ name?: string;
197
+ bundle?: string;
198
+ domain?: string;
199
+ storeurl?: string;
200
+ cat?: string[];
201
+ sectioncat?: string[];
202
+ pagecat?: string[];
203
+ ver?: string;
204
+ privacypolicy?: number;
205
+ paid?: number;
206
+ publisher?: IPublisher;
207
+ content?: IContent;
208
+ keywords?: string;
209
+ kwarray?: string[];
210
+ ext?: any;
211
+ }
212
+ export interface ISite {
213
+ id?: string;
214
+ name?: string;
215
+ domain?: string;
216
+ cat?: string[];
217
+ sectioncat?: string[];
218
+ pagecat?: string[];
219
+ page?: string;
220
+ ref?: string;
221
+ search?: string;
222
+ mobile?: number;
223
+ privacypolicy?: number;
224
+ publisher?: IPublisher;
225
+ content?: IContent;
226
+ keywords?: string;
227
+ kwarray?: string[];
228
+ ext?: any;
229
+ }
230
+ export interface IDeal {
231
+ id: string;
232
+ bidfloor: number;
233
+ bidfloorcur?: string;
234
+ at?: number;
235
+ wseat?: string[];
236
+ wadomain?: string[];
237
+ ext?: any;
238
+ }
239
+ export interface IPmp {
240
+ private_auction?: number;
241
+ deals?: IDeal[];
242
+ ext?: any;
243
+ }
244
+ export interface IFormat {
245
+ w?: number;
246
+ h?: number;
247
+ wratio?: number;
248
+ hratio?: number;
249
+ wmin?: number;
250
+ ext?: any;
251
+ }
252
+ export interface INative {
253
+ request: string;
254
+ ver?: string;
255
+ api?: number[];
256
+ battr?: number[];
257
+ ext?: any;
258
+ }
259
+ export interface IAudio {
260
+ mimes: string[];
261
+ minduration?: number;
262
+ maxduration?: number;
263
+ poddur?: number;
264
+ protocols?: number[];
265
+ startdelay?: number;
266
+ rqddurs?: number[];
267
+ podid?: string;
268
+ podseq?: number;
269
+ sequence?: number;
270
+ slotinpod?: number;
271
+ mincpmpersec?: number;
272
+ battr?: number[];
273
+ maxextended?: number;
274
+ minbitrate?: number;
275
+ maxbitrate?: number;
276
+ delivery?: number[];
277
+ companionad?: IBanner[];
278
+ api?: number[];
279
+ companiontype?: number[];
280
+ maxseq?: number;
281
+ feed?: number;
282
+ stitched?: number;
283
+ nvol?: number;
284
+ ext?: any;
285
+ }
286
+ export interface IVideo {
287
+ mimes: string[];
288
+ minduration?: number;
289
+ maxduration?: number;
290
+ startdelay?: number;
291
+ maxseq?: number;
292
+ poddur?: number;
293
+ protocols?: number[];
294
+ w?: number;
295
+ h?: number;
296
+ podid?: string;
297
+ podseq?: number;
298
+ rqddurs?: number[];
299
+ placement?: number;
300
+ linearity?: number;
301
+ skip?: number;
302
+ skipmin?: number;
303
+ skipafter?: number;
304
+ sequence?: number;
305
+ slotinpod?: number;
306
+ mincpmpersec?: number;
307
+ battr?: number[];
308
+ maxextended?: number;
309
+ minbitrate?: number;
310
+ maxbitrate?: number;
311
+ boxingallowed?: number;
312
+ playbackmethod?: number[];
313
+ playbackend?: number;
314
+ delivery?: number[];
315
+ pos?: number;
316
+ companionad?: IBanner[];
317
+ api?: number[];
318
+ companiontype?: number[];
319
+ ext?: any;
320
+ }
321
+ export interface IBanner {
322
+ format?: IFormat[];
323
+ w?: number;
324
+ h?: number;
325
+ btype?: number[];
326
+ battr?: number[];
327
+ pos?: number;
328
+ mimes?: string[];
329
+ topframe?: number;
330
+ expdir?: number[];
331
+ api?: number[];
332
+ id?: string;
333
+ ext?: any;
334
+ }
335
+ export interface IMetric {
336
+ type: string;
337
+ value: number;
338
+ vendor?: string;
339
+ ext?: any;
340
+ }
341
+ export interface IImp {
342
+ id: string;
343
+ metric?: IMetric[];
344
+ banner?: IBanner;
345
+ video?: IVideo;
346
+ audio?: IAudio;
347
+ native?: INative;
348
+ pmp?: IPmp;
349
+ displaymanager?: string;
350
+ displaymanagerver?: string;
351
+ instl?: number;
352
+ tagid?: string;
353
+ bidfloor?: number;
354
+ bidfloorcur?: string;
355
+ clickbrowser?: number;
356
+ secure?: number;
357
+ iframebuster?: string[];
358
+ rwdd?: number;
359
+ ssai?: number;
360
+ exp?: number;
361
+ ext?: any;
362
+ }
363
+ export interface IRegs {
364
+ coppa?: number;
365
+ ext?: any;
366
+ gdpr?: number;
367
+ us_privacy?: string;
368
+ }
369
+ export interface ISource {
370
+ fd?: number;
371
+ tid?: string;
372
+ pchain?: string;
373
+ schain?: ISupplyChain;
374
+ ext?: any;
375
+ }
376
+ export interface IBidRequest {
377
+ id: string;
378
+ imp: IImp[];
379
+ site?: ISite;
380
+ app?: IApp;
381
+ device?: IDevice;
382
+ user?: IUser;
383
+ test?: number;
384
+ at?: number;
385
+ tmax?: number;
386
+ wseat?: string[];
387
+ bseat?: string[];
388
+ allimps?: number;
389
+ cur?: string[];
390
+ wlang?: string[];
391
+ wlangb?: string[];
392
+ bcat?: string[];
393
+ cattax?: number[];
394
+ badv?: string[];
395
+ bapp?: string[];
396
+ source?: ISource;
397
+ regs?: IRegs;
398
+ ext?: any;
399
+ }
@@ -0,0 +1,47 @@
1
+ export interface IBid {
2
+ id: string;
3
+ impid: string;
4
+ price: number;
5
+ nurl?: string;
6
+ burl?: string;
7
+ lurl?: string;
8
+ adm?: string;
9
+ adid?: string;
10
+ adomain?: string[];
11
+ bundle?: string;
12
+ iurl?: string;
13
+ cid?: string;
14
+ crid?: string;
15
+ tactic?: string;
16
+ cattax?: number;
17
+ cat?: string[];
18
+ attr?: number[];
19
+ api?: number;
20
+ protocol?: number;
21
+ qagmediarating?: number;
22
+ language?: string;
23
+ dealid?: string;
24
+ w?: number;
25
+ h?: number;
26
+ wratio?: number;
27
+ hratio?: number;
28
+ exp?: number;
29
+ ext?: any;
30
+ dur?: number;
31
+ mtype?: number;
32
+ slotinpid?: number;
33
+ }
34
+ export interface ISeatBid {
35
+ bid: IBid[];
36
+ seat?: string;
37
+ group?: number;
38
+ ext?: any;
39
+ }
40
+ export interface IBidResponse {
41
+ id: string;
42
+ seatbid?: ISeatBid[];
43
+ bidid?: string;
44
+ cur?: string;
45
+ nbr?: number;
46
+ ext?: any;
47
+ }
@@ -0,0 +1,170 @@
1
+ export declare const NativePosition: {
2
+ readonly Unknown: 0;
3
+ readonly AboveTheFold: 1;
4
+ readonly BelowTheFold: 3;
5
+ readonly Header: 4;
6
+ readonly Footer: 5;
7
+ readonly Sidebar: 6;
8
+ readonly FullScreen: 7;
9
+ };
10
+ /**
11
+ * The type of the image within native ad (icon vs main image)
12
+ */
13
+ export declare const NativeImageTypes: {
14
+ readonly Icon: 1;
15
+ readonly Main: 3;
16
+ };
17
+ /**
18
+ * The type ID for each native asset type. IDs above 500 are surfside-specific fields, all
19
+ * others are OpenRTB Native Ad Spec 1.2 fields.
20
+ */
21
+ export declare const NativeDataTypes: {
22
+ readonly Sponsored: 1;
23
+ readonly Desc: 2;
24
+ readonly Rating: 3;
25
+ readonly Likes: 4;
26
+ readonly Downloads: 5;
27
+ readonly Price: 6;
28
+ readonly SalePrice: 7;
29
+ readonly Phone: 8;
30
+ readonly Address: 9;
31
+ readonly Desc2: 10;
32
+ readonly DisplayURL: 11;
33
+ readonly CTAText: 12;
34
+ readonly SurfStrain: 500;
35
+ readonly SurfTHC: 501;
36
+ readonly SurfCBD: 502;
37
+ readonly SurfCategory: 503;
38
+ readonly SurfMetaProduct: 599;
39
+ };
40
+ /**
41
+ * The ID for each field within a surfside native ad request. The Asset ID matches the asset type, for simplicity.
42
+ */
43
+ export declare const NativeAssetId: {
44
+ readonly Title: 0;
45
+ readonly Image: 1;
46
+ readonly Sponsored: 2;
47
+ readonly Desc: 3;
48
+ readonly Rating: 4;
49
+ readonly Price: 5;
50
+ readonly SalePrice: 6;
51
+ readonly DisplayURL: 7;
52
+ readonly CTAText: 8;
53
+ readonly Video: 9;
54
+ readonly SurfStrain: 500;
55
+ readonly SurfTHC: 501;
56
+ readonly SurfCBD: 502;
57
+ readonly SurfCategory: 503;
58
+ readonly SurfMetaBrand: 598;
59
+ readonly SurfMetaProduct: 599;
60
+ };
61
+ /**
62
+ * Event types which can be tracked by the native ad unit
63
+ */
64
+ export declare const EventTypes: {
65
+ readonly Imp: 1;
66
+ readonly ViewableMRC50: 2;
67
+ readonly ViewableMRC100: 3;
68
+ readonly ViewableVIDEO50: 4;
69
+ };
70
+ /**
71
+ * The context of the page for the native ad unit, i.e what type of content is being displayed
72
+ */
73
+ export declare const ContextTypes: {
74
+ readonly Content: 1;
75
+ readonly Social: 2;
76
+ readonly Product: 3;
77
+ };
78
+ /**
79
+ * The sub-type of the context
80
+ */
81
+ export declare const ContextSubTypes: {
82
+ readonly General: 10;
83
+ readonly Article: 11;
84
+ readonly Video: 12;
85
+ readonly Audio: 13;
86
+ readonly Image: 14;
87
+ readonly UserGenerated: 15;
88
+ readonly GeneralSocial: 20;
89
+ readonly Email: 21;
90
+ readonly Chat: 22;
91
+ readonly Product: 30;
92
+ readonly Application: 31;
93
+ readonly ProductReviews: 32;
94
+ };
95
+ /**
96
+ * The format of the ad unit, i.e: what type of ad is being displayed and where
97
+ */
98
+ export declare const PlacementTypes: {
99
+ readonly InFeed: 1;
100
+ readonly Atomic: 2;
101
+ readonly OutsideCore: 3;
102
+ readonly Recommendation: 4;
103
+ };
104
+ /**
105
+ * Presets for default video MIME types
106
+ */
107
+ export declare const VideoMimes: {
108
+ readonly MP4: "video/mp4";
109
+ readonly WEBM: "video/webm";
110
+ };
111
+ /**
112
+ * The method used to track events, 1x1 pixel of Javascript tag
113
+ */
114
+ export declare const EventTrackingMethods: {
115
+ readonly Img: 1;
116
+ readonly JS: 2;
117
+ };
118
+ export interface INativeRequest {
119
+ ver?: string;
120
+ context?: number;
121
+ contextsubtype?: number;
122
+ plcmttype?: number;
123
+ plcmtcnt?: number;
124
+ seq?: number;
125
+ assets: IAssetObject[];
126
+ aurlsupport?: number;
127
+ durlsupport?: number;
128
+ eventtrackers?: IEventTrackerRequestObject[];
129
+ privacy?: number;
130
+ ext?: any;
131
+ }
132
+ export interface IAssetObject {
133
+ id: number;
134
+ required?: number;
135
+ title?: ITitleRequestObject;
136
+ img?: IImageRequestObject;
137
+ video?: IVideoRequestObject;
138
+ data?: IDataRequestObject;
139
+ ext?: any;
140
+ }
141
+ export interface ITitleRequestObject {
142
+ len: number;
143
+ ext?: any;
144
+ }
145
+ export interface IImageRequestObject {
146
+ type?: number;
147
+ w?: number;
148
+ wmin?: number;
149
+ h?: number;
150
+ hmin?: number;
151
+ mimes?: string[];
152
+ ext?: any;
153
+ }
154
+ export interface IVideoRequestObject {
155
+ mimes: number[] | string[];
156
+ minduration: number;
157
+ maxduration: number;
158
+ protocols: number[];
159
+ ext?: any;
160
+ }
161
+ export interface IDataRequestObject {
162
+ type: number;
163
+ len?: number;
164
+ ext?: any;
165
+ }
166
+ export interface IEventTrackerRequestObject {
167
+ event: number;
168
+ methods: number[];
169
+ ext?: any;
170
+ }
@@ -0,0 +1,60 @@
1
+ import { type IProductInformation } from '../../models';
2
+ export interface INativeResponse {
3
+ native: INativeResponseDetails;
4
+ }
5
+ export interface INativeResponseDetails {
6
+ ver?: string;
7
+ assets?: IAssetResponseObject[];
8
+ assetsurl?: string;
9
+ dcourl?: string;
10
+ link: ILinkResponseObject;
11
+ imptrackers?: string[];
12
+ jstracker?: string;
13
+ eventtrackers?: IEventTrackerResponseObject[];
14
+ privacy?: string;
15
+ ext?: any;
16
+ }
17
+ export interface IAssetResponseObject {
18
+ id?: number;
19
+ required?: number;
20
+ title?: ITitleResponseObject;
21
+ img?: IImageResponseObject;
22
+ data?: IDataResponseObject;
23
+ video?: IVideoResponseObject;
24
+ link?: ILinkResponseObject;
25
+ ext?: any;
26
+ }
27
+ export interface ITitleResponseObject {
28
+ text: string;
29
+ len?: number;
30
+ ext?: any;
31
+ }
32
+ export interface IImageResponseObject {
33
+ type: number;
34
+ url: string;
35
+ w?: number;
36
+ h?: number;
37
+ ext?: any;
38
+ }
39
+ export interface IDataResponseObject {
40
+ type?: number;
41
+ value: string;
42
+ ext?: any;
43
+ }
44
+ export interface IVideoResponseObject {
45
+ vasttag: string;
46
+ }
47
+ export interface ILinkResponseObject {
48
+ url: string;
49
+ clicktrackers?: string[];
50
+ fallback?: string;
51
+ ext?: any;
52
+ }
53
+ export interface IEventTrackerResponseObject {
54
+ event: number;
55
+ method: number;
56
+ url?: string;
57
+ customdata?: any;
58
+ ext?: any;
59
+ }
60
+ export declare function NativeResponseToProductInformation(native: INativeResponse): IProductInformation;
@@ -0,0 +1,4 @@
1
+ export * from './BidRequest';
2
+ export * from './BidResponse';
3
+ export * from './NativeRequest';
4
+ export * from './NativeResponse';