@zorilla/playwright-extra 1.0.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.
@@ -0,0 +1,2397 @@
1
+ import type * as pw from 'playwright-core';
2
+ import { PlaywrightExtraClass } from './extra.js';
3
+ import { PluginList } from './plugins.js';
4
+ export { PlaywrightExtra, PlaywrightExtraClass } from './extra.js';
5
+ export { PluginList } from './plugins.js';
6
+ /** A playwright browser launcher */
7
+ export type PlaywrightBrowserLauncher = pw.BrowserType<{}>;
8
+ /** A playwright browser launcher with plugin functionality */
9
+ export type AugmentedBrowserLauncher = PlaywrightExtraClass & PlaywrightBrowserLauncher;
10
+ /**
11
+ * The minimum shape we expect from a playwright compatible launcher object.
12
+ * We intentionally keep this not strict so other custom or compatible launchers can be used.
13
+ */
14
+ export interface PlaywrightCompatibleLauncher {
15
+ connect?(...args: unknown[]): Promise<pw.Browser>;
16
+ launch?(...args: unknown[]): Promise<pw.Browser>;
17
+ launchPersistentContext?(...args: unknown[]): Promise<pw.BrowserContext>;
18
+ connectOverCDP?(...args: unknown[]): Promise<pw.Browser>;
19
+ }
20
+ /**
21
+ * Augment the provided Playwright browser launcher with plugin functionality.
22
+ *
23
+ * Using `addExtra` will always create a fresh PlaywrightExtra instance.
24
+ *
25
+ * @example
26
+ * import playwright from 'playwright'
27
+ * import { addExtra } from '@zorilla/playwright-extra'
28
+ *
29
+ * const chromium = addExtra(playwright.chromium)
30
+ * chromium.use(plugin)
31
+ *
32
+ * @param launcher - Playwright (or compatible) browser launcher
33
+ */
34
+ export declare const addExtra: <Launcher extends PlaywrightCompatibleLauncher>(launcher?: Launcher) => PlaywrightExtraClass & Launcher;
35
+ /**
36
+ * This object can be used to launch or connect to Chromium with plugin functionality.
37
+ *
38
+ * This default export will behave exactly the same as the regular playwright
39
+ * (just with extra plugin functionality) and can be used as a drop-in replacement.
40
+ *
41
+ * Behind the scenes it will try to require either the `playwright-core`
42
+ * or `playwright` module from the installed dependencies.
43
+ *
44
+ * @note
45
+ * Due to Node.js import caching this will result in a single
46
+ * PlaywrightExtra instance, even when used in different files. If you need multiple
47
+ * instances with different plugins please use `addExtra`.
48
+ *
49
+ * @example
50
+ * // javascript import
51
+ * // ESM import
52
+ * import { chromium } from '@zorilla/playwright-extra'
53
+ *
54
+ * // Add plugins
55
+ * chromium.use(...)
56
+ */
57
+ export declare const chromium: PlaywrightExtraClass & pw.BrowserType<{}>;
58
+ /**
59
+ * This object can be used to launch or connect to Firefox with plugin functionality
60
+ * @note This export will always return the same instance, if you wish to use multiple instances with different plugins use `addExtra`
61
+ */
62
+ export declare const firefox: PlaywrightExtraClass & pw.BrowserType<{}>;
63
+ /**
64
+ * This object can be used to launch or connect to Webkit with plugin functionality
65
+ * @note This export will always return the same instance, if you wish to use multiple instances with different plugins use `addExtra`
66
+ */
67
+ export declare const webkit: PlaywrightExtraClass & pw.BrowserType<{}>;
68
+ export declare const _android: pw.Android;
69
+ export declare const _electron: pw.Electron;
70
+ export declare const request: pw.APIRequest;
71
+ export declare const selectors: pw.Selectors;
72
+ export declare const devices: {
73
+ [key: string]: {
74
+ viewport: pw.ViewportSize;
75
+ userAgent: string;
76
+ deviceScaleFactor: number;
77
+ isMobile: boolean;
78
+ hasTouch: boolean;
79
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
80
+ };
81
+ "Blackberry PlayBook": {
82
+ viewport: pw.ViewportSize;
83
+ userAgent: string;
84
+ deviceScaleFactor: number;
85
+ isMobile: boolean;
86
+ hasTouch: boolean;
87
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
88
+ };
89
+ "Blackberry PlayBook landscape": {
90
+ viewport: pw.ViewportSize;
91
+ userAgent: string;
92
+ deviceScaleFactor: number;
93
+ isMobile: boolean;
94
+ hasTouch: boolean;
95
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
96
+ };
97
+ "BlackBerry Z30": {
98
+ viewport: pw.ViewportSize;
99
+ userAgent: string;
100
+ deviceScaleFactor: number;
101
+ isMobile: boolean;
102
+ hasTouch: boolean;
103
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
104
+ };
105
+ "BlackBerry Z30 landscape": {
106
+ viewport: pw.ViewportSize;
107
+ userAgent: string;
108
+ deviceScaleFactor: number;
109
+ isMobile: boolean;
110
+ hasTouch: boolean;
111
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
112
+ };
113
+ "Galaxy Note 3": {
114
+ viewport: pw.ViewportSize;
115
+ userAgent: string;
116
+ deviceScaleFactor: number;
117
+ isMobile: boolean;
118
+ hasTouch: boolean;
119
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
120
+ };
121
+ "Galaxy Note 3 landscape": {
122
+ viewport: pw.ViewportSize;
123
+ userAgent: string;
124
+ deviceScaleFactor: number;
125
+ isMobile: boolean;
126
+ hasTouch: boolean;
127
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
128
+ };
129
+ "Galaxy Note II": {
130
+ viewport: pw.ViewportSize;
131
+ userAgent: string;
132
+ deviceScaleFactor: number;
133
+ isMobile: boolean;
134
+ hasTouch: boolean;
135
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
136
+ };
137
+ "Galaxy Note II landscape": {
138
+ viewport: pw.ViewportSize;
139
+ userAgent: string;
140
+ deviceScaleFactor: number;
141
+ isMobile: boolean;
142
+ hasTouch: boolean;
143
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
144
+ };
145
+ "Galaxy S III": {
146
+ viewport: pw.ViewportSize;
147
+ userAgent: string;
148
+ deviceScaleFactor: number;
149
+ isMobile: boolean;
150
+ hasTouch: boolean;
151
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
152
+ };
153
+ "Galaxy S III landscape": {
154
+ viewport: pw.ViewportSize;
155
+ userAgent: string;
156
+ deviceScaleFactor: number;
157
+ isMobile: boolean;
158
+ hasTouch: boolean;
159
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
160
+ };
161
+ "Galaxy S5": {
162
+ viewport: pw.ViewportSize;
163
+ userAgent: string;
164
+ deviceScaleFactor: number;
165
+ isMobile: boolean;
166
+ hasTouch: boolean;
167
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
168
+ };
169
+ "Galaxy S5 landscape": {
170
+ viewport: pw.ViewportSize;
171
+ userAgent: string;
172
+ deviceScaleFactor: number;
173
+ isMobile: boolean;
174
+ hasTouch: boolean;
175
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
176
+ };
177
+ "Galaxy S8": {
178
+ viewport: pw.ViewportSize;
179
+ userAgent: string;
180
+ deviceScaleFactor: number;
181
+ isMobile: boolean;
182
+ hasTouch: boolean;
183
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
184
+ };
185
+ "Galaxy S8 landscape": {
186
+ viewport: pw.ViewportSize;
187
+ userAgent: string;
188
+ deviceScaleFactor: number;
189
+ isMobile: boolean;
190
+ hasTouch: boolean;
191
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
192
+ };
193
+ "Galaxy S9+": {
194
+ viewport: pw.ViewportSize;
195
+ userAgent: string;
196
+ deviceScaleFactor: number;
197
+ isMobile: boolean;
198
+ hasTouch: boolean;
199
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
200
+ };
201
+ "Galaxy S9+ landscape": {
202
+ viewport: pw.ViewportSize;
203
+ userAgent: string;
204
+ deviceScaleFactor: number;
205
+ isMobile: boolean;
206
+ hasTouch: boolean;
207
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
208
+ };
209
+ "Galaxy S24": {
210
+ viewport: pw.ViewportSize;
211
+ userAgent: string;
212
+ deviceScaleFactor: number;
213
+ isMobile: boolean;
214
+ hasTouch: boolean;
215
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
216
+ };
217
+ "Galaxy S24 landscape": {
218
+ viewport: pw.ViewportSize;
219
+ userAgent: string;
220
+ deviceScaleFactor: number;
221
+ isMobile: boolean;
222
+ hasTouch: boolean;
223
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
224
+ };
225
+ "Galaxy A55": {
226
+ viewport: pw.ViewportSize;
227
+ userAgent: string;
228
+ deviceScaleFactor: number;
229
+ isMobile: boolean;
230
+ hasTouch: boolean;
231
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
232
+ };
233
+ "Galaxy A55 landscape": {
234
+ viewport: pw.ViewportSize;
235
+ userAgent: string;
236
+ deviceScaleFactor: number;
237
+ isMobile: boolean;
238
+ hasTouch: boolean;
239
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
240
+ };
241
+ "Galaxy Tab S4": {
242
+ viewport: pw.ViewportSize;
243
+ userAgent: string;
244
+ deviceScaleFactor: number;
245
+ isMobile: boolean;
246
+ hasTouch: boolean;
247
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
248
+ };
249
+ "Galaxy Tab S4 landscape": {
250
+ viewport: pw.ViewportSize;
251
+ userAgent: string;
252
+ deviceScaleFactor: number;
253
+ isMobile: boolean;
254
+ hasTouch: boolean;
255
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
256
+ };
257
+ "Galaxy Tab S9": {
258
+ viewport: pw.ViewportSize;
259
+ userAgent: string;
260
+ deviceScaleFactor: number;
261
+ isMobile: boolean;
262
+ hasTouch: boolean;
263
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
264
+ };
265
+ "Galaxy Tab S9 landscape": {
266
+ viewport: pw.ViewportSize;
267
+ userAgent: string;
268
+ deviceScaleFactor: number;
269
+ isMobile: boolean;
270
+ hasTouch: boolean;
271
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
272
+ };
273
+ "iPad (gen 5)": {
274
+ viewport: pw.ViewportSize;
275
+ userAgent: string;
276
+ deviceScaleFactor: number;
277
+ isMobile: boolean;
278
+ hasTouch: boolean;
279
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
280
+ };
281
+ "iPad (gen 5) landscape": {
282
+ viewport: pw.ViewportSize;
283
+ userAgent: string;
284
+ deviceScaleFactor: number;
285
+ isMobile: boolean;
286
+ hasTouch: boolean;
287
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
288
+ };
289
+ "iPad (gen 6)": {
290
+ viewport: pw.ViewportSize;
291
+ userAgent: string;
292
+ deviceScaleFactor: number;
293
+ isMobile: boolean;
294
+ hasTouch: boolean;
295
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
296
+ };
297
+ "iPad (gen 6) landscape": {
298
+ viewport: pw.ViewportSize;
299
+ userAgent: string;
300
+ deviceScaleFactor: number;
301
+ isMobile: boolean;
302
+ hasTouch: boolean;
303
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
304
+ };
305
+ "iPad (gen 7)": {
306
+ viewport: pw.ViewportSize;
307
+ userAgent: string;
308
+ deviceScaleFactor: number;
309
+ isMobile: boolean;
310
+ hasTouch: boolean;
311
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
312
+ };
313
+ "iPad (gen 7) landscape": {
314
+ viewport: pw.ViewportSize;
315
+ userAgent: string;
316
+ deviceScaleFactor: number;
317
+ isMobile: boolean;
318
+ hasTouch: boolean;
319
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
320
+ };
321
+ "iPad (gen 11)": {
322
+ viewport: pw.ViewportSize;
323
+ userAgent: string;
324
+ deviceScaleFactor: number;
325
+ isMobile: boolean;
326
+ hasTouch: boolean;
327
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
328
+ };
329
+ "iPad (gen 11) landscape": {
330
+ viewport: pw.ViewportSize;
331
+ userAgent: string;
332
+ deviceScaleFactor: number;
333
+ isMobile: boolean;
334
+ hasTouch: boolean;
335
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
336
+ };
337
+ "iPad Mini": {
338
+ viewport: pw.ViewportSize;
339
+ userAgent: string;
340
+ deviceScaleFactor: number;
341
+ isMobile: boolean;
342
+ hasTouch: boolean;
343
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
344
+ };
345
+ "iPad Mini landscape": {
346
+ viewport: pw.ViewportSize;
347
+ userAgent: string;
348
+ deviceScaleFactor: number;
349
+ isMobile: boolean;
350
+ hasTouch: boolean;
351
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
352
+ };
353
+ "iPad Pro 11": {
354
+ viewport: pw.ViewportSize;
355
+ userAgent: string;
356
+ deviceScaleFactor: number;
357
+ isMobile: boolean;
358
+ hasTouch: boolean;
359
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
360
+ };
361
+ "iPad Pro 11 landscape": {
362
+ viewport: pw.ViewportSize;
363
+ userAgent: string;
364
+ deviceScaleFactor: number;
365
+ isMobile: boolean;
366
+ hasTouch: boolean;
367
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
368
+ };
369
+ "iPhone 6": {
370
+ viewport: pw.ViewportSize;
371
+ userAgent: string;
372
+ deviceScaleFactor: number;
373
+ isMobile: boolean;
374
+ hasTouch: boolean;
375
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
376
+ };
377
+ "iPhone 6 landscape": {
378
+ viewport: pw.ViewportSize;
379
+ userAgent: string;
380
+ deviceScaleFactor: number;
381
+ isMobile: boolean;
382
+ hasTouch: boolean;
383
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
384
+ };
385
+ "iPhone 6 Plus": {
386
+ viewport: pw.ViewportSize;
387
+ userAgent: string;
388
+ deviceScaleFactor: number;
389
+ isMobile: boolean;
390
+ hasTouch: boolean;
391
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
392
+ };
393
+ "iPhone 6 Plus landscape": {
394
+ viewport: pw.ViewportSize;
395
+ userAgent: string;
396
+ deviceScaleFactor: number;
397
+ isMobile: boolean;
398
+ hasTouch: boolean;
399
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
400
+ };
401
+ "iPhone 7": {
402
+ viewport: pw.ViewportSize;
403
+ userAgent: string;
404
+ deviceScaleFactor: number;
405
+ isMobile: boolean;
406
+ hasTouch: boolean;
407
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
408
+ };
409
+ "iPhone 7 landscape": {
410
+ viewport: pw.ViewportSize;
411
+ userAgent: string;
412
+ deviceScaleFactor: number;
413
+ isMobile: boolean;
414
+ hasTouch: boolean;
415
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
416
+ };
417
+ "iPhone 7 Plus": {
418
+ viewport: pw.ViewportSize;
419
+ userAgent: string;
420
+ deviceScaleFactor: number;
421
+ isMobile: boolean;
422
+ hasTouch: boolean;
423
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
424
+ };
425
+ "iPhone 7 Plus landscape": {
426
+ viewport: pw.ViewportSize;
427
+ userAgent: string;
428
+ deviceScaleFactor: number;
429
+ isMobile: boolean;
430
+ hasTouch: boolean;
431
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
432
+ };
433
+ "iPhone 8": {
434
+ viewport: pw.ViewportSize;
435
+ userAgent: string;
436
+ deviceScaleFactor: number;
437
+ isMobile: boolean;
438
+ hasTouch: boolean;
439
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
440
+ };
441
+ "iPhone 8 landscape": {
442
+ viewport: pw.ViewportSize;
443
+ userAgent: string;
444
+ deviceScaleFactor: number;
445
+ isMobile: boolean;
446
+ hasTouch: boolean;
447
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
448
+ };
449
+ "iPhone 8 Plus": {
450
+ viewport: pw.ViewportSize;
451
+ userAgent: string;
452
+ deviceScaleFactor: number;
453
+ isMobile: boolean;
454
+ hasTouch: boolean;
455
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
456
+ };
457
+ "iPhone 8 Plus landscape": {
458
+ viewport: pw.ViewportSize;
459
+ userAgent: string;
460
+ deviceScaleFactor: number;
461
+ isMobile: boolean;
462
+ hasTouch: boolean;
463
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
464
+ };
465
+ "iPhone SE": {
466
+ viewport: pw.ViewportSize;
467
+ userAgent: string;
468
+ deviceScaleFactor: number;
469
+ isMobile: boolean;
470
+ hasTouch: boolean;
471
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
472
+ };
473
+ "iPhone SE landscape": {
474
+ viewport: pw.ViewportSize;
475
+ userAgent: string;
476
+ deviceScaleFactor: number;
477
+ isMobile: boolean;
478
+ hasTouch: boolean;
479
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
480
+ };
481
+ "iPhone SE (3rd gen)": {
482
+ viewport: pw.ViewportSize;
483
+ userAgent: string;
484
+ deviceScaleFactor: number;
485
+ isMobile: boolean;
486
+ hasTouch: boolean;
487
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
488
+ };
489
+ "iPhone SE (3rd gen) landscape": {
490
+ viewport: pw.ViewportSize;
491
+ userAgent: string;
492
+ deviceScaleFactor: number;
493
+ isMobile: boolean;
494
+ hasTouch: boolean;
495
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
496
+ };
497
+ "iPhone X": {
498
+ viewport: pw.ViewportSize;
499
+ userAgent: string;
500
+ deviceScaleFactor: number;
501
+ isMobile: boolean;
502
+ hasTouch: boolean;
503
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
504
+ };
505
+ "iPhone X landscape": {
506
+ viewport: pw.ViewportSize;
507
+ userAgent: string;
508
+ deviceScaleFactor: number;
509
+ isMobile: boolean;
510
+ hasTouch: boolean;
511
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
512
+ };
513
+ "iPhone XR": {
514
+ viewport: pw.ViewportSize;
515
+ userAgent: string;
516
+ deviceScaleFactor: number;
517
+ isMobile: boolean;
518
+ hasTouch: boolean;
519
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
520
+ };
521
+ "iPhone XR landscape": {
522
+ viewport: pw.ViewportSize;
523
+ userAgent: string;
524
+ deviceScaleFactor: number;
525
+ isMobile: boolean;
526
+ hasTouch: boolean;
527
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
528
+ };
529
+ "iPhone 11": {
530
+ viewport: pw.ViewportSize;
531
+ userAgent: string;
532
+ deviceScaleFactor: number;
533
+ isMobile: boolean;
534
+ hasTouch: boolean;
535
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
536
+ };
537
+ "iPhone 11 landscape": {
538
+ viewport: pw.ViewportSize;
539
+ userAgent: string;
540
+ deviceScaleFactor: number;
541
+ isMobile: boolean;
542
+ hasTouch: boolean;
543
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
544
+ };
545
+ "iPhone 11 Pro": {
546
+ viewport: pw.ViewportSize;
547
+ userAgent: string;
548
+ deviceScaleFactor: number;
549
+ isMobile: boolean;
550
+ hasTouch: boolean;
551
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
552
+ };
553
+ "iPhone 11 Pro landscape": {
554
+ viewport: pw.ViewportSize;
555
+ userAgent: string;
556
+ deviceScaleFactor: number;
557
+ isMobile: boolean;
558
+ hasTouch: boolean;
559
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
560
+ };
561
+ "iPhone 11 Pro Max": {
562
+ viewport: pw.ViewportSize;
563
+ userAgent: string;
564
+ deviceScaleFactor: number;
565
+ isMobile: boolean;
566
+ hasTouch: boolean;
567
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
568
+ };
569
+ "iPhone 11 Pro Max landscape": {
570
+ viewport: pw.ViewportSize;
571
+ userAgent: string;
572
+ deviceScaleFactor: number;
573
+ isMobile: boolean;
574
+ hasTouch: boolean;
575
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
576
+ };
577
+ "iPhone 12": {
578
+ viewport: pw.ViewportSize;
579
+ userAgent: string;
580
+ deviceScaleFactor: number;
581
+ isMobile: boolean;
582
+ hasTouch: boolean;
583
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
584
+ };
585
+ "iPhone 12 landscape": {
586
+ viewport: pw.ViewportSize;
587
+ userAgent: string;
588
+ deviceScaleFactor: number;
589
+ isMobile: boolean;
590
+ hasTouch: boolean;
591
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
592
+ };
593
+ "iPhone 12 Pro": {
594
+ viewport: pw.ViewportSize;
595
+ userAgent: string;
596
+ deviceScaleFactor: number;
597
+ isMobile: boolean;
598
+ hasTouch: boolean;
599
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
600
+ };
601
+ "iPhone 12 Pro landscape": {
602
+ viewport: pw.ViewportSize;
603
+ userAgent: string;
604
+ deviceScaleFactor: number;
605
+ isMobile: boolean;
606
+ hasTouch: boolean;
607
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
608
+ };
609
+ "iPhone 12 Pro Max": {
610
+ viewport: pw.ViewportSize;
611
+ userAgent: string;
612
+ deviceScaleFactor: number;
613
+ isMobile: boolean;
614
+ hasTouch: boolean;
615
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
616
+ };
617
+ "iPhone 12 Pro Max landscape": {
618
+ viewport: pw.ViewportSize;
619
+ userAgent: string;
620
+ deviceScaleFactor: number;
621
+ isMobile: boolean;
622
+ hasTouch: boolean;
623
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
624
+ };
625
+ "iPhone 12 Mini": {
626
+ viewport: pw.ViewportSize;
627
+ userAgent: string;
628
+ deviceScaleFactor: number;
629
+ isMobile: boolean;
630
+ hasTouch: boolean;
631
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
632
+ };
633
+ "iPhone 12 Mini landscape": {
634
+ viewport: pw.ViewportSize;
635
+ userAgent: string;
636
+ deviceScaleFactor: number;
637
+ isMobile: boolean;
638
+ hasTouch: boolean;
639
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
640
+ };
641
+ "iPhone 13": {
642
+ viewport: pw.ViewportSize;
643
+ userAgent: string;
644
+ deviceScaleFactor: number;
645
+ isMobile: boolean;
646
+ hasTouch: boolean;
647
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
648
+ };
649
+ "iPhone 13 landscape": {
650
+ viewport: pw.ViewportSize;
651
+ userAgent: string;
652
+ deviceScaleFactor: number;
653
+ isMobile: boolean;
654
+ hasTouch: boolean;
655
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
656
+ };
657
+ "iPhone 13 Pro": {
658
+ viewport: pw.ViewportSize;
659
+ userAgent: string;
660
+ deviceScaleFactor: number;
661
+ isMobile: boolean;
662
+ hasTouch: boolean;
663
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
664
+ };
665
+ "iPhone 13 Pro landscape": {
666
+ viewport: pw.ViewportSize;
667
+ userAgent: string;
668
+ deviceScaleFactor: number;
669
+ isMobile: boolean;
670
+ hasTouch: boolean;
671
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
672
+ };
673
+ "iPhone 13 Pro Max": {
674
+ viewport: pw.ViewportSize;
675
+ userAgent: string;
676
+ deviceScaleFactor: number;
677
+ isMobile: boolean;
678
+ hasTouch: boolean;
679
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
680
+ };
681
+ "iPhone 13 Pro Max landscape": {
682
+ viewport: pw.ViewportSize;
683
+ userAgent: string;
684
+ deviceScaleFactor: number;
685
+ isMobile: boolean;
686
+ hasTouch: boolean;
687
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
688
+ };
689
+ "iPhone 13 Mini": {
690
+ viewport: pw.ViewportSize;
691
+ userAgent: string;
692
+ deviceScaleFactor: number;
693
+ isMobile: boolean;
694
+ hasTouch: boolean;
695
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
696
+ };
697
+ "iPhone 13 Mini landscape": {
698
+ viewport: pw.ViewportSize;
699
+ userAgent: string;
700
+ deviceScaleFactor: number;
701
+ isMobile: boolean;
702
+ hasTouch: boolean;
703
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
704
+ };
705
+ "iPhone 14": {
706
+ viewport: pw.ViewportSize;
707
+ userAgent: string;
708
+ deviceScaleFactor: number;
709
+ isMobile: boolean;
710
+ hasTouch: boolean;
711
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
712
+ };
713
+ "iPhone 14 landscape": {
714
+ viewport: pw.ViewportSize;
715
+ userAgent: string;
716
+ deviceScaleFactor: number;
717
+ isMobile: boolean;
718
+ hasTouch: boolean;
719
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
720
+ };
721
+ "iPhone 14 Plus": {
722
+ viewport: pw.ViewportSize;
723
+ userAgent: string;
724
+ deviceScaleFactor: number;
725
+ isMobile: boolean;
726
+ hasTouch: boolean;
727
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
728
+ };
729
+ "iPhone 14 Plus landscape": {
730
+ viewport: pw.ViewportSize;
731
+ userAgent: string;
732
+ deviceScaleFactor: number;
733
+ isMobile: boolean;
734
+ hasTouch: boolean;
735
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
736
+ };
737
+ "iPhone 14 Pro": {
738
+ viewport: pw.ViewportSize;
739
+ userAgent: string;
740
+ deviceScaleFactor: number;
741
+ isMobile: boolean;
742
+ hasTouch: boolean;
743
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
744
+ };
745
+ "iPhone 14 Pro landscape": {
746
+ viewport: pw.ViewportSize;
747
+ userAgent: string;
748
+ deviceScaleFactor: number;
749
+ isMobile: boolean;
750
+ hasTouch: boolean;
751
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
752
+ };
753
+ "iPhone 14 Pro Max": {
754
+ viewport: pw.ViewportSize;
755
+ userAgent: string;
756
+ deviceScaleFactor: number;
757
+ isMobile: boolean;
758
+ hasTouch: boolean;
759
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
760
+ };
761
+ "iPhone 14 Pro Max landscape": {
762
+ viewport: pw.ViewportSize;
763
+ userAgent: string;
764
+ deviceScaleFactor: number;
765
+ isMobile: boolean;
766
+ hasTouch: boolean;
767
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
768
+ };
769
+ "iPhone 15": {
770
+ viewport: pw.ViewportSize;
771
+ userAgent: string;
772
+ deviceScaleFactor: number;
773
+ isMobile: boolean;
774
+ hasTouch: boolean;
775
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
776
+ };
777
+ "iPhone 15 landscape": {
778
+ viewport: pw.ViewportSize;
779
+ userAgent: string;
780
+ deviceScaleFactor: number;
781
+ isMobile: boolean;
782
+ hasTouch: boolean;
783
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
784
+ };
785
+ "iPhone 15 Plus": {
786
+ viewport: pw.ViewportSize;
787
+ userAgent: string;
788
+ deviceScaleFactor: number;
789
+ isMobile: boolean;
790
+ hasTouch: boolean;
791
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
792
+ };
793
+ "iPhone 15 Plus landscape": {
794
+ viewport: pw.ViewportSize;
795
+ userAgent: string;
796
+ deviceScaleFactor: number;
797
+ isMobile: boolean;
798
+ hasTouch: boolean;
799
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
800
+ };
801
+ "iPhone 15 Pro": {
802
+ viewport: pw.ViewportSize;
803
+ userAgent: string;
804
+ deviceScaleFactor: number;
805
+ isMobile: boolean;
806
+ hasTouch: boolean;
807
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
808
+ };
809
+ "iPhone 15 Pro landscape": {
810
+ viewport: pw.ViewportSize;
811
+ userAgent: string;
812
+ deviceScaleFactor: number;
813
+ isMobile: boolean;
814
+ hasTouch: boolean;
815
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
816
+ };
817
+ "iPhone 15 Pro Max": {
818
+ viewport: pw.ViewportSize;
819
+ userAgent: string;
820
+ deviceScaleFactor: number;
821
+ isMobile: boolean;
822
+ hasTouch: boolean;
823
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
824
+ };
825
+ "iPhone 15 Pro Max landscape": {
826
+ viewport: pw.ViewportSize;
827
+ userAgent: string;
828
+ deviceScaleFactor: number;
829
+ isMobile: boolean;
830
+ hasTouch: boolean;
831
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
832
+ };
833
+ "Kindle Fire HDX": {
834
+ viewport: pw.ViewportSize;
835
+ userAgent: string;
836
+ deviceScaleFactor: number;
837
+ isMobile: boolean;
838
+ hasTouch: boolean;
839
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
840
+ };
841
+ "Kindle Fire HDX landscape": {
842
+ viewport: pw.ViewportSize;
843
+ userAgent: string;
844
+ deviceScaleFactor: number;
845
+ isMobile: boolean;
846
+ hasTouch: boolean;
847
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
848
+ };
849
+ "LG Optimus L70": {
850
+ viewport: pw.ViewportSize;
851
+ userAgent: string;
852
+ deviceScaleFactor: number;
853
+ isMobile: boolean;
854
+ hasTouch: boolean;
855
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
856
+ };
857
+ "LG Optimus L70 landscape": {
858
+ viewport: pw.ViewportSize;
859
+ userAgent: string;
860
+ deviceScaleFactor: number;
861
+ isMobile: boolean;
862
+ hasTouch: boolean;
863
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
864
+ };
865
+ "Microsoft Lumia 550": {
866
+ viewport: pw.ViewportSize;
867
+ userAgent: string;
868
+ deviceScaleFactor: number;
869
+ isMobile: boolean;
870
+ hasTouch: boolean;
871
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
872
+ };
873
+ "Microsoft Lumia 550 landscape": {
874
+ viewport: pw.ViewportSize;
875
+ userAgent: string;
876
+ deviceScaleFactor: number;
877
+ isMobile: boolean;
878
+ hasTouch: boolean;
879
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
880
+ };
881
+ "Microsoft Lumia 950": {
882
+ viewport: pw.ViewportSize;
883
+ userAgent: string;
884
+ deviceScaleFactor: number;
885
+ isMobile: boolean;
886
+ hasTouch: boolean;
887
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
888
+ };
889
+ "Microsoft Lumia 950 landscape": {
890
+ viewport: pw.ViewportSize;
891
+ userAgent: string;
892
+ deviceScaleFactor: number;
893
+ isMobile: boolean;
894
+ hasTouch: boolean;
895
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
896
+ };
897
+ "Nexus 10": {
898
+ viewport: pw.ViewportSize;
899
+ userAgent: string;
900
+ deviceScaleFactor: number;
901
+ isMobile: boolean;
902
+ hasTouch: boolean;
903
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
904
+ };
905
+ "Nexus 10 landscape": {
906
+ viewport: pw.ViewportSize;
907
+ userAgent: string;
908
+ deviceScaleFactor: number;
909
+ isMobile: boolean;
910
+ hasTouch: boolean;
911
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
912
+ };
913
+ "Nexus 4": {
914
+ viewport: pw.ViewportSize;
915
+ userAgent: string;
916
+ deviceScaleFactor: number;
917
+ isMobile: boolean;
918
+ hasTouch: boolean;
919
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
920
+ };
921
+ "Nexus 4 landscape": {
922
+ viewport: pw.ViewportSize;
923
+ userAgent: string;
924
+ deviceScaleFactor: number;
925
+ isMobile: boolean;
926
+ hasTouch: boolean;
927
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
928
+ };
929
+ "Nexus 5": {
930
+ viewport: pw.ViewportSize;
931
+ userAgent: string;
932
+ deviceScaleFactor: number;
933
+ isMobile: boolean;
934
+ hasTouch: boolean;
935
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
936
+ };
937
+ "Nexus 5 landscape": {
938
+ viewport: pw.ViewportSize;
939
+ userAgent: string;
940
+ deviceScaleFactor: number;
941
+ isMobile: boolean;
942
+ hasTouch: boolean;
943
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
944
+ };
945
+ "Nexus 5X": {
946
+ viewport: pw.ViewportSize;
947
+ userAgent: string;
948
+ deviceScaleFactor: number;
949
+ isMobile: boolean;
950
+ hasTouch: boolean;
951
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
952
+ };
953
+ "Nexus 5X landscape": {
954
+ viewport: pw.ViewportSize;
955
+ userAgent: string;
956
+ deviceScaleFactor: number;
957
+ isMobile: boolean;
958
+ hasTouch: boolean;
959
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
960
+ };
961
+ "Nexus 6": {
962
+ viewport: pw.ViewportSize;
963
+ userAgent: string;
964
+ deviceScaleFactor: number;
965
+ isMobile: boolean;
966
+ hasTouch: boolean;
967
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
968
+ };
969
+ "Nexus 6 landscape": {
970
+ viewport: pw.ViewportSize;
971
+ userAgent: string;
972
+ deviceScaleFactor: number;
973
+ isMobile: boolean;
974
+ hasTouch: boolean;
975
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
976
+ };
977
+ "Nexus 6P": {
978
+ viewport: pw.ViewportSize;
979
+ userAgent: string;
980
+ deviceScaleFactor: number;
981
+ isMobile: boolean;
982
+ hasTouch: boolean;
983
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
984
+ };
985
+ "Nexus 6P landscape": {
986
+ viewport: pw.ViewportSize;
987
+ userAgent: string;
988
+ deviceScaleFactor: number;
989
+ isMobile: boolean;
990
+ hasTouch: boolean;
991
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
992
+ };
993
+ "Nexus 7": {
994
+ viewport: pw.ViewportSize;
995
+ userAgent: string;
996
+ deviceScaleFactor: number;
997
+ isMobile: boolean;
998
+ hasTouch: boolean;
999
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1000
+ };
1001
+ "Nexus 7 landscape": {
1002
+ viewport: pw.ViewportSize;
1003
+ userAgent: string;
1004
+ deviceScaleFactor: number;
1005
+ isMobile: boolean;
1006
+ hasTouch: boolean;
1007
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1008
+ };
1009
+ "Nokia Lumia 520": {
1010
+ viewport: pw.ViewportSize;
1011
+ userAgent: string;
1012
+ deviceScaleFactor: number;
1013
+ isMobile: boolean;
1014
+ hasTouch: boolean;
1015
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1016
+ };
1017
+ "Nokia Lumia 520 landscape": {
1018
+ viewport: pw.ViewportSize;
1019
+ userAgent: string;
1020
+ deviceScaleFactor: number;
1021
+ isMobile: boolean;
1022
+ hasTouch: boolean;
1023
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1024
+ };
1025
+ "Nokia N9": {
1026
+ viewport: pw.ViewportSize;
1027
+ userAgent: string;
1028
+ deviceScaleFactor: number;
1029
+ isMobile: boolean;
1030
+ hasTouch: boolean;
1031
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1032
+ };
1033
+ "Nokia N9 landscape": {
1034
+ viewport: pw.ViewportSize;
1035
+ userAgent: string;
1036
+ deviceScaleFactor: number;
1037
+ isMobile: boolean;
1038
+ hasTouch: boolean;
1039
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1040
+ };
1041
+ "Pixel 2": {
1042
+ viewport: pw.ViewportSize;
1043
+ userAgent: string;
1044
+ deviceScaleFactor: number;
1045
+ isMobile: boolean;
1046
+ hasTouch: boolean;
1047
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1048
+ };
1049
+ "Pixel 2 landscape": {
1050
+ viewport: pw.ViewportSize;
1051
+ userAgent: string;
1052
+ deviceScaleFactor: number;
1053
+ isMobile: boolean;
1054
+ hasTouch: boolean;
1055
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1056
+ };
1057
+ "Pixel 2 XL": {
1058
+ viewport: pw.ViewportSize;
1059
+ userAgent: string;
1060
+ deviceScaleFactor: number;
1061
+ isMobile: boolean;
1062
+ hasTouch: boolean;
1063
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1064
+ };
1065
+ "Pixel 2 XL landscape": {
1066
+ viewport: pw.ViewportSize;
1067
+ userAgent: string;
1068
+ deviceScaleFactor: number;
1069
+ isMobile: boolean;
1070
+ hasTouch: boolean;
1071
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1072
+ };
1073
+ "Pixel 3": {
1074
+ viewport: pw.ViewportSize;
1075
+ userAgent: string;
1076
+ deviceScaleFactor: number;
1077
+ isMobile: boolean;
1078
+ hasTouch: boolean;
1079
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1080
+ };
1081
+ "Pixel 3 landscape": {
1082
+ viewport: pw.ViewportSize;
1083
+ userAgent: string;
1084
+ deviceScaleFactor: number;
1085
+ isMobile: boolean;
1086
+ hasTouch: boolean;
1087
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1088
+ };
1089
+ "Pixel 4": {
1090
+ viewport: pw.ViewportSize;
1091
+ userAgent: string;
1092
+ deviceScaleFactor: number;
1093
+ isMobile: boolean;
1094
+ hasTouch: boolean;
1095
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1096
+ };
1097
+ "Pixel 4 landscape": {
1098
+ viewport: pw.ViewportSize;
1099
+ userAgent: string;
1100
+ deviceScaleFactor: number;
1101
+ isMobile: boolean;
1102
+ hasTouch: boolean;
1103
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1104
+ };
1105
+ "Pixel 4a (5G)": {
1106
+ viewport: pw.ViewportSize;
1107
+ userAgent: string;
1108
+ deviceScaleFactor: number;
1109
+ isMobile: boolean;
1110
+ hasTouch: boolean;
1111
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1112
+ };
1113
+ "Pixel 4a (5G) landscape": {
1114
+ viewport: pw.ViewportSize;
1115
+ userAgent: string;
1116
+ deviceScaleFactor: number;
1117
+ isMobile: boolean;
1118
+ hasTouch: boolean;
1119
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1120
+ };
1121
+ "Pixel 5": {
1122
+ viewport: pw.ViewportSize;
1123
+ userAgent: string;
1124
+ deviceScaleFactor: number;
1125
+ isMobile: boolean;
1126
+ hasTouch: boolean;
1127
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1128
+ };
1129
+ "Pixel 5 landscape": {
1130
+ viewport: pw.ViewportSize;
1131
+ userAgent: string;
1132
+ deviceScaleFactor: number;
1133
+ isMobile: boolean;
1134
+ hasTouch: boolean;
1135
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1136
+ };
1137
+ "Pixel 7": {
1138
+ viewport: pw.ViewportSize;
1139
+ userAgent: string;
1140
+ deviceScaleFactor: number;
1141
+ isMobile: boolean;
1142
+ hasTouch: boolean;
1143
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1144
+ };
1145
+ "Pixel 7 landscape": {
1146
+ viewport: pw.ViewportSize;
1147
+ userAgent: string;
1148
+ deviceScaleFactor: number;
1149
+ isMobile: boolean;
1150
+ hasTouch: boolean;
1151
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1152
+ };
1153
+ "Moto G4": {
1154
+ viewport: pw.ViewportSize;
1155
+ userAgent: string;
1156
+ deviceScaleFactor: number;
1157
+ isMobile: boolean;
1158
+ hasTouch: boolean;
1159
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1160
+ };
1161
+ "Moto G4 landscape": {
1162
+ viewport: pw.ViewportSize;
1163
+ userAgent: string;
1164
+ deviceScaleFactor: number;
1165
+ isMobile: boolean;
1166
+ hasTouch: boolean;
1167
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1168
+ };
1169
+ "Desktop Chrome HiDPI": {
1170
+ viewport: pw.ViewportSize;
1171
+ userAgent: string;
1172
+ deviceScaleFactor: number;
1173
+ isMobile: boolean;
1174
+ hasTouch: boolean;
1175
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1176
+ };
1177
+ "Desktop Edge HiDPI": {
1178
+ viewport: pw.ViewportSize;
1179
+ userAgent: string;
1180
+ deviceScaleFactor: number;
1181
+ isMobile: boolean;
1182
+ hasTouch: boolean;
1183
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1184
+ };
1185
+ "Desktop Firefox HiDPI": {
1186
+ viewport: pw.ViewportSize;
1187
+ userAgent: string;
1188
+ deviceScaleFactor: number;
1189
+ isMobile: boolean;
1190
+ hasTouch: boolean;
1191
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1192
+ };
1193
+ "Desktop Safari": {
1194
+ viewport: pw.ViewportSize;
1195
+ userAgent: string;
1196
+ deviceScaleFactor: number;
1197
+ isMobile: boolean;
1198
+ hasTouch: boolean;
1199
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1200
+ };
1201
+ "Desktop Chrome": {
1202
+ viewport: pw.ViewportSize;
1203
+ userAgent: string;
1204
+ deviceScaleFactor: number;
1205
+ isMobile: boolean;
1206
+ hasTouch: boolean;
1207
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1208
+ };
1209
+ "Desktop Edge": {
1210
+ viewport: pw.ViewportSize;
1211
+ userAgent: string;
1212
+ deviceScaleFactor: number;
1213
+ isMobile: boolean;
1214
+ hasTouch: boolean;
1215
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1216
+ };
1217
+ "Desktop Firefox": {
1218
+ viewport: pw.ViewportSize;
1219
+ userAgent: string;
1220
+ deviceScaleFactor: number;
1221
+ isMobile: boolean;
1222
+ hasTouch: boolean;
1223
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1224
+ };
1225
+ };
1226
+ export declare const errors: typeof pw.errors;
1227
+ /** Playwright with plugin functionality */
1228
+ declare const moduleExports: {
1229
+ PlaywrightExtra: typeof PlaywrightExtraClass;
1230
+ PlaywrightExtraClass: typeof PlaywrightExtraClass;
1231
+ PluginList: typeof PluginList;
1232
+ addExtra: <Launcher extends PlaywrightCompatibleLauncher>(launcher?: Launcher) => PlaywrightExtraClass & Launcher;
1233
+ chromium: PlaywrightExtraClass & pw.BrowserType<{}>;
1234
+ firefox: PlaywrightExtraClass & pw.BrowserType<{}>;
1235
+ webkit: PlaywrightExtraClass & pw.BrowserType<{}>;
1236
+ _android: pw.Android;
1237
+ _electron: pw.Electron;
1238
+ request: pw.APIRequest;
1239
+ selectors: pw.Selectors;
1240
+ devices: {
1241
+ [key: string]: {
1242
+ viewport: pw.ViewportSize;
1243
+ userAgent: string;
1244
+ deviceScaleFactor: number;
1245
+ isMobile: boolean;
1246
+ hasTouch: boolean;
1247
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1248
+ };
1249
+ "Blackberry PlayBook": {
1250
+ viewport: pw.ViewportSize;
1251
+ userAgent: string;
1252
+ deviceScaleFactor: number;
1253
+ isMobile: boolean;
1254
+ hasTouch: boolean;
1255
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1256
+ };
1257
+ "Blackberry PlayBook landscape": {
1258
+ viewport: pw.ViewportSize;
1259
+ userAgent: string;
1260
+ deviceScaleFactor: number;
1261
+ isMobile: boolean;
1262
+ hasTouch: boolean;
1263
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1264
+ };
1265
+ "BlackBerry Z30": {
1266
+ viewport: pw.ViewportSize;
1267
+ userAgent: string;
1268
+ deviceScaleFactor: number;
1269
+ isMobile: boolean;
1270
+ hasTouch: boolean;
1271
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1272
+ };
1273
+ "BlackBerry Z30 landscape": {
1274
+ viewport: pw.ViewportSize;
1275
+ userAgent: string;
1276
+ deviceScaleFactor: number;
1277
+ isMobile: boolean;
1278
+ hasTouch: boolean;
1279
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1280
+ };
1281
+ "Galaxy Note 3": {
1282
+ viewport: pw.ViewportSize;
1283
+ userAgent: string;
1284
+ deviceScaleFactor: number;
1285
+ isMobile: boolean;
1286
+ hasTouch: boolean;
1287
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1288
+ };
1289
+ "Galaxy Note 3 landscape": {
1290
+ viewport: pw.ViewportSize;
1291
+ userAgent: string;
1292
+ deviceScaleFactor: number;
1293
+ isMobile: boolean;
1294
+ hasTouch: boolean;
1295
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1296
+ };
1297
+ "Galaxy Note II": {
1298
+ viewport: pw.ViewportSize;
1299
+ userAgent: string;
1300
+ deviceScaleFactor: number;
1301
+ isMobile: boolean;
1302
+ hasTouch: boolean;
1303
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1304
+ };
1305
+ "Galaxy Note II landscape": {
1306
+ viewport: pw.ViewportSize;
1307
+ userAgent: string;
1308
+ deviceScaleFactor: number;
1309
+ isMobile: boolean;
1310
+ hasTouch: boolean;
1311
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1312
+ };
1313
+ "Galaxy S III": {
1314
+ viewport: pw.ViewportSize;
1315
+ userAgent: string;
1316
+ deviceScaleFactor: number;
1317
+ isMobile: boolean;
1318
+ hasTouch: boolean;
1319
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1320
+ };
1321
+ "Galaxy S III landscape": {
1322
+ viewport: pw.ViewportSize;
1323
+ userAgent: string;
1324
+ deviceScaleFactor: number;
1325
+ isMobile: boolean;
1326
+ hasTouch: boolean;
1327
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1328
+ };
1329
+ "Galaxy S5": {
1330
+ viewport: pw.ViewportSize;
1331
+ userAgent: string;
1332
+ deviceScaleFactor: number;
1333
+ isMobile: boolean;
1334
+ hasTouch: boolean;
1335
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1336
+ };
1337
+ "Galaxy S5 landscape": {
1338
+ viewport: pw.ViewportSize;
1339
+ userAgent: string;
1340
+ deviceScaleFactor: number;
1341
+ isMobile: boolean;
1342
+ hasTouch: boolean;
1343
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1344
+ };
1345
+ "Galaxy S8": {
1346
+ viewport: pw.ViewportSize;
1347
+ userAgent: string;
1348
+ deviceScaleFactor: number;
1349
+ isMobile: boolean;
1350
+ hasTouch: boolean;
1351
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1352
+ };
1353
+ "Galaxy S8 landscape": {
1354
+ viewport: pw.ViewportSize;
1355
+ userAgent: string;
1356
+ deviceScaleFactor: number;
1357
+ isMobile: boolean;
1358
+ hasTouch: boolean;
1359
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1360
+ };
1361
+ "Galaxy S9+": {
1362
+ viewport: pw.ViewportSize;
1363
+ userAgent: string;
1364
+ deviceScaleFactor: number;
1365
+ isMobile: boolean;
1366
+ hasTouch: boolean;
1367
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1368
+ };
1369
+ "Galaxy S9+ landscape": {
1370
+ viewport: pw.ViewportSize;
1371
+ userAgent: string;
1372
+ deviceScaleFactor: number;
1373
+ isMobile: boolean;
1374
+ hasTouch: boolean;
1375
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1376
+ };
1377
+ "Galaxy S24": {
1378
+ viewport: pw.ViewportSize;
1379
+ userAgent: string;
1380
+ deviceScaleFactor: number;
1381
+ isMobile: boolean;
1382
+ hasTouch: boolean;
1383
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1384
+ };
1385
+ "Galaxy S24 landscape": {
1386
+ viewport: pw.ViewportSize;
1387
+ userAgent: string;
1388
+ deviceScaleFactor: number;
1389
+ isMobile: boolean;
1390
+ hasTouch: boolean;
1391
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1392
+ };
1393
+ "Galaxy A55": {
1394
+ viewport: pw.ViewportSize;
1395
+ userAgent: string;
1396
+ deviceScaleFactor: number;
1397
+ isMobile: boolean;
1398
+ hasTouch: boolean;
1399
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1400
+ };
1401
+ "Galaxy A55 landscape": {
1402
+ viewport: pw.ViewportSize;
1403
+ userAgent: string;
1404
+ deviceScaleFactor: number;
1405
+ isMobile: boolean;
1406
+ hasTouch: boolean;
1407
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1408
+ };
1409
+ "Galaxy Tab S4": {
1410
+ viewport: pw.ViewportSize;
1411
+ userAgent: string;
1412
+ deviceScaleFactor: number;
1413
+ isMobile: boolean;
1414
+ hasTouch: boolean;
1415
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1416
+ };
1417
+ "Galaxy Tab S4 landscape": {
1418
+ viewport: pw.ViewportSize;
1419
+ userAgent: string;
1420
+ deviceScaleFactor: number;
1421
+ isMobile: boolean;
1422
+ hasTouch: boolean;
1423
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1424
+ };
1425
+ "Galaxy Tab S9": {
1426
+ viewport: pw.ViewportSize;
1427
+ userAgent: string;
1428
+ deviceScaleFactor: number;
1429
+ isMobile: boolean;
1430
+ hasTouch: boolean;
1431
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1432
+ };
1433
+ "Galaxy Tab S9 landscape": {
1434
+ viewport: pw.ViewportSize;
1435
+ userAgent: string;
1436
+ deviceScaleFactor: number;
1437
+ isMobile: boolean;
1438
+ hasTouch: boolean;
1439
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1440
+ };
1441
+ "iPad (gen 5)": {
1442
+ viewport: pw.ViewportSize;
1443
+ userAgent: string;
1444
+ deviceScaleFactor: number;
1445
+ isMobile: boolean;
1446
+ hasTouch: boolean;
1447
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1448
+ };
1449
+ "iPad (gen 5) landscape": {
1450
+ viewport: pw.ViewportSize;
1451
+ userAgent: string;
1452
+ deviceScaleFactor: number;
1453
+ isMobile: boolean;
1454
+ hasTouch: boolean;
1455
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1456
+ };
1457
+ "iPad (gen 6)": {
1458
+ viewport: pw.ViewportSize;
1459
+ userAgent: string;
1460
+ deviceScaleFactor: number;
1461
+ isMobile: boolean;
1462
+ hasTouch: boolean;
1463
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1464
+ };
1465
+ "iPad (gen 6) landscape": {
1466
+ viewport: pw.ViewportSize;
1467
+ userAgent: string;
1468
+ deviceScaleFactor: number;
1469
+ isMobile: boolean;
1470
+ hasTouch: boolean;
1471
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1472
+ };
1473
+ "iPad (gen 7)": {
1474
+ viewport: pw.ViewportSize;
1475
+ userAgent: string;
1476
+ deviceScaleFactor: number;
1477
+ isMobile: boolean;
1478
+ hasTouch: boolean;
1479
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1480
+ };
1481
+ "iPad (gen 7) landscape": {
1482
+ viewport: pw.ViewportSize;
1483
+ userAgent: string;
1484
+ deviceScaleFactor: number;
1485
+ isMobile: boolean;
1486
+ hasTouch: boolean;
1487
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1488
+ };
1489
+ "iPad (gen 11)": {
1490
+ viewport: pw.ViewportSize;
1491
+ userAgent: string;
1492
+ deviceScaleFactor: number;
1493
+ isMobile: boolean;
1494
+ hasTouch: boolean;
1495
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1496
+ };
1497
+ "iPad (gen 11) landscape": {
1498
+ viewport: pw.ViewportSize;
1499
+ userAgent: string;
1500
+ deviceScaleFactor: number;
1501
+ isMobile: boolean;
1502
+ hasTouch: boolean;
1503
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1504
+ };
1505
+ "iPad Mini": {
1506
+ viewport: pw.ViewportSize;
1507
+ userAgent: string;
1508
+ deviceScaleFactor: number;
1509
+ isMobile: boolean;
1510
+ hasTouch: boolean;
1511
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1512
+ };
1513
+ "iPad Mini landscape": {
1514
+ viewport: pw.ViewportSize;
1515
+ userAgent: string;
1516
+ deviceScaleFactor: number;
1517
+ isMobile: boolean;
1518
+ hasTouch: boolean;
1519
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1520
+ };
1521
+ "iPad Pro 11": {
1522
+ viewport: pw.ViewportSize;
1523
+ userAgent: string;
1524
+ deviceScaleFactor: number;
1525
+ isMobile: boolean;
1526
+ hasTouch: boolean;
1527
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1528
+ };
1529
+ "iPad Pro 11 landscape": {
1530
+ viewport: pw.ViewportSize;
1531
+ userAgent: string;
1532
+ deviceScaleFactor: number;
1533
+ isMobile: boolean;
1534
+ hasTouch: boolean;
1535
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1536
+ };
1537
+ "iPhone 6": {
1538
+ viewport: pw.ViewportSize;
1539
+ userAgent: string;
1540
+ deviceScaleFactor: number;
1541
+ isMobile: boolean;
1542
+ hasTouch: boolean;
1543
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1544
+ };
1545
+ "iPhone 6 landscape": {
1546
+ viewport: pw.ViewportSize;
1547
+ userAgent: string;
1548
+ deviceScaleFactor: number;
1549
+ isMobile: boolean;
1550
+ hasTouch: boolean;
1551
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1552
+ };
1553
+ "iPhone 6 Plus": {
1554
+ viewport: pw.ViewportSize;
1555
+ userAgent: string;
1556
+ deviceScaleFactor: number;
1557
+ isMobile: boolean;
1558
+ hasTouch: boolean;
1559
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1560
+ };
1561
+ "iPhone 6 Plus landscape": {
1562
+ viewport: pw.ViewportSize;
1563
+ userAgent: string;
1564
+ deviceScaleFactor: number;
1565
+ isMobile: boolean;
1566
+ hasTouch: boolean;
1567
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1568
+ };
1569
+ "iPhone 7": {
1570
+ viewport: pw.ViewportSize;
1571
+ userAgent: string;
1572
+ deviceScaleFactor: number;
1573
+ isMobile: boolean;
1574
+ hasTouch: boolean;
1575
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1576
+ };
1577
+ "iPhone 7 landscape": {
1578
+ viewport: pw.ViewportSize;
1579
+ userAgent: string;
1580
+ deviceScaleFactor: number;
1581
+ isMobile: boolean;
1582
+ hasTouch: boolean;
1583
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1584
+ };
1585
+ "iPhone 7 Plus": {
1586
+ viewport: pw.ViewportSize;
1587
+ userAgent: string;
1588
+ deviceScaleFactor: number;
1589
+ isMobile: boolean;
1590
+ hasTouch: boolean;
1591
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1592
+ };
1593
+ "iPhone 7 Plus landscape": {
1594
+ viewport: pw.ViewportSize;
1595
+ userAgent: string;
1596
+ deviceScaleFactor: number;
1597
+ isMobile: boolean;
1598
+ hasTouch: boolean;
1599
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1600
+ };
1601
+ "iPhone 8": {
1602
+ viewport: pw.ViewportSize;
1603
+ userAgent: string;
1604
+ deviceScaleFactor: number;
1605
+ isMobile: boolean;
1606
+ hasTouch: boolean;
1607
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1608
+ };
1609
+ "iPhone 8 landscape": {
1610
+ viewport: pw.ViewportSize;
1611
+ userAgent: string;
1612
+ deviceScaleFactor: number;
1613
+ isMobile: boolean;
1614
+ hasTouch: boolean;
1615
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1616
+ };
1617
+ "iPhone 8 Plus": {
1618
+ viewport: pw.ViewportSize;
1619
+ userAgent: string;
1620
+ deviceScaleFactor: number;
1621
+ isMobile: boolean;
1622
+ hasTouch: boolean;
1623
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1624
+ };
1625
+ "iPhone 8 Plus landscape": {
1626
+ viewport: pw.ViewportSize;
1627
+ userAgent: string;
1628
+ deviceScaleFactor: number;
1629
+ isMobile: boolean;
1630
+ hasTouch: boolean;
1631
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1632
+ };
1633
+ "iPhone SE": {
1634
+ viewport: pw.ViewportSize;
1635
+ userAgent: string;
1636
+ deviceScaleFactor: number;
1637
+ isMobile: boolean;
1638
+ hasTouch: boolean;
1639
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1640
+ };
1641
+ "iPhone SE landscape": {
1642
+ viewport: pw.ViewportSize;
1643
+ userAgent: string;
1644
+ deviceScaleFactor: number;
1645
+ isMobile: boolean;
1646
+ hasTouch: boolean;
1647
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1648
+ };
1649
+ "iPhone SE (3rd gen)": {
1650
+ viewport: pw.ViewportSize;
1651
+ userAgent: string;
1652
+ deviceScaleFactor: number;
1653
+ isMobile: boolean;
1654
+ hasTouch: boolean;
1655
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1656
+ };
1657
+ "iPhone SE (3rd gen) landscape": {
1658
+ viewport: pw.ViewportSize;
1659
+ userAgent: string;
1660
+ deviceScaleFactor: number;
1661
+ isMobile: boolean;
1662
+ hasTouch: boolean;
1663
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1664
+ };
1665
+ "iPhone X": {
1666
+ viewport: pw.ViewportSize;
1667
+ userAgent: string;
1668
+ deviceScaleFactor: number;
1669
+ isMobile: boolean;
1670
+ hasTouch: boolean;
1671
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1672
+ };
1673
+ "iPhone X landscape": {
1674
+ viewport: pw.ViewportSize;
1675
+ userAgent: string;
1676
+ deviceScaleFactor: number;
1677
+ isMobile: boolean;
1678
+ hasTouch: boolean;
1679
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1680
+ };
1681
+ "iPhone XR": {
1682
+ viewport: pw.ViewportSize;
1683
+ userAgent: string;
1684
+ deviceScaleFactor: number;
1685
+ isMobile: boolean;
1686
+ hasTouch: boolean;
1687
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1688
+ };
1689
+ "iPhone XR landscape": {
1690
+ viewport: pw.ViewportSize;
1691
+ userAgent: string;
1692
+ deviceScaleFactor: number;
1693
+ isMobile: boolean;
1694
+ hasTouch: boolean;
1695
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1696
+ };
1697
+ "iPhone 11": {
1698
+ viewport: pw.ViewportSize;
1699
+ userAgent: string;
1700
+ deviceScaleFactor: number;
1701
+ isMobile: boolean;
1702
+ hasTouch: boolean;
1703
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1704
+ };
1705
+ "iPhone 11 landscape": {
1706
+ viewport: pw.ViewportSize;
1707
+ userAgent: string;
1708
+ deviceScaleFactor: number;
1709
+ isMobile: boolean;
1710
+ hasTouch: boolean;
1711
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1712
+ };
1713
+ "iPhone 11 Pro": {
1714
+ viewport: pw.ViewportSize;
1715
+ userAgent: string;
1716
+ deviceScaleFactor: number;
1717
+ isMobile: boolean;
1718
+ hasTouch: boolean;
1719
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1720
+ };
1721
+ "iPhone 11 Pro landscape": {
1722
+ viewport: pw.ViewportSize;
1723
+ userAgent: string;
1724
+ deviceScaleFactor: number;
1725
+ isMobile: boolean;
1726
+ hasTouch: boolean;
1727
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1728
+ };
1729
+ "iPhone 11 Pro Max": {
1730
+ viewport: pw.ViewportSize;
1731
+ userAgent: string;
1732
+ deviceScaleFactor: number;
1733
+ isMobile: boolean;
1734
+ hasTouch: boolean;
1735
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1736
+ };
1737
+ "iPhone 11 Pro Max landscape": {
1738
+ viewport: pw.ViewportSize;
1739
+ userAgent: string;
1740
+ deviceScaleFactor: number;
1741
+ isMobile: boolean;
1742
+ hasTouch: boolean;
1743
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1744
+ };
1745
+ "iPhone 12": {
1746
+ viewport: pw.ViewportSize;
1747
+ userAgent: string;
1748
+ deviceScaleFactor: number;
1749
+ isMobile: boolean;
1750
+ hasTouch: boolean;
1751
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1752
+ };
1753
+ "iPhone 12 landscape": {
1754
+ viewport: pw.ViewportSize;
1755
+ userAgent: string;
1756
+ deviceScaleFactor: number;
1757
+ isMobile: boolean;
1758
+ hasTouch: boolean;
1759
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1760
+ };
1761
+ "iPhone 12 Pro": {
1762
+ viewport: pw.ViewportSize;
1763
+ userAgent: string;
1764
+ deviceScaleFactor: number;
1765
+ isMobile: boolean;
1766
+ hasTouch: boolean;
1767
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1768
+ };
1769
+ "iPhone 12 Pro landscape": {
1770
+ viewport: pw.ViewportSize;
1771
+ userAgent: string;
1772
+ deviceScaleFactor: number;
1773
+ isMobile: boolean;
1774
+ hasTouch: boolean;
1775
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1776
+ };
1777
+ "iPhone 12 Pro Max": {
1778
+ viewport: pw.ViewportSize;
1779
+ userAgent: string;
1780
+ deviceScaleFactor: number;
1781
+ isMobile: boolean;
1782
+ hasTouch: boolean;
1783
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1784
+ };
1785
+ "iPhone 12 Pro Max landscape": {
1786
+ viewport: pw.ViewportSize;
1787
+ userAgent: string;
1788
+ deviceScaleFactor: number;
1789
+ isMobile: boolean;
1790
+ hasTouch: boolean;
1791
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1792
+ };
1793
+ "iPhone 12 Mini": {
1794
+ viewport: pw.ViewportSize;
1795
+ userAgent: string;
1796
+ deviceScaleFactor: number;
1797
+ isMobile: boolean;
1798
+ hasTouch: boolean;
1799
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1800
+ };
1801
+ "iPhone 12 Mini landscape": {
1802
+ viewport: pw.ViewportSize;
1803
+ userAgent: string;
1804
+ deviceScaleFactor: number;
1805
+ isMobile: boolean;
1806
+ hasTouch: boolean;
1807
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1808
+ };
1809
+ "iPhone 13": {
1810
+ viewport: pw.ViewportSize;
1811
+ userAgent: string;
1812
+ deviceScaleFactor: number;
1813
+ isMobile: boolean;
1814
+ hasTouch: boolean;
1815
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1816
+ };
1817
+ "iPhone 13 landscape": {
1818
+ viewport: pw.ViewportSize;
1819
+ userAgent: string;
1820
+ deviceScaleFactor: number;
1821
+ isMobile: boolean;
1822
+ hasTouch: boolean;
1823
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1824
+ };
1825
+ "iPhone 13 Pro": {
1826
+ viewport: pw.ViewportSize;
1827
+ userAgent: string;
1828
+ deviceScaleFactor: number;
1829
+ isMobile: boolean;
1830
+ hasTouch: boolean;
1831
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1832
+ };
1833
+ "iPhone 13 Pro landscape": {
1834
+ viewport: pw.ViewportSize;
1835
+ userAgent: string;
1836
+ deviceScaleFactor: number;
1837
+ isMobile: boolean;
1838
+ hasTouch: boolean;
1839
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1840
+ };
1841
+ "iPhone 13 Pro Max": {
1842
+ viewport: pw.ViewportSize;
1843
+ userAgent: string;
1844
+ deviceScaleFactor: number;
1845
+ isMobile: boolean;
1846
+ hasTouch: boolean;
1847
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1848
+ };
1849
+ "iPhone 13 Pro Max landscape": {
1850
+ viewport: pw.ViewportSize;
1851
+ userAgent: string;
1852
+ deviceScaleFactor: number;
1853
+ isMobile: boolean;
1854
+ hasTouch: boolean;
1855
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1856
+ };
1857
+ "iPhone 13 Mini": {
1858
+ viewport: pw.ViewportSize;
1859
+ userAgent: string;
1860
+ deviceScaleFactor: number;
1861
+ isMobile: boolean;
1862
+ hasTouch: boolean;
1863
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1864
+ };
1865
+ "iPhone 13 Mini landscape": {
1866
+ viewport: pw.ViewportSize;
1867
+ userAgent: string;
1868
+ deviceScaleFactor: number;
1869
+ isMobile: boolean;
1870
+ hasTouch: boolean;
1871
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1872
+ };
1873
+ "iPhone 14": {
1874
+ viewport: pw.ViewportSize;
1875
+ userAgent: string;
1876
+ deviceScaleFactor: number;
1877
+ isMobile: boolean;
1878
+ hasTouch: boolean;
1879
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1880
+ };
1881
+ "iPhone 14 landscape": {
1882
+ viewport: pw.ViewportSize;
1883
+ userAgent: string;
1884
+ deviceScaleFactor: number;
1885
+ isMobile: boolean;
1886
+ hasTouch: boolean;
1887
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1888
+ };
1889
+ "iPhone 14 Plus": {
1890
+ viewport: pw.ViewportSize;
1891
+ userAgent: string;
1892
+ deviceScaleFactor: number;
1893
+ isMobile: boolean;
1894
+ hasTouch: boolean;
1895
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1896
+ };
1897
+ "iPhone 14 Plus landscape": {
1898
+ viewport: pw.ViewportSize;
1899
+ userAgent: string;
1900
+ deviceScaleFactor: number;
1901
+ isMobile: boolean;
1902
+ hasTouch: boolean;
1903
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1904
+ };
1905
+ "iPhone 14 Pro": {
1906
+ viewport: pw.ViewportSize;
1907
+ userAgent: string;
1908
+ deviceScaleFactor: number;
1909
+ isMobile: boolean;
1910
+ hasTouch: boolean;
1911
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1912
+ };
1913
+ "iPhone 14 Pro landscape": {
1914
+ viewport: pw.ViewportSize;
1915
+ userAgent: string;
1916
+ deviceScaleFactor: number;
1917
+ isMobile: boolean;
1918
+ hasTouch: boolean;
1919
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1920
+ };
1921
+ "iPhone 14 Pro Max": {
1922
+ viewport: pw.ViewportSize;
1923
+ userAgent: string;
1924
+ deviceScaleFactor: number;
1925
+ isMobile: boolean;
1926
+ hasTouch: boolean;
1927
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1928
+ };
1929
+ "iPhone 14 Pro Max landscape": {
1930
+ viewport: pw.ViewportSize;
1931
+ userAgent: string;
1932
+ deviceScaleFactor: number;
1933
+ isMobile: boolean;
1934
+ hasTouch: boolean;
1935
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1936
+ };
1937
+ "iPhone 15": {
1938
+ viewport: pw.ViewportSize;
1939
+ userAgent: string;
1940
+ deviceScaleFactor: number;
1941
+ isMobile: boolean;
1942
+ hasTouch: boolean;
1943
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1944
+ };
1945
+ "iPhone 15 landscape": {
1946
+ viewport: pw.ViewportSize;
1947
+ userAgent: string;
1948
+ deviceScaleFactor: number;
1949
+ isMobile: boolean;
1950
+ hasTouch: boolean;
1951
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1952
+ };
1953
+ "iPhone 15 Plus": {
1954
+ viewport: pw.ViewportSize;
1955
+ userAgent: string;
1956
+ deviceScaleFactor: number;
1957
+ isMobile: boolean;
1958
+ hasTouch: boolean;
1959
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1960
+ };
1961
+ "iPhone 15 Plus landscape": {
1962
+ viewport: pw.ViewportSize;
1963
+ userAgent: string;
1964
+ deviceScaleFactor: number;
1965
+ isMobile: boolean;
1966
+ hasTouch: boolean;
1967
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1968
+ };
1969
+ "iPhone 15 Pro": {
1970
+ viewport: pw.ViewportSize;
1971
+ userAgent: string;
1972
+ deviceScaleFactor: number;
1973
+ isMobile: boolean;
1974
+ hasTouch: boolean;
1975
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1976
+ };
1977
+ "iPhone 15 Pro landscape": {
1978
+ viewport: pw.ViewportSize;
1979
+ userAgent: string;
1980
+ deviceScaleFactor: number;
1981
+ isMobile: boolean;
1982
+ hasTouch: boolean;
1983
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1984
+ };
1985
+ "iPhone 15 Pro Max": {
1986
+ viewport: pw.ViewportSize;
1987
+ userAgent: string;
1988
+ deviceScaleFactor: number;
1989
+ isMobile: boolean;
1990
+ hasTouch: boolean;
1991
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
1992
+ };
1993
+ "iPhone 15 Pro Max landscape": {
1994
+ viewport: pw.ViewportSize;
1995
+ userAgent: string;
1996
+ deviceScaleFactor: number;
1997
+ isMobile: boolean;
1998
+ hasTouch: boolean;
1999
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
2000
+ };
2001
+ "Kindle Fire HDX": {
2002
+ viewport: pw.ViewportSize;
2003
+ userAgent: string;
2004
+ deviceScaleFactor: number;
2005
+ isMobile: boolean;
2006
+ hasTouch: boolean;
2007
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
2008
+ };
2009
+ "Kindle Fire HDX landscape": {
2010
+ viewport: pw.ViewportSize;
2011
+ userAgent: string;
2012
+ deviceScaleFactor: number;
2013
+ isMobile: boolean;
2014
+ hasTouch: boolean;
2015
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
2016
+ };
2017
+ "LG Optimus L70": {
2018
+ viewport: pw.ViewportSize;
2019
+ userAgent: string;
2020
+ deviceScaleFactor: number;
2021
+ isMobile: boolean;
2022
+ hasTouch: boolean;
2023
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
2024
+ };
2025
+ "LG Optimus L70 landscape": {
2026
+ viewport: pw.ViewportSize;
2027
+ userAgent: string;
2028
+ deviceScaleFactor: number;
2029
+ isMobile: boolean;
2030
+ hasTouch: boolean;
2031
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
2032
+ };
2033
+ "Microsoft Lumia 550": {
2034
+ viewport: pw.ViewportSize;
2035
+ userAgent: string;
2036
+ deviceScaleFactor: number;
2037
+ isMobile: boolean;
2038
+ hasTouch: boolean;
2039
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
2040
+ };
2041
+ "Microsoft Lumia 550 landscape": {
2042
+ viewport: pw.ViewportSize;
2043
+ userAgent: string;
2044
+ deviceScaleFactor: number;
2045
+ isMobile: boolean;
2046
+ hasTouch: boolean;
2047
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
2048
+ };
2049
+ "Microsoft Lumia 950": {
2050
+ viewport: pw.ViewportSize;
2051
+ userAgent: string;
2052
+ deviceScaleFactor: number;
2053
+ isMobile: boolean;
2054
+ hasTouch: boolean;
2055
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
2056
+ };
2057
+ "Microsoft Lumia 950 landscape": {
2058
+ viewport: pw.ViewportSize;
2059
+ userAgent: string;
2060
+ deviceScaleFactor: number;
2061
+ isMobile: boolean;
2062
+ hasTouch: boolean;
2063
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
2064
+ };
2065
+ "Nexus 10": {
2066
+ viewport: pw.ViewportSize;
2067
+ userAgent: string;
2068
+ deviceScaleFactor: number;
2069
+ isMobile: boolean;
2070
+ hasTouch: boolean;
2071
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
2072
+ };
2073
+ "Nexus 10 landscape": {
2074
+ viewport: pw.ViewportSize;
2075
+ userAgent: string;
2076
+ deviceScaleFactor: number;
2077
+ isMobile: boolean;
2078
+ hasTouch: boolean;
2079
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
2080
+ };
2081
+ "Nexus 4": {
2082
+ viewport: pw.ViewportSize;
2083
+ userAgent: string;
2084
+ deviceScaleFactor: number;
2085
+ isMobile: boolean;
2086
+ hasTouch: boolean;
2087
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
2088
+ };
2089
+ "Nexus 4 landscape": {
2090
+ viewport: pw.ViewportSize;
2091
+ userAgent: string;
2092
+ deviceScaleFactor: number;
2093
+ isMobile: boolean;
2094
+ hasTouch: boolean;
2095
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
2096
+ };
2097
+ "Nexus 5": {
2098
+ viewport: pw.ViewportSize;
2099
+ userAgent: string;
2100
+ deviceScaleFactor: number;
2101
+ isMobile: boolean;
2102
+ hasTouch: boolean;
2103
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
2104
+ };
2105
+ "Nexus 5 landscape": {
2106
+ viewport: pw.ViewportSize;
2107
+ userAgent: string;
2108
+ deviceScaleFactor: number;
2109
+ isMobile: boolean;
2110
+ hasTouch: boolean;
2111
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
2112
+ };
2113
+ "Nexus 5X": {
2114
+ viewport: pw.ViewportSize;
2115
+ userAgent: string;
2116
+ deviceScaleFactor: number;
2117
+ isMobile: boolean;
2118
+ hasTouch: boolean;
2119
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
2120
+ };
2121
+ "Nexus 5X landscape": {
2122
+ viewport: pw.ViewportSize;
2123
+ userAgent: string;
2124
+ deviceScaleFactor: number;
2125
+ isMobile: boolean;
2126
+ hasTouch: boolean;
2127
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
2128
+ };
2129
+ "Nexus 6": {
2130
+ viewport: pw.ViewportSize;
2131
+ userAgent: string;
2132
+ deviceScaleFactor: number;
2133
+ isMobile: boolean;
2134
+ hasTouch: boolean;
2135
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
2136
+ };
2137
+ "Nexus 6 landscape": {
2138
+ viewport: pw.ViewportSize;
2139
+ userAgent: string;
2140
+ deviceScaleFactor: number;
2141
+ isMobile: boolean;
2142
+ hasTouch: boolean;
2143
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
2144
+ };
2145
+ "Nexus 6P": {
2146
+ viewport: pw.ViewportSize;
2147
+ userAgent: string;
2148
+ deviceScaleFactor: number;
2149
+ isMobile: boolean;
2150
+ hasTouch: boolean;
2151
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
2152
+ };
2153
+ "Nexus 6P landscape": {
2154
+ viewport: pw.ViewportSize;
2155
+ userAgent: string;
2156
+ deviceScaleFactor: number;
2157
+ isMobile: boolean;
2158
+ hasTouch: boolean;
2159
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
2160
+ };
2161
+ "Nexus 7": {
2162
+ viewport: pw.ViewportSize;
2163
+ userAgent: string;
2164
+ deviceScaleFactor: number;
2165
+ isMobile: boolean;
2166
+ hasTouch: boolean;
2167
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
2168
+ };
2169
+ "Nexus 7 landscape": {
2170
+ viewport: pw.ViewportSize;
2171
+ userAgent: string;
2172
+ deviceScaleFactor: number;
2173
+ isMobile: boolean;
2174
+ hasTouch: boolean;
2175
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
2176
+ };
2177
+ "Nokia Lumia 520": {
2178
+ viewport: pw.ViewportSize;
2179
+ userAgent: string;
2180
+ deviceScaleFactor: number;
2181
+ isMobile: boolean;
2182
+ hasTouch: boolean;
2183
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
2184
+ };
2185
+ "Nokia Lumia 520 landscape": {
2186
+ viewport: pw.ViewportSize;
2187
+ userAgent: string;
2188
+ deviceScaleFactor: number;
2189
+ isMobile: boolean;
2190
+ hasTouch: boolean;
2191
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
2192
+ };
2193
+ "Nokia N9": {
2194
+ viewport: pw.ViewportSize;
2195
+ userAgent: string;
2196
+ deviceScaleFactor: number;
2197
+ isMobile: boolean;
2198
+ hasTouch: boolean;
2199
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
2200
+ };
2201
+ "Nokia N9 landscape": {
2202
+ viewport: pw.ViewportSize;
2203
+ userAgent: string;
2204
+ deviceScaleFactor: number;
2205
+ isMobile: boolean;
2206
+ hasTouch: boolean;
2207
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
2208
+ };
2209
+ "Pixel 2": {
2210
+ viewport: pw.ViewportSize;
2211
+ userAgent: string;
2212
+ deviceScaleFactor: number;
2213
+ isMobile: boolean;
2214
+ hasTouch: boolean;
2215
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
2216
+ };
2217
+ "Pixel 2 landscape": {
2218
+ viewport: pw.ViewportSize;
2219
+ userAgent: string;
2220
+ deviceScaleFactor: number;
2221
+ isMobile: boolean;
2222
+ hasTouch: boolean;
2223
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
2224
+ };
2225
+ "Pixel 2 XL": {
2226
+ viewport: pw.ViewportSize;
2227
+ userAgent: string;
2228
+ deviceScaleFactor: number;
2229
+ isMobile: boolean;
2230
+ hasTouch: boolean;
2231
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
2232
+ };
2233
+ "Pixel 2 XL landscape": {
2234
+ viewport: pw.ViewportSize;
2235
+ userAgent: string;
2236
+ deviceScaleFactor: number;
2237
+ isMobile: boolean;
2238
+ hasTouch: boolean;
2239
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
2240
+ };
2241
+ "Pixel 3": {
2242
+ viewport: pw.ViewportSize;
2243
+ userAgent: string;
2244
+ deviceScaleFactor: number;
2245
+ isMobile: boolean;
2246
+ hasTouch: boolean;
2247
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
2248
+ };
2249
+ "Pixel 3 landscape": {
2250
+ viewport: pw.ViewportSize;
2251
+ userAgent: string;
2252
+ deviceScaleFactor: number;
2253
+ isMobile: boolean;
2254
+ hasTouch: boolean;
2255
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
2256
+ };
2257
+ "Pixel 4": {
2258
+ viewport: pw.ViewportSize;
2259
+ userAgent: string;
2260
+ deviceScaleFactor: number;
2261
+ isMobile: boolean;
2262
+ hasTouch: boolean;
2263
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
2264
+ };
2265
+ "Pixel 4 landscape": {
2266
+ viewport: pw.ViewportSize;
2267
+ userAgent: string;
2268
+ deviceScaleFactor: number;
2269
+ isMobile: boolean;
2270
+ hasTouch: boolean;
2271
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
2272
+ };
2273
+ "Pixel 4a (5G)": {
2274
+ viewport: pw.ViewportSize;
2275
+ userAgent: string;
2276
+ deviceScaleFactor: number;
2277
+ isMobile: boolean;
2278
+ hasTouch: boolean;
2279
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
2280
+ };
2281
+ "Pixel 4a (5G) landscape": {
2282
+ viewport: pw.ViewportSize;
2283
+ userAgent: string;
2284
+ deviceScaleFactor: number;
2285
+ isMobile: boolean;
2286
+ hasTouch: boolean;
2287
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
2288
+ };
2289
+ "Pixel 5": {
2290
+ viewport: pw.ViewportSize;
2291
+ userAgent: string;
2292
+ deviceScaleFactor: number;
2293
+ isMobile: boolean;
2294
+ hasTouch: boolean;
2295
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
2296
+ };
2297
+ "Pixel 5 landscape": {
2298
+ viewport: pw.ViewportSize;
2299
+ userAgent: string;
2300
+ deviceScaleFactor: number;
2301
+ isMobile: boolean;
2302
+ hasTouch: boolean;
2303
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
2304
+ };
2305
+ "Pixel 7": {
2306
+ viewport: pw.ViewportSize;
2307
+ userAgent: string;
2308
+ deviceScaleFactor: number;
2309
+ isMobile: boolean;
2310
+ hasTouch: boolean;
2311
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
2312
+ };
2313
+ "Pixel 7 landscape": {
2314
+ viewport: pw.ViewportSize;
2315
+ userAgent: string;
2316
+ deviceScaleFactor: number;
2317
+ isMobile: boolean;
2318
+ hasTouch: boolean;
2319
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
2320
+ };
2321
+ "Moto G4": {
2322
+ viewport: pw.ViewportSize;
2323
+ userAgent: string;
2324
+ deviceScaleFactor: number;
2325
+ isMobile: boolean;
2326
+ hasTouch: boolean;
2327
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
2328
+ };
2329
+ "Moto G4 landscape": {
2330
+ viewport: pw.ViewportSize;
2331
+ userAgent: string;
2332
+ deviceScaleFactor: number;
2333
+ isMobile: boolean;
2334
+ hasTouch: boolean;
2335
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
2336
+ };
2337
+ "Desktop Chrome HiDPI": {
2338
+ viewport: pw.ViewportSize;
2339
+ userAgent: string;
2340
+ deviceScaleFactor: number;
2341
+ isMobile: boolean;
2342
+ hasTouch: boolean;
2343
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
2344
+ };
2345
+ "Desktop Edge HiDPI": {
2346
+ viewport: pw.ViewportSize;
2347
+ userAgent: string;
2348
+ deviceScaleFactor: number;
2349
+ isMobile: boolean;
2350
+ hasTouch: boolean;
2351
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
2352
+ };
2353
+ "Desktop Firefox HiDPI": {
2354
+ viewport: pw.ViewportSize;
2355
+ userAgent: string;
2356
+ deviceScaleFactor: number;
2357
+ isMobile: boolean;
2358
+ hasTouch: boolean;
2359
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
2360
+ };
2361
+ "Desktop Safari": {
2362
+ viewport: pw.ViewportSize;
2363
+ userAgent: string;
2364
+ deviceScaleFactor: number;
2365
+ isMobile: boolean;
2366
+ hasTouch: boolean;
2367
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
2368
+ };
2369
+ "Desktop Chrome": {
2370
+ viewport: pw.ViewportSize;
2371
+ userAgent: string;
2372
+ deviceScaleFactor: number;
2373
+ isMobile: boolean;
2374
+ hasTouch: boolean;
2375
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
2376
+ };
2377
+ "Desktop Edge": {
2378
+ viewport: pw.ViewportSize;
2379
+ userAgent: string;
2380
+ deviceScaleFactor: number;
2381
+ isMobile: boolean;
2382
+ hasTouch: boolean;
2383
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
2384
+ };
2385
+ "Desktop Firefox": {
2386
+ viewport: pw.ViewportSize;
2387
+ userAgent: string;
2388
+ deviceScaleFactor: number;
2389
+ isMobile: boolean;
2390
+ hasTouch: boolean;
2391
+ defaultBrowserType: "chromium" | "firefox" | "webkit";
2392
+ };
2393
+ };
2394
+ errors: typeof pw.errors;
2395
+ };
2396
+ export default moduleExports;
2397
+ //# sourceMappingURL=index.d.ts.map