@overwolf/ow-electron 19.1.8 → 22.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.
package/electron.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- // Type definitions for ow-electron 19.1.8
1
+ // Type definitions for ow-electron 22.0.0
2
2
  // Project: http://electronjs.org/
3
3
  // Definitions by: The Electron Team <https://github.com/electron/electron>
4
4
  // Definitions: https://github.com/electron/electron-typescript-definitions
@@ -410,6 +410,11 @@ declare namespace Electron {
410
410
  *
411
411
  * You should call `event.preventDefault()` if you want to handle this event.
412
412
  *
413
+ * As with the `open-file` event, be sure to register a listener for the `open-url`
414
+ * event early in your application startup to detect if the the application being
415
+ * is being opened to handle a URL. If you register the listener in response to a
416
+ * `ready` event, you'll miss URLs that trigger the launch of your application.
417
+ *
413
418
  * @platform darwin
414
419
  */
415
420
  on(event: 'open-url', listener: (event: Event,
@@ -864,7 +869,7 @@ declare namespace Electron {
864
869
  * response:
865
870
  *
866
871
  * Using `basic` should be preferred if only basic information like `vendorId` or
867
- * `driverId` is needed.
872
+ * `deviceId` is needed.
868
873
  */
869
874
  getGPUInfo(infoType: 'basic' | 'complete'): Promise<unknown>;
870
875
  /**
@@ -889,7 +894,10 @@ declare namespace Electron {
889
894
  * **Note:** When distributing your packaged app, you have to also ship the
890
895
  * `locales` folder.
891
896
  *
892
- * **Note:** On Windows, you have to call it after the `ready` events gets emitted.
897
+ * **Note:** This API must be called after the `ready` event is emitted.
898
+ *
899
+ * **Note:** To see example return values of this API compared to other locale and
900
+ * language APIs, see `app.getPreferredSystemLanguages()`.
893
901
  */
894
902
  getLocale(): string;
895
903
  /**
@@ -952,7 +960,72 @@ declare namespace Electron {
952
960
  * called first, a default log directory will be created equivalent to calling
953
961
  * `app.setAppLogsPath()` without a `path` parameter.
954
962
  */
955
- getPath(name: 'home' | 'appData' | 'userData' | 'cache' | 'temp' | 'exe' | 'module' | 'desktop' | 'documents' | 'downloads' | 'music' | 'pictures' | 'videos' | 'recent' | 'logs' | 'crashDumps'): string;
963
+ getPath(name: 'home' | 'appData' | 'userData' | 'sessionData' | 'temp' | 'exe' | 'module' | 'desktop' | 'documents' | 'downloads' | 'music' | 'pictures' | 'videos' | 'recent' | 'logs' | 'crashDumps'): string;
964
+ /**
965
+ * The user's preferred system languages from most preferred to least preferred,
966
+ * including the country codes if applicable. A user can modify and add to this
967
+ * list on Windows or macOS through the Language and Region settings.
968
+ *
969
+ * The API uses `GlobalizationPreferences` (with a fallback to
970
+ * `GetSystemPreferredUILanguages`) on Windows, `\[NSLocale preferredLanguages\]`
971
+ * on macOS, and `g_get_language_names` on Linux.
972
+ *
973
+ * This API can be used for purposes such as deciding what language to present the
974
+ * application in.
975
+ *
976
+ * Here are some examples of return values of the various language and locale APIs
977
+ * with different configurations:
978
+ *
979
+ * * For Windows, where the application locale is German, the regional format is
980
+ * Finnish (Finland), and the preferred system languages from most to least
981
+ * preferred are French (Canada), English (US), Simplified Chinese (China),
982
+ * Finnish, and Spanish (Latin America):
983
+ * * `app.getLocale()` returns `'de'`
984
+ * * `app.getSystemLocale()` returns `'fi-FI'`
985
+ * * `app.getPreferredSystemLanguages()` returns `['fr-CA', 'en-US',
986
+ * 'zh-Hans-CN', 'fi', 'es-419']`
987
+ * * On macOS, where the application locale is German, the region is Finland, and
988
+ * the preferred system languages from most to least preferred are French (Canada),
989
+ * English (US), Simplified Chinese, and Spanish (Latin America):
990
+ * * `app.getLocale()` returns `'de'`
991
+ * * `app.getSystemLocale()` returns `'fr-FI'`
992
+ * * `app.getPreferredSystemLanguages()` returns `['fr-CA', 'en-US',
993
+ * 'zh-Hans-FI', 'es-419']`
994
+ *
995
+ * Both the available languages and regions and the possible return values differ
996
+ * between the two operating systems.
997
+ *
998
+ * As can be seen with the example above, on Windows, it is possible that a
999
+ * preferred system language has no country code, and that one of the preferred
1000
+ * system languages corresponds with the language used for the regional format. On
1001
+ * macOS, the region serves more as a default country code: the user doesn't need
1002
+ * to have Finnish as a preferred language to use Finland as the region,and the
1003
+ * country code `FI` is used as the country code for preferred system languages
1004
+ * that do not have associated countries in the language name.
1005
+ */
1006
+ getPreferredSystemLanguages(): Array<'app.getLocale()' | 'app.getSystemLocale()' | 'app.getPreferredSystemLanguages()' | 'app.getLocale()' | 'app.getSystemLocale()' | 'app.getPreferredSystemLanguages()'>;
1007
+ /**
1008
+ * The current system locale. On Windows and Linux, it is fetched using Chromium's
1009
+ * `i18n` library. On macOS, `[NSLocale currentLocale]` is used instead. To get the
1010
+ * user's current system language, which is not always the same as the locale, it
1011
+ * is better to use `app.getPreferredSystemLanguages()`.
1012
+ *
1013
+ * Different operating systems also use the regional data differently:
1014
+ *
1015
+ * * Windows 11 uses the regional format for numbers, dates, and times.
1016
+ * * macOS Monterey uses the region for formatting numbers, dates, times, and for
1017
+ * selecting the currency symbol to use.
1018
+ *
1019
+ * Therefore, this API can be used for purposes such as choosing a format for
1020
+ * rendering dates and times in a calendar app, especially when the developer wants
1021
+ * the format to be consistent with the OS.
1022
+ *
1023
+ * **Note:** This API must be called after the `ready` event is emitted.
1024
+ *
1025
+ * **Note:** To see example return values of this API compared to other locale and
1026
+ * language APIs, see `app.getPreferredSystemLanguages()`.
1027
+ */
1028
+ getSystemLocale(): string;
956
1029
  /**
957
1030
  * The version of the loaded application. If no version is found in the
958
1031
  * application's `package.json` file, the version of the current bundle or
@@ -1014,6 +1087,13 @@ declare namespace Electron {
1014
1087
  * whether or not the current OS version allows for native emoji pickers.
1015
1088
  */
1016
1089
  isEmojiPanelSupported(): boolean;
1090
+ /**
1091
+ * `true` if the application—including all of its windows—is hidden (e.g. with
1092
+ * `Command-H`), `false` otherwise.
1093
+ *
1094
+ * @platform darwin
1095
+ */
1096
+ isHidden(): boolean;
1017
1097
  /**
1018
1098
  * Whether the application is currently running from the systems Application
1019
1099
  * folder. Use in combination with `app.moveToApplicationsFolder()`
@@ -1055,7 +1135,7 @@ declare namespace Electron {
1055
1135
  *
1056
1136
  * By default, if an app of the same name as the one being moved exists in the
1057
1137
  * Applications directory and is _not_ running, the existing app will be trashed
1058
- * and the active app moved into its place. If it _is_ running, the pre-existing
1138
+ * and the active app moved into its place. If it _is_ running, the preexisting
1059
1139
  * running app will assume focus and the previously active app will quit itself.
1060
1140
  * This behavior can be changed by providing the optional conflict handler, where
1061
1141
  * the boolean returned by the handler determines whether or not the move conflict
@@ -1298,9 +1378,9 @@ declare namespace Electron {
1298
1378
  *
1299
1379
  * You can only override paths of a `name` defined in `app.getPath`.
1300
1380
  *
1301
- * By default, web pages' cookies and caches will be stored under the `userData`
1381
+ * By default, web pages' cookies and caches will be stored under the `sessionData`
1302
1382
  * directory. If you want to change this location, you have to override the
1303
- * `userData` path before the `ready` event of the `app` module is emitted.
1383
+ * `sessionData` path before the `ready` event of the `app` module is emitted.
1304
1384
  */
1305
1385
  setPath(name: string, path: string): void;
1306
1386
  /**
@@ -1956,6 +2036,11 @@ declare namespace Electron {
1956
2036
  /**
1957
2037
  * Emitted when scroll wheel event phase has begun.
1958
2038
  *
2039
+ * > **Note** This event is deprecated beginning in Electron 22.0.0. See Breaking
2040
+ * Changes for details of how to migrate to using the WebContents `input-event`
2041
+ * event.
2042
+ *
2043
+ * @deprecated
1959
2044
  * @platform darwin
1960
2045
  */
1961
2046
  on(event: 'scroll-touch-begin', listener: Function): this;
@@ -1965,6 +2050,11 @@ declare namespace Electron {
1965
2050
  /**
1966
2051
  * Emitted when scroll wheel event phase filed upon reaching the edge of element.
1967
2052
  *
2053
+ * > **Note** This event is deprecated beginning in Electron 22.0.0. See Breaking
2054
+ * Changes for details of how to migrate to using the WebContents `input-event`
2055
+ * event.
2056
+ *
2057
+ * @deprecated
1968
2058
  * @platform darwin
1969
2059
  */
1970
2060
  on(event: 'scroll-touch-edge', listener: Function): this;
@@ -1974,6 +2064,11 @@ declare namespace Electron {
1974
2064
  /**
1975
2065
  * Emitted when scroll wheel event phase has ended.
1976
2066
  *
2067
+ * > **Note** This event is deprecated beginning in Electron 22.0.0. See Breaking
2068
+ * Changes for details of how to migrate to using the WebContents `input-event`
2069
+ * event.
2070
+ *
2071
+ * @deprecated
1977
2072
  * @platform darwin
1978
2073
  */
1979
2074
  on(event: 'scroll-touch-end', listener: Function): this;
@@ -2880,6 +2975,8 @@ declare namespace Electron {
2880
2975
  setSize(width: number, height: number, animate?: boolean): void;
2881
2976
  /**
2882
2977
  * Makes the window not show in the taskbar.
2978
+ *
2979
+ * @platform darwin,win32
2883
2980
  */
2884
2981
  setSkipTaskbar(skip: boolean): void;
2885
2982
  /**
@@ -3681,6 +3778,7 @@ declare namespace Electron {
3681
3778
 
3682
3779
  // Docs: https://electronjs.org/docs/api/context-bridge
3683
3780
 
3781
+ exposeInIsolatedWorld(worldId: number, apiKey: string, api: any): void;
3684
3782
  exposeInMainWorld(apiKey: string, api: any): void;
3685
3783
  }
3686
3784
 
@@ -5058,6 +5156,19 @@ declare namespace Electron {
5058
5156
  * `middleButtonDown`, `rightButtonDown`, `capsLock`, `numLock`, `left`, `right`.
5059
5157
  */
5060
5158
  modifiers?: Array<'shift' | 'control' | 'ctrl' | 'alt' | 'meta' | 'command' | 'cmd' | 'isKeypad' | 'isAutoRepeat' | 'leftButtonDown' | 'middleButtonDown' | 'rightButtonDown' | 'capsLock' | 'numLock' | 'left' | 'right'>;
5159
+ /**
5160
+ * Can be `undefined`, `mouseDown`, `mouseUp`, `mouseMove`, `mouseEnter`,
5161
+ * `mouseLeave`, `contextMenu`, `mouseWheel`, `rawKeyDown`, `keyDown`, `keyUp`,
5162
+ * `char`, `gestureScrollBegin`, `gestureScrollEnd`, `gestureScrollUpdate`,
5163
+ * `gestureFlingStart`, `gestureFlingCancel`, `gesturePinchBegin`,
5164
+ * `gesturePinchEnd`, `gesturePinchUpdate`, `gestureTapDown`, `gestureShowPress`,
5165
+ * `gestureTap`, `gestureTapCancel`, `gestureShortPress`, `gestureLongPress`,
5166
+ * `gestureLongTap`, `gestureTwoFingerTap`, `gestureTapUnconfirmed`,
5167
+ * `gestureDoubleTap`, `touchStart`, `touchMove`, `touchEnd`, `touchCancel`,
5168
+ * `touchScrollStarted`, `pointerDown`, `pointerUp`, `pointerMove`,
5169
+ * `pointerRawUpdate`, `pointerCancel` or `pointerCausedUaAction`.
5170
+ */
5171
+ type: ('undefined' | 'mouseDown' | 'mouseUp' | 'mouseMove' | 'mouseEnter' | 'mouseLeave' | 'contextMenu' | 'mouseWheel' | 'rawKeyDown' | 'keyDown' | 'keyUp' | 'char' | 'gestureScrollBegin' | 'gestureScrollEnd' | 'gestureScrollUpdate' | 'gestureFlingStart' | 'gestureFlingCancel' | 'gesturePinchBegin' | 'gesturePinchEnd' | 'gesturePinchUpdate' | 'gestureTapDown' | 'gestureShowPress' | 'gestureTap' | 'gestureTapCancel' | 'gestureShortPress' | 'gestureLongPress' | 'gestureLongTap' | 'gestureTwoFingerTap' | 'gestureTapUnconfirmed' | 'gestureDoubleTap' | 'touchStart' | 'touchMove' | 'touchEnd' | 'touchCancel' | 'touchScrollStarted' | 'pointerDown' | 'pointerUp' | 'pointerMove' | 'pointerRawUpdate' | 'pointerCancel' | 'pointerCausedUaAction');
5061
5172
  }
5062
5173
 
5063
5174
  interface IOCounters {
@@ -5215,14 +5326,6 @@ declare namespace Electron {
5215
5326
  * included. Sending Functions, Promises, Symbols, WeakMaps, or WeakSets will throw
5216
5327
  * an exception.
5217
5328
  *
5218
- * > **NOTE:** Sending non-standard JavaScript types such as DOM objects or special
5219
- * Electron objects will throw an exception.
5220
- *
5221
- * Since the main process does not have support for DOM objects such as
5222
- * `ImageBitmap`, `File`, `DOMMatrix` and so on, such objects cannot be sent over
5223
- * Electron's IPC to the main process, as the main process would have no way to
5224
- * decode them. Attempting to send such objects over IPC will result in an error.
5225
- *
5226
5329
  * The main process should listen for `channel` with `ipcMain.handle()`.
5227
5330
  *
5228
5331
  * For example:
@@ -5231,6 +5334,18 @@ declare namespace Electron {
5231
5334
  * `ipcRenderer.postMessage`.
5232
5335
  *
5233
5336
  * If you do not need a response to the message, consider using `ipcRenderer.send`.
5337
+ *
5338
+ * > **Note** Sending non-standard JavaScript types such as DOM objects or special
5339
+ * Electron objects will throw an exception.
5340
+ *
5341
+ * Since the main process does not have support for DOM objects such as
5342
+ * `ImageBitmap`, `File`, `DOMMatrix` and so on, such objects cannot be sent over
5343
+ * Electron's IPC to the main process, as the main process would have no way to
5344
+ * decode them. Attempting to send such objects over IPC will result in an error.
5345
+ *
5346
+ * > **Note** If the handler in the main process throws an error, the promise
5347
+ * returned by `invoke` will reject. However, the `Error` object in the renderer
5348
+ * process will not be the same as the one thrown in the main process.
5234
5349
  */
5235
5350
  invoke(channel: string, ...args: any[]): Promise<any>;
5236
5351
  /**
@@ -5456,9 +5571,9 @@ declare namespace Electron {
5456
5571
  */
5457
5572
  keyCode: string;
5458
5573
  /**
5459
- * The type of the event, can be `keyDown`, `keyUp` or `char`.
5574
+ * The type of the event, can be `rawKeyDown`, `keyDown`, `keyUp` or `char`.
5460
5575
  */
5461
- type: ('keyDown' | 'keyUp' | 'char');
5576
+ type: ('rawKeyDown' | 'keyDown' | 'keyUp' | 'char');
5462
5577
  }
5463
5578
 
5464
5579
  interface MemoryInfo {
@@ -6118,13 +6233,6 @@ declare namespace Electron {
6118
6233
  readonly currentlyLogging: boolean;
6119
6234
  }
6120
6235
 
6121
- interface NewWindowWebContentsEvent extends Event {
6122
-
6123
- // Docs: https://electronjs.org/docs/api/structures/new-window-web-contents-event
6124
-
6125
- newGuest?: BrowserWindow;
6126
- }
6127
-
6128
6236
  class Notification extends NodeEventEmitter {
6129
6237
 
6130
6238
  // Docs: https://electronjs.org/docs/api/notification
@@ -6352,6 +6460,24 @@ declare namespace Electron {
6352
6460
  userText?: string;
6353
6461
  }
6354
6462
 
6463
+ interface ParentPort extends NodeJS.EventEmitter {
6464
+
6465
+ // Docs: https://electronjs.org/docs/api/parent-port
6466
+
6467
+ /**
6468
+ * Emitted when the process receives a message. Messages received on this port will
6469
+ * be queued up until a handler is registered for this event.
6470
+ */
6471
+ on(event: 'message', listener: (messageEvent: MessageEvent) => void): this;
6472
+ once(event: 'message', listener: (messageEvent: MessageEvent) => void): this;
6473
+ addListener(event: 'message', listener: (messageEvent: MessageEvent) => void): this;
6474
+ removeListener(event: 'message', listener: (messageEvent: MessageEvent) => void): this;
6475
+ /**
6476
+ * Sends a message from the process to its parent.
6477
+ */
6478
+ postMessage(message: any): void;
6479
+ }
6480
+
6355
6481
  interface PaymentDiscount {
6356
6482
 
6357
6483
  // Docs: https://electronjs.org/docs/api/structures/payment-discount
@@ -7027,6 +7153,137 @@ declare namespace Electron {
7027
7153
  data: (string) | (Buffer);
7028
7154
  }
7029
7155
 
7156
+ interface PushNotifications extends NodeJS.EventEmitter {
7157
+
7158
+ // Docs: https://electronjs.org/docs/api/push-notifications
7159
+
7160
+ /**
7161
+ * Emitted when the app receives a remote notification while running. See:
7162
+ *
7163
+ *
7164
+ *
7165
+ *
7166
+ *
7167
+ *
7168
+ *
7169
+ *
7170
+ *
7171
+ *
7172
+ *
7173
+ *
7174
+ *
7175
+ *
7176
+ *
7177
+ *
7178
+ *
7179
+ *
7180
+ *
7181
+ *
7182
+ *
7183
+ *
7184
+ *
7185
+ *
7186
+ * com/documentation/appkit/nsapplicationdelegate/1428430-application?language=objc
7187
+ *
7188
+ * @platform darwin
7189
+ */
7190
+ on(event: 'received-apns-notification', listener: (userInfo: Record<string, any>) => void): this;
7191
+ once(event: 'received-apns-notification', listener: (userInfo: Record<string, any>) => void): this;
7192
+ addListener(event: 'received-apns-notification', listener: (userInfo: Record<string, any>) => void): this;
7193
+ removeListener(event: 'received-apns-notification', listener: (userInfo: Record<string, any>) => void): this;
7194
+ /**
7195
+ * Registers the app with Apple Push Notification service (APNS) to receive Badge,
7196
+ * Sound, and Alert notifications. If registration is successful, the promise will
7197
+ * be resolved with the APNS device token. Otherwise, the promise will be rejected
7198
+ * with an error message. See:
7199
+ *
7200
+ *
7201
+ *
7202
+ *
7203
+ *
7204
+ *
7205
+ *
7206
+ *
7207
+ *
7208
+ *
7209
+ *
7210
+ *
7211
+ *
7212
+ *
7213
+ *
7214
+ *
7215
+ *
7216
+ *
7217
+ *
7218
+ *
7219
+ *
7220
+ *
7221
+ *
7222
+ *
7223
+ *
7224
+ *
7225
+ *
7226
+ *
7227
+ *
7228
+ *
7229
+ *
7230
+ *
7231
+ *
7232
+ *
7233
+ *
7234
+ *
7235
+ *
7236
+ * tion/appkit/nsapplication/1428476-registerforremotenotificationtyp?language=objc
7237
+ *
7238
+ * @platform darwin
7239
+ */
7240
+ registerForAPNSNotifications(): Promise<string>;
7241
+ /**
7242
+ * Unregisters the app from notifications received from APNS. See:
7243
+ *
7244
+ *
7245
+ *
7246
+ *
7247
+ *
7248
+ *
7249
+ *
7250
+ *
7251
+ *
7252
+ *
7253
+ *
7254
+ *
7255
+ *
7256
+ *
7257
+ *
7258
+ *
7259
+ *
7260
+ *
7261
+ *
7262
+ *
7263
+ *
7264
+ *
7265
+ *
7266
+ *
7267
+ *
7268
+ *
7269
+ *
7270
+ *
7271
+ *
7272
+ *
7273
+ *
7274
+ *
7275
+ *
7276
+ *
7277
+ *
7278
+ *
7279
+ *
7280
+ * tion/appkit/nsapplication/1428747-unregisterforremotenotifications?language=objc
7281
+ *
7282
+ * @platform darwin
7283
+ */
7284
+ unregisterForAPNSNotifications(): void;
7285
+ }
7286
+
7030
7287
  interface Rectangle {
7031
7288
 
7032
7289
  // Docs: https://electronjs.org/docs/api/structures/rectangle
@@ -7410,11 +7667,11 @@ declare namespace Electron {
7410
7667
  removeListener(event: 'extension-unloaded', listener: (event: Event,
7411
7668
  extension: Extension) => void): this;
7412
7669
  /**
7413
- * Emitted when a new HID device becomes available. For example, when a new USB
7414
- * device is plugged in.
7415
- *
7416
- * This event will only be emitted after `navigator.hid.requestDevice` has been
7417
- * called and `select-hid-device` has fired.
7670
+ * Emitted after `navigator.hid.requestDevice` has been called and
7671
+ * `select-hid-device` has fired if a new device becomes available before the
7672
+ * callback from `select-hid-device` is called. This event is intended for use
7673
+ * when using a UI to ask users to pick a device so that the UI can be updated with
7674
+ * the newly added device.
7418
7675
  */
7419
7676
  on(event: 'hid-device-added', listener: (event: Event,
7420
7677
  details: HidDeviceAddedDetails) => void): this;
@@ -7425,11 +7682,11 @@ declare namespace Electron {
7425
7682
  removeListener(event: 'hid-device-added', listener: (event: Event,
7426
7683
  details: HidDeviceAddedDetails) => void): this;
7427
7684
  /**
7428
- * Emitted when a HID device has been removed. For example, this event will fire
7429
- * when a USB device is unplugged.
7430
- *
7431
- * This event will only be emitted after `navigator.hid.requestDevice` has been
7432
- * called and `select-hid-device` has fired.
7685
+ * Emitted after `navigator.hid.requestDevice` has been called and
7686
+ * `select-hid-device` has fired if a device has been removed before the callback
7687
+ * from `select-hid-device` is called. This event is intended for use when using a
7688
+ * UI to ask users to pick a device so that the UI can be updated to remove the
7689
+ * specified device.
7433
7690
  */
7434
7691
  on(event: 'hid-device-removed', listener: (event: Event,
7435
7692
  details: HidDeviceRemovedDetails) => void): this;
@@ -7439,6 +7696,19 @@ declare namespace Electron {
7439
7696
  details: HidDeviceRemovedDetails) => void): this;
7440
7697
  removeListener(event: 'hid-device-removed', listener: (event: Event,
7441
7698
  details: HidDeviceRemovedDetails) => void): this;
7699
+ /**
7700
+ * Emitted after `HIDDevice.forget()` has been called. This event can be used to
7701
+ * help maintain persistent storage of permissions when
7702
+ * `setDevicePermissionHandler` is used.
7703
+ */
7704
+ on(event: 'hid-device-revoked', listener: (event: Event,
7705
+ details: HidDeviceRevokedDetails) => void): this;
7706
+ once(event: 'hid-device-revoked', listener: (event: Event,
7707
+ details: HidDeviceRevokedDetails) => void): this;
7708
+ addListener(event: 'hid-device-revoked', listener: (event: Event,
7709
+ details: HidDeviceRevokedDetails) => void): this;
7710
+ removeListener(event: 'hid-device-revoked', listener: (event: Event,
7711
+ details: HidDeviceRevokedDetails) => void): this;
7442
7712
  /**
7443
7713
  * Emitted when a render process requests preconnection to a URL, generally due to
7444
7714
  * a resource hint.
@@ -7528,8 +7798,10 @@ declare namespace Electron {
7528
7798
  callback: (portId: string) => void) => void): this;
7529
7799
  /**
7530
7800
  * Emitted after `navigator.serial.requestPort` has been called and
7531
- * `select-serial-port` has fired if a new serial port becomes available. For
7532
- * example, this event will fire when a new USB device is plugged in.
7801
+ * `select-serial-port` has fired if a new serial port becomes available before the
7802
+ * callback from `select-serial-port` is called. This event is intended for use
7803
+ * when using a UI to ask users to pick a port so that the UI can be updated with
7804
+ * the newly added port.
7533
7805
  */
7534
7806
  on(event: 'serial-port-added', listener: (event: Event,
7535
7807
  port: SerialPort,
@@ -7545,8 +7817,10 @@ declare namespace Electron {
7545
7817
  webContents: WebContents) => void): this;
7546
7818
  /**
7547
7819
  * Emitted after `navigator.serial.requestPort` has been called and
7548
- * `select-serial-port` has fired if a serial port has been removed. For example,
7549
- * this event will fire when a USB device is unplugged.
7820
+ * `select-serial-port` has fired if a serial port has been removed before the
7821
+ * callback from `select-serial-port` is called. This event is intended for use
7822
+ * when using a UI to ask users to pick a port so that the UI can be updated to
7823
+ * remove the specified port.
7550
7824
  */
7551
7825
  on(event: 'serial-port-removed', listener: (event: Event,
7552
7826
  port: SerialPort,
@@ -7560,6 +7834,19 @@ declare namespace Electron {
7560
7834
  removeListener(event: 'serial-port-removed', listener: (event: Event,
7561
7835
  port: SerialPort,
7562
7836
  webContents: WebContents) => void): this;
7837
+ /**
7838
+ * Emitted after `SerialPort.forget()` has been called. This event can be used to
7839
+ * help maintain persistent storage of permissions when
7840
+ * `setDevicePermissionHandler` is used.
7841
+ */
7842
+ on(event: 'serial-port-revoked', listener: (event: Event,
7843
+ details: SerialPortRevokedDetails) => void): this;
7844
+ once(event: 'serial-port-revoked', listener: (event: Event,
7845
+ details: SerialPortRevokedDetails) => void): this;
7846
+ addListener(event: 'serial-port-revoked', listener: (event: Event,
7847
+ details: SerialPortRevokedDetails) => void): this;
7848
+ removeListener(event: 'serial-port-revoked', listener: (event: Event,
7849
+ details: SerialPortRevokedDetails) => void): this;
7563
7850
  /**
7564
7851
  * Emitted when a hunspell dictionary file starts downloading
7565
7852
  */
@@ -7783,7 +8070,8 @@ declare namespace Electron {
7783
8070
  * the current OS locale. This setting is persisted across restarts.
7784
8071
  *
7785
8072
  * **Note:** On macOS the OS spellchecker is used and has its own list of
7786
- * languages. This API is a no-op on macOS.
8073
+ * languages. On macOS, this API will return whichever languages have been
8074
+ * configured by the OS.
7787
8075
  */
7788
8076
  getSpellCheckerLanguages(): string[];
7789
8077
  /**
@@ -7858,6 +8146,17 @@ declare namespace Electron {
7858
8146
  * Resolves with the proxy information for `url`.
7859
8147
  */
7860
8148
  resolveProxy(url: string): Promise<string>;
8149
+ /**
8150
+ * Sets a handler to respond to Bluetooth pairing requests. This handler allows
8151
+ * developers to handle devices that require additional validation before pairing.
8152
+ * When a handler is not defined, any pairing on Linux or Windows that requires
8153
+ * additional validation will be automatically cancelled. macOS does not require a
8154
+ * handler because macOS handles the pairing automatically. To clear the handler,
8155
+ * call `setBluetoothPairingHandler(null)`.
8156
+ *
8157
+ * @platform win32,linux
8158
+ */
8159
+ setBluetoothPairingHandler(handler: ((details: BluetoothPairingHandlerHandlerDetails, callback: (response: Response) => void) => void) | (null)): void;
7861
8160
  /**
7862
8161
  * Sets the certificate verify proc for `session`, the `proc` will be called with
7863
8162
  * `proc(request, callback)` whenever a server certificate verification is
@@ -7889,12 +8188,23 @@ declare namespace Electron {
7889
8188
  * `navigator.hid.requestDevice`). If this handler is not defined, the default
7890
8189
  * device permissions as granted through device selection (eg via
7891
8190
  * `navigator.hid.requestDevice`) will be used. Additionally, the default behavior
7892
- * of Electron is to store granted device permision through the lifetime of the
7893
- * corresponding WebContents. If longer term storage is needed, a developer can
7894
- * store granted device permissions (eg when handling the `select-hid-device`
7895
- * event) and then read from that storage with `setDevicePermissionHandler`.
8191
+ * of Electron is to store granted device permision in memory. If longer term
8192
+ * storage is needed, a developer can store granted device permissions (eg when
8193
+ * handling the `select-hid-device` event) and then read from that storage with
8194
+ * `setDevicePermissionHandler`.
7896
8195
  */
7897
8196
  setDevicePermissionHandler(handler: ((details: DevicePermissionHandlerHandlerDetails) => boolean) | (null)): void;
8197
+ /**
8198
+ * This handler will be called when web content requests access to display media
8199
+ * via the `navigator.mediaDevices.getDisplayMedia` API. Use the desktopCapturer
8200
+ * API to choose which stream(s) to grant access to.
8201
+ *
8202
+ * Passing a WebFrameMain object as a video or audio stream will capture the video
8203
+ * or audio stream from that frame.
8204
+ *
8205
+ * Passing `null` instead of a function resets the handler to its default state.
8206
+ */
8207
+ setDisplayMediaRequestHandler(handler: ((request: DisplayMediaRequestHandlerHandlerRequest, callback: (streams: Streams) => void) => void) | (null)): void;
7898
8208
  /**
7899
8209
  * Sets download saving directory. By default, the download directory will be the
7900
8210
  * `Downloads` under the respective app folder.
@@ -9182,6 +9492,9 @@ declare namespace Electron {
9182
9492
  removeListener(event: 'balloon-show', listener: Function): this;
9183
9493
  /**
9184
9494
  * Emitted when the tray icon is clicked.
9495
+ *
9496
+ * Note that on Linux this event is emitted when the tray icon receives an
9497
+ * activation, which might not necessarily be left mouse click.
9185
9498
  */
9186
9499
  on(event: 'click', listener: (event: KeyboardEvent,
9187
9500
  /**
@@ -9657,6 +9970,89 @@ declare namespace Electron {
9657
9970
  url: string;
9658
9971
  }
9659
9972
 
9973
+ class UtilityProcess extends NodeEventEmitter {
9974
+
9975
+ // Docs: https://electronjs.org/docs/api/utility-process
9976
+
9977
+ static fork(modulePath: string, args?: string[], options?: ForkOptions): UtilityProcess;
9978
+ /**
9979
+ * Emitted after the child process ends.
9980
+ */
9981
+ on(event: 'exit', listener: (
9982
+ /**
9983
+ * Contains the exit code for the process obtained from waitpid on posix, or
9984
+ * GetExitCodeProcess on windows.
9985
+ */
9986
+ code: number) => void): this;
9987
+ once(event: 'exit', listener: (
9988
+ /**
9989
+ * Contains the exit code for the process obtained from waitpid on posix, or
9990
+ * GetExitCodeProcess on windows.
9991
+ */
9992
+ code: number) => void): this;
9993
+ addListener(event: 'exit', listener: (
9994
+ /**
9995
+ * Contains the exit code for the process obtained from waitpid on posix, or
9996
+ * GetExitCodeProcess on windows.
9997
+ */
9998
+ code: number) => void): this;
9999
+ removeListener(event: 'exit', listener: (
10000
+ /**
10001
+ * Contains the exit code for the process obtained from waitpid on posix, or
10002
+ * GetExitCodeProcess on windows.
10003
+ */
10004
+ code: number) => void): this;
10005
+ /**
10006
+ * Emitted when the child process sends a message using
10007
+ * `process.parentPort.postMessage()`.
10008
+ */
10009
+ on(event: 'message', listener: (message: any) => void): this;
10010
+ once(event: 'message', listener: (message: any) => void): this;
10011
+ addListener(event: 'message', listener: (message: any) => void): this;
10012
+ removeListener(event: 'message', listener: (message: any) => void): this;
10013
+ /**
10014
+ * Emitted once the child process has spawned successfully.
10015
+ */
10016
+ on(event: 'spawn', listener: Function): this;
10017
+ once(event: 'spawn', listener: Function): this;
10018
+ addListener(event: 'spawn', listener: Function): this;
10019
+ removeListener(event: 'spawn', listener: Function): this;
10020
+ /**
10021
+ * Terminates the process gracefully. On POSIX, it uses SIGTERM but will ensure the
10022
+ * process is reaped on exit. This function returns true if the kill is successful,
10023
+ * and false otherwise.
10024
+ */
10025
+ kill(): boolean;
10026
+ /**
10027
+ * Send a message to the child process, optionally transferring ownership of zero
10028
+ * or more [`MessagePortMain`][] objects.
10029
+ *
10030
+ * For example:
10031
+ */
10032
+ postMessage(message: any, transfer?: MessagePortMain[]): void;
10033
+ /**
10034
+ * A `Integer | undefined` representing the process identifier (PID) of the child
10035
+ * process. If the child process fails to spawn due to errors, then the value is
10036
+ * `undefined`. When the child process exits, then the value is `undefined` after
10037
+ * the `exit` event is emitted.
10038
+ */
10039
+ pid: (number) | (undefined);
10040
+ /**
10041
+ * A `NodeJS.ReadableStream | null` that represents the child process's stderr. If
10042
+ * the child was spawned with options.stdio[2] set to anything other than 'pipe',
10043
+ * then this will be `null`. When the child process exits, then the value is `null`
10044
+ * after the `exit` event is emitted.
10045
+ */
10046
+ stderr: (NodeJS.ReadableStream) | (null);
10047
+ /**
10048
+ * A `NodeJS.ReadableStream | null` that represents the child process's stdout. If
10049
+ * the child was spawned with options.stdio[1] set to anything other than 'pipe',
10050
+ * then this will be `null`. When the child process exits, then the value is `null`
10051
+ * after the `exit` event is emitted.
10052
+ */
10053
+ stdout: (NodeJS.ReadableStream) | (null);
10054
+ }
10055
+
9660
10056
  class WebContents extends NodeEventEmitter {
9661
10057
 
9662
10058
  // Docs: https://electronjs.org/docs/api/web-contents
@@ -9669,6 +10065,11 @@ declare namespace Electron {
9669
10065
  * a WebContents instance based on its assigned TargetID.
9670
10066
  */
9671
10067
  static fromDevToolsTargetId(targetId: string): WebContents;
10068
+ /**
10069
+ * | undefined - A WebContents instance with the given WebFrameMain, or `undefined`
10070
+ * if there is no WebContents associated with the given WebFrameMain.
10071
+ */
10072
+ static fromFrame(frame: WebFrameMain): WebContents;
9672
10073
  /**
9673
10074
  * | undefined - A WebContents instance with the given ID, or `undefined` if there
9674
10075
  * is no WebContents associated with the given ID.
@@ -9822,6 +10223,32 @@ declare namespace Electron {
9822
10223
  */
9823
10224
  line: number,
9824
10225
  sourceId: string) => void): this;
10226
+ /**
10227
+ * Emitted when the page calls `window.moveTo`, `window.resizeTo` or related APIs.
10228
+ *
10229
+ * By default, this will move the window. To prevent that behavior, call
10230
+ * `event.preventDefault()`.
10231
+ */
10232
+ on(event: 'content-bounds-updated', listener: (event: Event,
10233
+ /**
10234
+ * requested new content bounds
10235
+ */
10236
+ bounds: Rectangle) => void): this;
10237
+ once(event: 'content-bounds-updated', listener: (event: Event,
10238
+ /**
10239
+ * requested new content bounds
10240
+ */
10241
+ bounds: Rectangle) => void): this;
10242
+ addListener(event: 'content-bounds-updated', listener: (event: Event,
10243
+ /**
10244
+ * requested new content bounds
10245
+ */
10246
+ bounds: Rectangle) => void): this;
10247
+ removeListener(event: 'content-bounds-updated', listener: (event: Event,
10248
+ /**
10249
+ * requested new content bounds
10250
+ */
10251
+ bounds: Rectangle) => void): this;
9825
10252
  /**
9826
10253
  * Emitted when there is a new context menu that needs to be handled.
9827
10254
  */
@@ -10323,10 +10750,10 @@ declare namespace Electron {
10323
10750
  /**
10324
10751
  * Emitted when the document in the top-level frame is loaded.
10325
10752
  */
10326
- on(event: 'dom-ready', listener: (event: Event) => void): this;
10327
- once(event: 'dom-ready', listener: (event: Event) => void): this;
10328
- addListener(event: 'dom-ready', listener: (event: Event) => void): this;
10329
- removeListener(event: 'dom-ready', listener: (event: Event) => void): this;
10753
+ on(event: 'dom-ready', listener: Function): this;
10754
+ once(event: 'dom-ready', listener: Function): this;
10755
+ addListener(event: 'dom-ready', listener: Function): this;
10756
+ removeListener(event: 'dom-ready', listener: Function): this;
10330
10757
  /**
10331
10758
  * Emitted when the window enters a full-screen state triggered by HTML API.
10332
10759
  */
@@ -10373,9 +10800,24 @@ declare namespace Electron {
10373
10800
  details: FrameCreatedDetails) => void): this;
10374
10801
  removeListener(event: 'frame-created', listener: (event: Event,
10375
10802
  details: FrameCreatedDetails) => void): this;
10803
+ /**
10804
+ * Emitted when an input event is sent to the WebContents. See InputEvent for
10805
+ * details.
10806
+ */
10807
+ on(event: 'input-event', listener: (event: Event,
10808
+ inputEvent: InputEvent) => void): this;
10809
+ once(event: 'input-event', listener: (event: Event,
10810
+ inputEvent: InputEvent) => void): this;
10811
+ addListener(event: 'input-event', listener: (event: Event,
10812
+ inputEvent: InputEvent) => void): this;
10813
+ removeListener(event: 'input-event', listener: (event: Event,
10814
+ inputEvent: InputEvent) => void): this;
10376
10815
  /**
10377
10816
  * Emitted when the renderer process sends an asynchronous message via
10378
10817
  * `ipcRenderer.send()`.
10818
+ *
10819
+ * See also `webContents.ipc`, which provides an `IpcMain`-like interface for
10820
+ * responding to IPC messages specifically from this WebContents.
10379
10821
  */
10380
10822
  on(event: 'ipc-message', listener: (event: Event,
10381
10823
  channel: string,
@@ -10392,6 +10834,9 @@ declare namespace Electron {
10392
10834
  /**
10393
10835
  * Emitted when the renderer process sends a synchronous message via
10394
10836
  * `ipcRenderer.sendSync()`.
10837
+ *
10838
+ * See also `webContents.ipc`, which provides an `IpcMain`-like interface for
10839
+ * responding to IPC messages specifically from this WebContents.
10395
10840
  */
10396
10841
  on(event: 'ipc-message-sync', listener: (event: Event,
10397
10842
  channel: string,
@@ -10447,138 +10892,6 @@ declare namespace Electron {
10447
10892
  once(event: 'media-started-playing', listener: Function): this;
10448
10893
  addListener(event: 'media-started-playing', listener: Function): this;
10449
10894
  removeListener(event: 'media-started-playing', listener: Function): this;
10450
- /**
10451
- * Deprecated in favor of `webContents.setWindowOpenHandler`.
10452
- *
10453
- * Emitted when the page requests to open a new window for a `url`. It could be
10454
- * requested by `window.open` or an external link like `<a target='_blank'>`.
10455
- *
10456
- * By default a new `BrowserWindow` will be created for the `url`.
10457
- *
10458
- * Calling `event.preventDefault()` will prevent Electron from automatically
10459
- * creating a new `BrowserWindow`. If you call `event.preventDefault()` and
10460
- * manually create a new `BrowserWindow` then you must set `event.newGuest` to
10461
- * reference the new `BrowserWindow` instance, failing to do so may result in
10462
- * unexpected behavior. For example:
10463
- *
10464
- * @deprecated
10465
- */
10466
- on(event: 'new-window', listener: (event: NewWindowWebContentsEvent,
10467
- url: string,
10468
- frameName: string,
10469
- /**
10470
- * Can be `default`, `foreground-tab`, `background-tab`, `new-window`,
10471
- * `save-to-disk` and `other`.
10472
- */
10473
- disposition: ('default' | 'foreground-tab' | 'background-tab' | 'new-window' | 'save-to-disk' | 'other'),
10474
- /**
10475
- * The options which will be used for creating the new `BrowserWindow`.
10476
- */
10477
- options: BrowserWindowConstructorOptions,
10478
- /**
10479
- * The non-standard features (features not handled by Chromium or Electron) given
10480
- * to `window.open()`. Deprecated, and will now always be the empty array `[]`.
10481
- */
10482
- additionalFeatures: string[],
10483
- /**
10484
- * The referrer that will be passed to the new window. May or may not result in the
10485
- * `Referer` header being sent, depending on the referrer policy.
10486
- */
10487
- referrer: Referrer,
10488
- /**
10489
- * The post data that will be sent to the new window, along with the appropriate
10490
- * headers that will be set. If no post data is to be sent, the value will be
10491
- * `null`. Only defined when the window is being created by a form that set
10492
- * `target=_blank`.
10493
- */
10494
- postBody: PostBody) => void): this;
10495
- once(event: 'new-window', listener: (event: NewWindowWebContentsEvent,
10496
- url: string,
10497
- frameName: string,
10498
- /**
10499
- * Can be `default`, `foreground-tab`, `background-tab`, `new-window`,
10500
- * `save-to-disk` and `other`.
10501
- */
10502
- disposition: ('default' | 'foreground-tab' | 'background-tab' | 'new-window' | 'save-to-disk' | 'other'),
10503
- /**
10504
- * The options which will be used for creating the new `BrowserWindow`.
10505
- */
10506
- options: BrowserWindowConstructorOptions,
10507
- /**
10508
- * The non-standard features (features not handled by Chromium or Electron) given
10509
- * to `window.open()`. Deprecated, and will now always be the empty array `[]`.
10510
- */
10511
- additionalFeatures: string[],
10512
- /**
10513
- * The referrer that will be passed to the new window. May or may not result in the
10514
- * `Referer` header being sent, depending on the referrer policy.
10515
- */
10516
- referrer: Referrer,
10517
- /**
10518
- * The post data that will be sent to the new window, along with the appropriate
10519
- * headers that will be set. If no post data is to be sent, the value will be
10520
- * `null`. Only defined when the window is being created by a form that set
10521
- * `target=_blank`.
10522
- */
10523
- postBody: PostBody) => void): this;
10524
- addListener(event: 'new-window', listener: (event: NewWindowWebContentsEvent,
10525
- url: string,
10526
- frameName: string,
10527
- /**
10528
- * Can be `default`, `foreground-tab`, `background-tab`, `new-window`,
10529
- * `save-to-disk` and `other`.
10530
- */
10531
- disposition: ('default' | 'foreground-tab' | 'background-tab' | 'new-window' | 'save-to-disk' | 'other'),
10532
- /**
10533
- * The options which will be used for creating the new `BrowserWindow`.
10534
- */
10535
- options: BrowserWindowConstructorOptions,
10536
- /**
10537
- * The non-standard features (features not handled by Chromium or Electron) given
10538
- * to `window.open()`. Deprecated, and will now always be the empty array `[]`.
10539
- */
10540
- additionalFeatures: string[],
10541
- /**
10542
- * The referrer that will be passed to the new window. May or may not result in the
10543
- * `Referer` header being sent, depending on the referrer policy.
10544
- */
10545
- referrer: Referrer,
10546
- /**
10547
- * The post data that will be sent to the new window, along with the appropriate
10548
- * headers that will be set. If no post data is to be sent, the value will be
10549
- * `null`. Only defined when the window is being created by a form that set
10550
- * `target=_blank`.
10551
- */
10552
- postBody: PostBody) => void): this;
10553
- removeListener(event: 'new-window', listener: (event: NewWindowWebContentsEvent,
10554
- url: string,
10555
- frameName: string,
10556
- /**
10557
- * Can be `default`, `foreground-tab`, `background-tab`, `new-window`,
10558
- * `save-to-disk` and `other`.
10559
- */
10560
- disposition: ('default' | 'foreground-tab' | 'background-tab' | 'new-window' | 'save-to-disk' | 'other'),
10561
- /**
10562
- * The options which will be used for creating the new `BrowserWindow`.
10563
- */
10564
- options: BrowserWindowConstructorOptions,
10565
- /**
10566
- * The non-standard features (features not handled by Chromium or Electron) given
10567
- * to `window.open()`. Deprecated, and will now always be the empty array `[]`.
10568
- */
10569
- additionalFeatures: string[],
10570
- /**
10571
- * The referrer that will be passed to the new window. May or may not result in the
10572
- * `Referer` header being sent, depending on the referrer policy.
10573
- */
10574
- referrer: Referrer,
10575
- /**
10576
- * The post data that will be sent to the new window, along with the appropriate
10577
- * headers that will be set. If no post data is to be sent, the value will be
10578
- * `null`. Only defined when the window is being created by a form that set
10579
- * `target=_blank`.
10580
- */
10581
- postBody: PostBody) => void): this;
10582
10895
  /**
10583
10896
  * Emitted when page receives favicon urls.
10584
10897
  */
@@ -10985,6 +11298,14 @@ declare namespace Electron {
10985
11298
  * Clears the navigation history.
10986
11299
  */
10987
11300
  clearHistory(): void;
11301
+ /**
11302
+ * Closes the page, as if the web content had called `window.close()`.
11303
+ *
11304
+ * If the page is successfully closed (i.e. the unload is not prevented by the
11305
+ * page, or `waitForBeforeUnload` is false or unspecified), the WebContents will be
11306
+ * destroyed and no longer usable. The `destroyed` event will be emitted.
11307
+ */
11308
+ close(opts?: Opts): void;
10988
11309
  /**
10989
11310
  * Closes the devtools.
10990
11311
  */
@@ -11329,16 +11650,13 @@ declare namespace Electron {
11329
11650
  /**
11330
11651
  * Resolves with the generated PDF data.
11331
11652
  *
11332
- * Prints window's web page as PDF with Chromium's preview printing custom
11333
- * settings.
11653
+ * Prints the window's web page as PDF.
11334
11654
  *
11335
11655
  * The `landscape` will be ignored if `@page` CSS at-rule is used in the web page.
11336
11656
  *
11337
- * By default, an empty `options` will be regarded as:
11338
- *
11339
- * Use `page-break-before: always;` CSS style to force to print to a new page.
11340
- *
11341
11657
  * An example of `webContents.printToPDF`:
11658
+ *
11659
+ * See Page.printToPdf for more information.
11342
11660
  */
11343
11661
  printToPDF(options: PrintToPDFOptions): Promise<Buffer>;
11344
11662
  /**
@@ -11597,12 +11915,48 @@ declare namespace Electron {
11597
11915
  *
11598
11916
  */
11599
11917
  readonly id: number;
11918
+ /**
11919
+ * An `IpcMain` scoped to just IPC messages sent from this WebContents.
11920
+ *
11921
+ * IPC messages sent with `ipcRenderer.send`, `ipcRenderer.sendSync` or
11922
+ * `ipcRenderer.postMessage` will be delivered in the following order:
11923
+ *
11924
+ * * `contents.on('ipc-message')`
11925
+ * * `contents.mainFrame.on(channel)`
11926
+ * * `contents.ipc.on(channel)`
11927
+ * * `ipcMain.on(channel)`
11928
+ *
11929
+ * Handlers registered with `invoke` will be checked in the following order. The
11930
+ * first one that is defined will be called, the rest will be ignored.
11931
+ *
11932
+ * * `contents.mainFrame.handle(channel)`
11933
+ * * `contents.handle(channel)`
11934
+ * * `ipcMain.handle(channel)`
11935
+ *
11936
+ * A handler or event listener registered on the WebContents will receive IPC
11937
+ * messages sent from any frame, including child frames. In most cases, only the
11938
+ * main frame can send IPC messages. However, if the `nodeIntegrationInSubFrames`
11939
+ * option is enabled, it is possible for child frames to send IPC messages also. In
11940
+ * that case, handlers should check the `senderFrame` property of the IPC event to
11941
+ * ensure that the message is coming from the expected frame. Alternatively,
11942
+ * register handlers on the appropriate frame directly using the `WebFrameMain.ipc`
11943
+ * interface.
11944
+ *
11945
+ */
11946
+ readonly ipc: IpcMain;
11600
11947
  /**
11601
11948
  * A `WebFrameMain` property that represents the top frame of the page's frame
11602
11949
  * hierarchy.
11603
11950
  *
11604
11951
  */
11605
11952
  readonly mainFrame: WebFrameMain;
11953
+ /**
11954
+ * A `WebFrameMain` property that represents the frame that opened this
11955
+ * WebContents, either with open(), or by navigating a link with a target
11956
+ * attribute.
11957
+ *
11958
+ */
11959
+ readonly opener: WebFrameMain;
11606
11960
  /**
11607
11961
  * A `Session` used by this webContents.
11608
11962
  *
@@ -11894,6 +12248,32 @@ declare namespace Electron {
11894
12248
  *
11895
12249
  */
11896
12250
  readonly frameTreeNodeId: number;
12251
+ /**
12252
+ * An `IpcMain` instance scoped to the frame.
12253
+ *
12254
+ * IPC messages sent with `ipcRenderer.send`, `ipcRenderer.sendSync` or
12255
+ * `ipcRenderer.postMessage` will be delivered in the following order:
12256
+ *
12257
+ * * `contents.on('ipc-message')`
12258
+ * * `contents.mainFrame.on(channel)`
12259
+ * * `contents.ipc.on(channel)`
12260
+ * * `ipcMain.on(channel)`
12261
+ *
12262
+ * Handlers registered with `invoke` will be checked in the following order. The
12263
+ * first one that is defined will be called, the rest will be ignored.
12264
+ *
12265
+ * * `contents.mainFrame.handle(channel)`
12266
+ * * `contents.handle(channel)`
12267
+ * * `ipcMain.handle(channel)`
12268
+ *
12269
+ * In most cases, only the main frame of a WebContents can send or receive IPC
12270
+ * messages. However, if the `nodeIntegrationInSubFrames` option is enabled, it is
12271
+ * possible for child frames to send and receive IPC messages also. The
12272
+ * `WebContents.ipc` interface may be more convenient when
12273
+ * `nodeIntegrationInSubFrames` is not enabled.
12274
+ *
12275
+ */
12276
+ readonly ipc: IpcMain;
11897
12277
  /**
11898
12278
  * A `string` representing the frame name.
11899
12279
  *
@@ -11979,7 +12359,7 @@ declare namespace Electron {
11979
12359
  *
11980
12360
  * Some examples of valid `urls`:
11981
12361
  */
11982
- onBeforeRequest(filter: WebRequestFilter, listener: ((details: OnBeforeRequestListenerDetails, callback: (response: Response) => void) => void) | (null)): void;
12362
+ onBeforeRequest(filter: WebRequestFilter, listener: ((details: OnBeforeRequestListenerDetails, callback: (response: CallbackResponse) => void) => void) | (null)): void;
11983
12363
  /**
11984
12364
  * The `listener` will be called with `listener(details, callback)` when a request
11985
12365
  * is about to occur.
@@ -11990,7 +12370,7 @@ declare namespace Electron {
11990
12370
  *
11991
12371
  * Some examples of valid `urls`:
11992
12372
  */
11993
- onBeforeRequest(listener: ((details: OnBeforeRequestListenerDetails, callback: (response: Response) => void) => void) | (null)): void;
12373
+ onBeforeRequest(listener: ((details: OnBeforeRequestListenerDetails, callback: (response: CallbackResponse) => void) => void) | (null)): void;
11994
12374
  /**
11995
12375
  * The `listener` will be called with `listener(details, callback)` before sending
11996
12376
  * an HTTP request, once the request headers are available. This may occur after a
@@ -12166,13 +12546,6 @@ declare namespace Electron {
12166
12546
  */
12167
12547
  addEventListener(event: 'found-in-page', listener: (event: FoundInPageEvent) => void, useCapture?: boolean): this;
12168
12548
  removeEventListener(event: 'found-in-page', listener: (event: FoundInPageEvent) => void): this;
12169
- /**
12170
- * Fired when the guest page attempts to open a new browser window.
12171
- *
12172
- * The following example code opens the new url in system's default browser.
12173
- */
12174
- addEventListener(event: 'new-window', listener: (event: NewWindowEvent) => void, useCapture?: boolean): this;
12175
- removeEventListener(event: 'new-window', listener: (event: NewWindowEvent) => void): this;
12176
12549
  /**
12177
12550
  * Emitted when a user or the page wants to start navigation. It can happen when
12178
12551
  * the `window.location` object is changed or a user clicks a link in the page.
@@ -12743,7 +13116,7 @@ declare namespace Electron {
12743
13116
  /**
12744
13117
  * The scale factor to add the image representation for.
12745
13118
  */
12746
- scaleFactor: number;
13119
+ scaleFactor?: number;
12747
13120
  /**
12748
13121
  * Defaults to 0. Required if a bitmap buffer is specified as `buffer`.
12749
13122
  */
@@ -12881,6 +13254,19 @@ declare namespace Electron {
12881
13254
  total: number;
12882
13255
  }
12883
13256
 
13257
+ interface BluetoothPairingHandlerHandlerDetails {
13258
+ deviceId: string;
13259
+ /**
13260
+ * The type of pairing prompt being requested. One of the following values:
13261
+ */
13262
+ pairingKind: ('confirm' | 'confirmPin' | 'providePin');
13263
+ frame: WebFrameMain;
13264
+ /**
13265
+ * The pin value to verify if `pairingKind` is `confirmPin`.
13266
+ */
13267
+ pin?: string;
13268
+ }
13269
+
12884
13270
  interface BrowserViewConstructorOptions {
12885
13271
  /**
12886
13272
  * See BrowserWindow.
@@ -13177,6 +13563,15 @@ declare namespace Electron {
13177
13563
  titleBarOverlay?: (TitleBarOverlay) | (boolean);
13178
13564
  }
13179
13565
 
13566
+ interface CallbackResponse {
13567
+ cancel?: boolean;
13568
+ /**
13569
+ * The original request is prevented from being sent or completed and is instead
13570
+ * redirected to the given URL.
13571
+ */
13572
+ redirectURL?: string;
13573
+ }
13574
+
13180
13575
  interface CertificateTrustDialogOptions {
13181
13576
  /**
13182
13577
  * The certificate to trust/import.
@@ -13720,10 +14115,6 @@ declare namespace Electron {
13720
14115
  * the device that permission is being requested for.
13721
14116
  */
13722
14117
  device: (HIDDevice) | (SerialPort);
13723
- /**
13724
- * WebFrameMain checking the device permission.
13725
- */
13726
- frame: WebFrameMain;
13727
14118
  }
13728
14119
 
13729
14120
  interface DidChangeThemeColorEvent extends Event {
@@ -13843,6 +14234,29 @@ declare namespace Electron {
13843
14234
  respectQuietTime?: boolean;
13844
14235
  }
13845
14236
 
14237
+ interface DisplayMediaRequestHandlerHandlerRequest {
14238
+ /**
14239
+ * Frame that is requesting access to media.
14240
+ */
14241
+ frame: WebFrameMain;
14242
+ /**
14243
+ * Origin of the page making the request.
14244
+ */
14245
+ securityOrigin: string;
14246
+ /**
14247
+ * true if the web content requested a video stream.
14248
+ */
14249
+ videoRequested: boolean;
14250
+ /**
14251
+ * true if the web content requested an audio stream.
14252
+ */
14253
+ audioRequested: boolean;
14254
+ /**
14255
+ * Whether a user gesture was active when this request was triggered.
14256
+ */
14257
+ userGesture: boolean;
14258
+ }
14259
+
13846
14260
  interface EnableNetworkEmulationOptions {
13847
14261
  /**
13848
14262
  * Whether to emulate network outage. Defaults to false.
@@ -13907,6 +14321,47 @@ declare namespace Electron {
13907
14321
  steal: boolean;
13908
14322
  }
13909
14323
 
14324
+ interface ForkOptions {
14325
+ /**
14326
+ * Environment key-value pairs. Default is `process.env`.
14327
+ */
14328
+ env?: Env;
14329
+ /**
14330
+ * List of string arguments passed to the executable.
14331
+ */
14332
+ execArgv?: string[];
14333
+ /**
14334
+ * Current working directory of the child process.
14335
+ */
14336
+ cwd?: string;
14337
+ /**
14338
+ * Allows configuring the mode for `stdout` and `stderr` of the child process.
14339
+ * Default is `inherit`. String value can be one of `pipe`, `ignore`, `inherit`,
14340
+ * for more details on these values you can refer to stdio documentation from
14341
+ * Node.js. Currently this option only supports configuring `stdout` and `stderr`
14342
+ * to either `pipe`, `inherit` or `ignore`. Configuring `stdin` is not supported;
14343
+ * `stdin` will always be ignored. For example, the supported values will be
14344
+ * processed as following:
14345
+ */
14346
+ stdio?: (Array<'pipe' | 'ignore' | 'inherit'>) | (string);
14347
+ /**
14348
+ * Name of the process that will appear in `name` property of `child-process-gone`
14349
+ * event of `app`. Default is `node.mojom.NodeService`.
14350
+ */
14351
+ serviceName?: string;
14352
+ /**
14353
+ * With this flag, the utility process will be launched via the `Electron Helper
14354
+ * (Plugin).app` helper executable on macOS, which can be codesigned with
14355
+ * `com.apple.security.cs.disable-library-validation` and
14356
+ * `com.apple.security.cs.allow-unsigned-executable-memory` entitlements. This will
14357
+ * allow the utility process to load unsigned libraries. Unless you specifically
14358
+ * need this capability, it is best to leave this disabled. Default is `false`.
14359
+ *
14360
+ * @platform darwin
14361
+ */
14362
+ allowLoadingUnsignedLibraries?: boolean;
14363
+ }
14364
+
13910
14365
  interface FoundInPageEvent extends Event {
13911
14366
  result: FoundInPageResult;
13912
14367
  }
@@ -13991,6 +14446,14 @@ declare namespace Electron {
13991
14446
  frame: WebFrameMain;
13992
14447
  }
13993
14448
 
14449
+ interface HidDeviceRevokedDetails {
14450
+ device: HIDDevice[];
14451
+ /**
14452
+ * The origin that the device has been revoked from.
14453
+ */
14454
+ origin?: string;
14455
+ }
14456
+
13994
14457
  interface IgnoreMouseEventsOptions {
13995
14458
  /**
13996
14459
  * If true, forwards mouse move messages to Chromium, enabling mouse related events
@@ -14248,8 +14711,8 @@ declare namespace Electron {
14248
14711
  * `selectAll`, `reload`, `forceReload`, `toggleDevTools`, `resetZoom`, `zoomIn`,
14249
14712
  * `zoomOut`, `toggleSpellChecker`, `togglefullscreen`, `window`, `minimize`,
14250
14713
  * `close`, `help`, `about`, `services`, `hide`, `hideOthers`, `unhide`, `quit`,
14251
- * 'showSubstitutions', 'toggleSmartQuotes', 'toggleSmartDashes',
14252
- * 'toggleTextReplacement', `startSpeaking`, `stopSpeaking`, `zoom`, `front`,
14714
+ * `showSubstitutions`, `toggleSmartQuotes`, `toggleSmartDashes`,
14715
+ * `toggleTextReplacement`, `startSpeaking`, `stopSpeaking`, `zoom`, `front`,
14253
14716
  * `appMenu`, `fileMenu`, `editMenu`, `viewMenu`, `shareMenu`, `recentDocuments`,
14254
14717
  * `toggleTabBar`, `selectNextTab`, `selectPreviousTab`, `mergeAllWindows`,
14255
14718
  * `clearRecentDocuments`, `moveTabToNewWindow` or `windowMenu` - Define the action
@@ -14534,20 +14997,6 @@ declare namespace Electron {
14534
14997
  conflictHandler?: (conflictType: 'exists' | 'existsAndRunning') => boolean;
14535
14998
  }
14536
14999
 
14537
- interface NewWindowEvent extends Event {
14538
- url: string;
14539
- frameName: string;
14540
- /**
14541
- * Can be `default`, `foreground-tab`, `background-tab`, `new-window`,
14542
- * `save-to-disk` and `other`.
14543
- */
14544
- disposition: ('default' | 'foreground-tab' | 'background-tab' | 'new-window' | 'save-to-disk' | 'other');
14545
- /**
14546
- * The options which should be used for creating the new `BrowserWindow`.
14547
- */
14548
- options: BrowserWindowConstructorOptions;
14549
- }
14550
-
14551
15000
  interface NotificationConstructorOptions {
14552
15001
  /**
14553
15002
  * A title for the notification, which will be shown at the top of the notification
@@ -14895,6 +15344,15 @@ declare namespace Electron {
14895
15344
  interface Options {
14896
15345
  }
14897
15346
 
15347
+ interface Opts {
15348
+ /**
15349
+ * if true, fire the `beforeunload` event before closing the page. If the page
15350
+ * prevents the unload, the WebContents will not be closed. The
15351
+ * `will-prevent-unload` will be fired if the page requests prevention of unload.
15352
+ */
15353
+ waitForBeforeUnload: boolean;
15354
+ }
15355
+
14898
15356
  interface PageFaviconUpdatedEvent extends Event {
14899
15357
  /**
14900
15358
  * Array of URLs.
@@ -15050,39 +15508,51 @@ declare namespace Electron {
15050
15508
 
15051
15509
  interface PrintToPDFOptions {
15052
15510
  /**
15053
- * the header and footer for the PDF.
15054
- */
15055
- headerFooter?: Record<string, string>;
15056
- /**
15057
- * `true` for landscape, `false` for portrait.
15511
+ * Paper orientation.`true` for landscape, `false` for portrait. Defaults to false.
15058
15512
  */
15059
15513
  landscape?: boolean;
15060
15514
  /**
15061
- * Specifies the type of margins to use. Uses 0 for default margin, 1 for no
15062
- * margin, and 2 for minimum margin. and `width` in microns.
15515
+ * Whether to display header and footer. Defaults to false.
15063
15516
  */
15064
- marginsType?: number;
15517
+ displayHeaderFooter?: boolean;
15065
15518
  /**
15066
- * The scale factor of the web page. Can range from 0 to 100.
15519
+ * Whether to print background graphics. Defaults to false.
15067
15520
  */
15068
- scaleFactor?: number;
15521
+ printBackground?: boolean;
15069
15522
  /**
15070
- * The page range to print. On macOS, only the first range is honored.
15523
+ * Scale of the webpage rendering. Defaults to 1.
15071
15524
  */
15072
- pageRanges?: Record<string, number>;
15525
+ scale?: number;
15073
15526
  /**
15074
- * Specify page size of the generated PDF. Can be `A3`, `A4`, `A5`, `Legal`,
15075
- * `Letter`, `Tabloid` or an Object containing `height`
15527
+ * Specify page size of the generated PDF. Can be `A0`, `A1`, `A2`, `A3`, `A4`,
15528
+ * `A5`, `A6`, `Legal`, `Letter`, `Tabloid`, `Ledger`, or an Object containing
15529
+ * `height` and `width` in inches. Defaults to `Letter`.
15076
15530
  */
15077
15531
  pageSize?: (string) | (Size);
15532
+ margins?: Margins;
15078
15533
  /**
15079
- * Whether to print CSS backgrounds.
15534
+ * Paper ranges to print, e.g., '1-5, 8, 11-13'. Defaults to the empty string,
15535
+ * which means print all pages.
15080
15536
  */
15081
- printBackground?: boolean;
15537
+ pageRanges?: string;
15538
+ /**
15539
+ * HTML template for the print header. Should be valid HTML markup with following
15540
+ * classes used to inject printing values into them: `date` (formatted print date),
15541
+ * `title` (document title), `url` (document location), `pageNumber` (current page
15542
+ * number) and `totalPages` (total pages in the document). For example, `<span
15543
+ * class=title></span>` would generate span containing the title.
15544
+ */
15545
+ headerTemplate?: string;
15082
15546
  /**
15083
- * Whether to print selection only.
15547
+ * HTML template for the print footer. Should use the same format as the
15548
+ * `headerTemplate`.
15084
15549
  */
15085
- printSelectionOnly?: boolean;
15550
+ footerTemplate?: string;
15551
+ /**
15552
+ * Whether or not to prefer page size as defined by css. Defaults to false, in
15553
+ * which case the content will be scaled to fit the paper size.
15554
+ */
15555
+ preferCSSPageSize?: boolean;
15086
15556
  }
15087
15557
 
15088
15558
  interface Privileges {
@@ -15209,12 +15679,18 @@ declare namespace Electron {
15209
15679
  }
15210
15680
 
15211
15681
  interface Response {
15212
- cancel?: boolean;
15213
15682
  /**
15214
- * The original request is prevented from being sent or completed and is instead
15215
- * redirected to the given URL.
15683
+ * `false` should be passed in if the dialog is canceled. If the `pairingKind` is
15684
+ * `confirm` or `confirmPin`, this value should indicate if the pairing is
15685
+ * confirmed. If the `pairingKind` is `providePin` the value should be `true` when
15686
+ * a value is provided.
15216
15687
  */
15217
- redirectURL?: string;
15688
+ confirmed: boolean;
15689
+ /**
15690
+ * When the `pairingKind` is `providePin` this value should be the required pin for
15691
+ * the Bluetooth device.
15692
+ */
15693
+ pin?: (string) | (null);
15218
15694
  }
15219
15695
 
15220
15696
  interface Result {
@@ -15346,6 +15822,15 @@ declare namespace Electron {
15346
15822
  frame: WebFrameMain;
15347
15823
  }
15348
15824
 
15825
+ interface SerialPortRevokedDetails {
15826
+ port: SerialPort;
15827
+ frame: WebFrameMain;
15828
+ /**
15829
+ * The origin that the device has been revoked from.
15830
+ */
15831
+ origin: string;
15832
+ }
15833
+
15349
15834
  interface Settings {
15350
15835
  /**
15351
15836
  * `true` to open the app at login, `false` to remove the app as a login item.
@@ -15449,6 +15934,16 @@ declare namespace Electron {
15449
15934
  maxFileSize?: number;
15450
15935
  }
15451
15936
 
15937
+ interface Streams {
15938
+ video?: (Video) | (WebFrameMain);
15939
+ /**
15940
+ * If a string is specified, can be `loopback` or `loopbackWithMute`. Specifying a
15941
+ * loopback device will capture system audio, and is currently only supported on
15942
+ * Windows. If a WebFrameMain is specified, will capture audio from that frame.
15943
+ */
15944
+ audio?: (('loopback' | 'loopbackWithMute')) | (WebFrameMain);
15945
+ }
15946
+
15452
15947
  interface SystemMemoryInfo {
15453
15948
  /**
15454
15949
  * The total amount of physical memory in Kilobytes available to the system.
@@ -15817,7 +16312,7 @@ declare namespace Electron {
15817
16312
  footer?: string;
15818
16313
  /**
15819
16314
  * Specify page size of the printed document. Can be `A3`, `A4`, `A5`, `Legal`,
15820
- * `Letter`, `Tabloid` or an Object containing `height`.
16315
+ * `Letter`, `Tabloid` or an Object containing `height` and `width`.
15821
16316
  */
15822
16317
  pageSize?: (string) | (Size);
15823
16318
  }
@@ -15882,7 +16377,7 @@ declare namespace Electron {
15882
16377
  footer?: string;
15883
16378
  /**
15884
16379
  * Specify page size of the printed document. Can be `A3`, `A4`, `A5`, `Legal`,
15885
- * `Letter`, `Tabloid` or an Object containing `height`.
16380
+ * `Letter`, `Tabloid` or an Object containing `height` in microns.
15886
16381
  */
15887
16382
  pageSize?: (string) | (Size);
15888
16383
  }
@@ -15934,6 +16429,9 @@ declare namespace Electron {
15934
16429
  canEditRichly: boolean;
15935
16430
  }
15936
16431
 
16432
+ interface Env {
16433
+ }
16434
+
15937
16435
  interface FoundInPageResult {
15938
16436
  requestId: number;
15939
16437
  /**
@@ -16212,6 +16710,19 @@ declare namespace Electron {
16212
16710
  height?: number;
16213
16711
  }
16214
16712
 
16713
+ interface Video {
16714
+ /**
16715
+ * The id of the stream being granted. This will usually come from a
16716
+ * DesktopCapturerSource object.
16717
+ */
16718
+ id: string;
16719
+ /**
16720
+ * The name of the stream being granted. This will usually come from a
16721
+ * DesktopCapturerSource object.
16722
+ */
16723
+ name: string;
16724
+ }
16725
+
16215
16726
  interface WebPreferences {
16216
16727
  /**
16217
16728
  * Whether to enable DevTools. If it is set to `false`, can not use
@@ -16495,6 +17006,7 @@ declare namespace Electron {
16495
17006
  powerMonitor: PowerMonitor;
16496
17007
  powerSaveBlocker: PowerSaveBlocker;
16497
17008
  protocol: Protocol;
17009
+ pushNotifications: PushNotifications;
16498
17010
  safeStorage: SafeStorage;
16499
17011
  screen: Screen;
16500
17012
  session: typeof Session;
@@ -16503,6 +17015,7 @@ declare namespace Electron {
16503
17015
  systemPreferences: SystemPreferences;
16504
17016
  TouchBar: typeof TouchBar;
16505
17017
  Tray: typeof Tray;
17018
+ utilityProcess: typeof UtilityProcess;
16506
17019
  webContents: typeof WebContents;
16507
17020
  webFrameMain: typeof WebFrameMain;
16508
17021
  }
@@ -16529,8 +17042,10 @@ declare namespace Electron {
16529
17042
  type BeforeSendResponse = Electron.BeforeSendResponse;
16530
17043
  type BitmapOptions = Electron.BitmapOptions;
16531
17044
  type BlinkMemoryInfo = Electron.BlinkMemoryInfo;
17045
+ type BluetoothPairingHandlerHandlerDetails = Electron.BluetoothPairingHandlerHandlerDetails;
16532
17046
  type BrowserViewConstructorOptions = Electron.BrowserViewConstructorOptions;
16533
17047
  type BrowserWindowConstructorOptions = Electron.BrowserWindowConstructorOptions;
17048
+ type CallbackResponse = Electron.CallbackResponse;
16534
17049
  type CertificateTrustDialogOptions = Electron.CertificateTrustDialogOptions;
16535
17050
  type ClearCodeCachesOptions = Electron.ClearCodeCachesOptions;
16536
17051
  type ClearStorageDataOptions = Electron.ClearStorageDataOptions;
@@ -16560,11 +17075,13 @@ declare namespace Electron {
16560
17075
  type DidRedirectNavigationEvent = Electron.DidRedirectNavigationEvent;
16561
17076
  type DidStartNavigationEvent = Electron.DidStartNavigationEvent;
16562
17077
  type DisplayBalloonOptions = Electron.DisplayBalloonOptions;
17078
+ type DisplayMediaRequestHandlerHandlerRequest = Electron.DisplayMediaRequestHandlerHandlerRequest;
16563
17079
  type EnableNetworkEmulationOptions = Electron.EnableNetworkEmulationOptions;
16564
17080
  type FeedURLOptions = Electron.FeedURLOptions;
16565
17081
  type FileIconOptions = Electron.FileIconOptions;
16566
17082
  type FindInPageOptions = Electron.FindInPageOptions;
16567
17083
  type FocusOptions = Electron.FocusOptions;
17084
+ type ForkOptions = Electron.ForkOptions;
16568
17085
  type FoundInPageEvent = Electron.FoundInPageEvent;
16569
17086
  type FrameCreatedDetails = Electron.FrameCreatedDetails;
16570
17087
  type FromPartitionOptions = Electron.FromPartitionOptions;
@@ -16573,6 +17090,7 @@ declare namespace Electron {
16573
17090
  type HeapStatistics = Electron.HeapStatistics;
16574
17091
  type HidDeviceAddedDetails = Electron.HidDeviceAddedDetails;
16575
17092
  type HidDeviceRemovedDetails = Electron.HidDeviceRemovedDetails;
17093
+ type HidDeviceRevokedDetails = Electron.HidDeviceRevokedDetails;
16576
17094
  type IgnoreMouseEventsOptions = Electron.IgnoreMouseEventsOptions;
16577
17095
  type ImportCertificateOptions = Electron.ImportCertificateOptions;
16578
17096
  type Info = Electron.Info;
@@ -16594,7 +17112,6 @@ declare namespace Electron {
16594
17112
  type MessageDetails = Electron.MessageDetails;
16595
17113
  type MessageEvent = Electron.MessageEvent;
16596
17114
  type MoveToApplicationsFolderOptions = Electron.MoveToApplicationsFolderOptions;
16597
- type NewWindowEvent = Electron.NewWindowEvent;
16598
17115
  type NotificationConstructorOptions = Electron.NotificationConstructorOptions;
16599
17116
  type OnBeforeRedirectListenerDetails = Electron.OnBeforeRedirectListenerDetails;
16600
17117
  type OnBeforeRequestListenerDetails = Electron.OnBeforeRequestListenerDetails;
@@ -16610,6 +17127,7 @@ declare namespace Electron {
16610
17127
  type OpenDialogSyncOptions = Electron.OpenDialogSyncOptions;
16611
17128
  type OpenExternalOptions = Electron.OpenExternalOptions;
16612
17129
  type Options = Electron.Options;
17130
+ type Opts = Electron.Opts;
16613
17131
  type PageFaviconUpdatedEvent = Electron.PageFaviconUpdatedEvent;
16614
17132
  type PageTitleUpdatedEvent = Electron.PageTitleUpdatedEvent;
16615
17133
  type Parameters = Electron.Parameters;
@@ -16636,10 +17154,12 @@ declare namespace Electron {
16636
17154
  type SaveDialogReturnValue = Electron.SaveDialogReturnValue;
16637
17155
  type SaveDialogSyncOptions = Electron.SaveDialogSyncOptions;
16638
17156
  type SelectHidDeviceDetails = Electron.SelectHidDeviceDetails;
17157
+ type SerialPortRevokedDetails = Electron.SerialPortRevokedDetails;
16639
17158
  type Settings = Electron.Settings;
16640
17159
  type SourcesOptions = Electron.SourcesOptions;
16641
17160
  type SSLConfigConfig = Electron.SSLConfigConfig;
16642
17161
  type StartLoggingOptions = Electron.StartLoggingOptions;
17162
+ type Streams = Electron.Streams;
16643
17163
  type SystemMemoryInfo = Electron.SystemMemoryInfo;
16644
17164
  type TitleBarOverlayOptions = Electron.TitleBarOverlayOptions;
16645
17165
  type TitleOptions = Electron.TitleOptions;
@@ -16665,6 +17185,7 @@ declare namespace Electron {
16665
17185
  type WillNavigateEvent = Electron.WillNavigateEvent;
16666
17186
  type WillResizeDetails = Electron.WillResizeDetails;
16667
17187
  type EditFlags = Electron.EditFlags;
17188
+ type Env = Electron.Env;
16668
17189
  type FoundInPageResult = Electron.FoundInPageResult;
16669
17190
  type LaunchItems = Electron.LaunchItems;
16670
17191
  type Margins = Electron.Margins;
@@ -16672,6 +17193,7 @@ declare namespace Electron {
16672
17193
  type PageRanges = Electron.PageRanges;
16673
17194
  type Params = Electron.Params;
16674
17195
  type TitleBarOverlay = Electron.TitleBarOverlay;
17196
+ type Video = Electron.Video;
16675
17197
  type WebPreferences = Electron.WebPreferences;
16676
17198
  type DefaultFontFamily = Electron.DefaultFontFamily;
16677
17199
  type BluetoothDevice = Electron.BluetoothDevice;
@@ -16704,7 +17226,6 @@ declare namespace Electron {
16704
17226
  type MimeTypedBuffer = Electron.MimeTypedBuffer;
16705
17227
  type MouseInputEvent = Electron.MouseInputEvent;
16706
17228
  type MouseWheelInputEvent = Electron.MouseWheelInputEvent;
16707
- type NewWindowWebContentsEvent = Electron.NewWindowWebContentsEvent;
16708
17229
  type NotificationAction = Electron.NotificationAction;
16709
17230
  type NotificationResponse = Electron.NotificationResponse;
16710
17231
  type PaymentDiscount = Electron.PaymentDiscount;
@@ -16785,6 +17306,8 @@ declare namespace Electron {
16785
17306
  type PowerSaveBlocker = Electron.PowerSaveBlocker;
16786
17307
  const protocol: Protocol;
16787
17308
  type Protocol = Electron.Protocol;
17309
+ const pushNotifications: PushNotifications;
17310
+ type PushNotifications = Electron.PushNotifications;
16788
17311
  const safeStorage: SafeStorage;
16789
17312
  type SafeStorage = Electron.SafeStorage;
16790
17313
  const screen: Screen;
@@ -16807,6 +17330,8 @@ declare namespace Electron {
16807
17330
  type TouchBarSlider = Electron.TouchBarSlider;
16808
17331
  type TouchBarSpacer = Electron.TouchBarSpacer;
16809
17332
  class Tray extends Electron.Tray {}
17333
+ const utilityProcess: typeof UtilityProcess;
17334
+ type UtilityProcess = Electron.UtilityProcess;
16810
17335
  const webContents: typeof WebContents;
16811
17336
  type WebContents = Electron.WebContents;
16812
17337
  const webFrameMain: typeof WebFrameMain;
@@ -16823,8 +17348,10 @@ declare namespace Electron {
16823
17348
  type BeforeSendResponse = Electron.BeforeSendResponse;
16824
17349
  type BitmapOptions = Electron.BitmapOptions;
16825
17350
  type BlinkMemoryInfo = Electron.BlinkMemoryInfo;
17351
+ type BluetoothPairingHandlerHandlerDetails = Electron.BluetoothPairingHandlerHandlerDetails;
16826
17352
  type BrowserViewConstructorOptions = Electron.BrowserViewConstructorOptions;
16827
17353
  type BrowserWindowConstructorOptions = Electron.BrowserWindowConstructorOptions;
17354
+ type CallbackResponse = Electron.CallbackResponse;
16828
17355
  type CertificateTrustDialogOptions = Electron.CertificateTrustDialogOptions;
16829
17356
  type ClearCodeCachesOptions = Electron.ClearCodeCachesOptions;
16830
17357
  type ClearStorageDataOptions = Electron.ClearStorageDataOptions;
@@ -16854,11 +17381,13 @@ declare namespace Electron {
16854
17381
  type DidRedirectNavigationEvent = Electron.DidRedirectNavigationEvent;
16855
17382
  type DidStartNavigationEvent = Electron.DidStartNavigationEvent;
16856
17383
  type DisplayBalloonOptions = Electron.DisplayBalloonOptions;
17384
+ type DisplayMediaRequestHandlerHandlerRequest = Electron.DisplayMediaRequestHandlerHandlerRequest;
16857
17385
  type EnableNetworkEmulationOptions = Electron.EnableNetworkEmulationOptions;
16858
17386
  type FeedURLOptions = Electron.FeedURLOptions;
16859
17387
  type FileIconOptions = Electron.FileIconOptions;
16860
17388
  type FindInPageOptions = Electron.FindInPageOptions;
16861
17389
  type FocusOptions = Electron.FocusOptions;
17390
+ type ForkOptions = Electron.ForkOptions;
16862
17391
  type FoundInPageEvent = Electron.FoundInPageEvent;
16863
17392
  type FrameCreatedDetails = Electron.FrameCreatedDetails;
16864
17393
  type FromPartitionOptions = Electron.FromPartitionOptions;
@@ -16867,6 +17396,7 @@ declare namespace Electron {
16867
17396
  type HeapStatistics = Electron.HeapStatistics;
16868
17397
  type HidDeviceAddedDetails = Electron.HidDeviceAddedDetails;
16869
17398
  type HidDeviceRemovedDetails = Electron.HidDeviceRemovedDetails;
17399
+ type HidDeviceRevokedDetails = Electron.HidDeviceRevokedDetails;
16870
17400
  type IgnoreMouseEventsOptions = Electron.IgnoreMouseEventsOptions;
16871
17401
  type ImportCertificateOptions = Electron.ImportCertificateOptions;
16872
17402
  type Info = Electron.Info;
@@ -16888,7 +17418,6 @@ declare namespace Electron {
16888
17418
  type MessageDetails = Electron.MessageDetails;
16889
17419
  type MessageEvent = Electron.MessageEvent;
16890
17420
  type MoveToApplicationsFolderOptions = Electron.MoveToApplicationsFolderOptions;
16891
- type NewWindowEvent = Electron.NewWindowEvent;
16892
17421
  type NotificationConstructorOptions = Electron.NotificationConstructorOptions;
16893
17422
  type OnBeforeRedirectListenerDetails = Electron.OnBeforeRedirectListenerDetails;
16894
17423
  type OnBeforeRequestListenerDetails = Electron.OnBeforeRequestListenerDetails;
@@ -16904,6 +17433,7 @@ declare namespace Electron {
16904
17433
  type OpenDialogSyncOptions = Electron.OpenDialogSyncOptions;
16905
17434
  type OpenExternalOptions = Electron.OpenExternalOptions;
16906
17435
  type Options = Electron.Options;
17436
+ type Opts = Electron.Opts;
16907
17437
  type PageFaviconUpdatedEvent = Electron.PageFaviconUpdatedEvent;
16908
17438
  type PageTitleUpdatedEvent = Electron.PageTitleUpdatedEvent;
16909
17439
  type Parameters = Electron.Parameters;
@@ -16930,10 +17460,12 @@ declare namespace Electron {
16930
17460
  type SaveDialogReturnValue = Electron.SaveDialogReturnValue;
16931
17461
  type SaveDialogSyncOptions = Electron.SaveDialogSyncOptions;
16932
17462
  type SelectHidDeviceDetails = Electron.SelectHidDeviceDetails;
17463
+ type SerialPortRevokedDetails = Electron.SerialPortRevokedDetails;
16933
17464
  type Settings = Electron.Settings;
16934
17465
  type SourcesOptions = Electron.SourcesOptions;
16935
17466
  type SSLConfigConfig = Electron.SSLConfigConfig;
16936
17467
  type StartLoggingOptions = Electron.StartLoggingOptions;
17468
+ type Streams = Electron.Streams;
16937
17469
  type SystemMemoryInfo = Electron.SystemMemoryInfo;
16938
17470
  type TitleBarOverlayOptions = Electron.TitleBarOverlayOptions;
16939
17471
  type TitleOptions = Electron.TitleOptions;
@@ -16959,6 +17491,7 @@ declare namespace Electron {
16959
17491
  type WillNavigateEvent = Electron.WillNavigateEvent;
16960
17492
  type WillResizeDetails = Electron.WillResizeDetails;
16961
17493
  type EditFlags = Electron.EditFlags;
17494
+ type Env = Electron.Env;
16962
17495
  type FoundInPageResult = Electron.FoundInPageResult;
16963
17496
  type LaunchItems = Electron.LaunchItems;
16964
17497
  type Margins = Electron.Margins;
@@ -16966,6 +17499,7 @@ declare namespace Electron {
16966
17499
  type PageRanges = Electron.PageRanges;
16967
17500
  type Params = Electron.Params;
16968
17501
  type TitleBarOverlay = Electron.TitleBarOverlay;
17502
+ type Video = Electron.Video;
16969
17503
  type WebPreferences = Electron.WebPreferences;
16970
17504
  type DefaultFontFamily = Electron.DefaultFontFamily;
16971
17505
  type BluetoothDevice = Electron.BluetoothDevice;
@@ -16998,7 +17532,6 @@ declare namespace Electron {
16998
17532
  type MimeTypedBuffer = Electron.MimeTypedBuffer;
16999
17533
  type MouseInputEvent = Electron.MouseInputEvent;
17000
17534
  type MouseWheelInputEvent = Electron.MouseWheelInputEvent;
17001
- type NewWindowWebContentsEvent = Electron.NewWindowWebContentsEvent;
17002
17535
  type NotificationAction = Electron.NotificationAction;
17003
17536
  type NotificationResponse = Electron.NotificationResponse;
17004
17537
  type PaymentDiscount = Electron.PaymentDiscount;
@@ -17054,8 +17587,10 @@ declare namespace Electron {
17054
17587
  type BeforeSendResponse = Electron.BeforeSendResponse;
17055
17588
  type BitmapOptions = Electron.BitmapOptions;
17056
17589
  type BlinkMemoryInfo = Electron.BlinkMemoryInfo;
17590
+ type BluetoothPairingHandlerHandlerDetails = Electron.BluetoothPairingHandlerHandlerDetails;
17057
17591
  type BrowserViewConstructorOptions = Electron.BrowserViewConstructorOptions;
17058
17592
  type BrowserWindowConstructorOptions = Electron.BrowserWindowConstructorOptions;
17593
+ type CallbackResponse = Electron.CallbackResponse;
17059
17594
  type CertificateTrustDialogOptions = Electron.CertificateTrustDialogOptions;
17060
17595
  type ClearCodeCachesOptions = Electron.ClearCodeCachesOptions;
17061
17596
  type ClearStorageDataOptions = Electron.ClearStorageDataOptions;
@@ -17085,11 +17620,13 @@ declare namespace Electron {
17085
17620
  type DidRedirectNavigationEvent = Electron.DidRedirectNavigationEvent;
17086
17621
  type DidStartNavigationEvent = Electron.DidStartNavigationEvent;
17087
17622
  type DisplayBalloonOptions = Electron.DisplayBalloonOptions;
17623
+ type DisplayMediaRequestHandlerHandlerRequest = Electron.DisplayMediaRequestHandlerHandlerRequest;
17088
17624
  type EnableNetworkEmulationOptions = Electron.EnableNetworkEmulationOptions;
17089
17625
  type FeedURLOptions = Electron.FeedURLOptions;
17090
17626
  type FileIconOptions = Electron.FileIconOptions;
17091
17627
  type FindInPageOptions = Electron.FindInPageOptions;
17092
17628
  type FocusOptions = Electron.FocusOptions;
17629
+ type ForkOptions = Electron.ForkOptions;
17093
17630
  type FoundInPageEvent = Electron.FoundInPageEvent;
17094
17631
  type FrameCreatedDetails = Electron.FrameCreatedDetails;
17095
17632
  type FromPartitionOptions = Electron.FromPartitionOptions;
@@ -17098,6 +17635,7 @@ declare namespace Electron {
17098
17635
  type HeapStatistics = Electron.HeapStatistics;
17099
17636
  type HidDeviceAddedDetails = Electron.HidDeviceAddedDetails;
17100
17637
  type HidDeviceRemovedDetails = Electron.HidDeviceRemovedDetails;
17638
+ type HidDeviceRevokedDetails = Electron.HidDeviceRevokedDetails;
17101
17639
  type IgnoreMouseEventsOptions = Electron.IgnoreMouseEventsOptions;
17102
17640
  type ImportCertificateOptions = Electron.ImportCertificateOptions;
17103
17641
  type Info = Electron.Info;
@@ -17119,7 +17657,6 @@ declare namespace Electron {
17119
17657
  type MessageDetails = Electron.MessageDetails;
17120
17658
  type MessageEvent = Electron.MessageEvent;
17121
17659
  type MoveToApplicationsFolderOptions = Electron.MoveToApplicationsFolderOptions;
17122
- type NewWindowEvent = Electron.NewWindowEvent;
17123
17660
  type NotificationConstructorOptions = Electron.NotificationConstructorOptions;
17124
17661
  type OnBeforeRedirectListenerDetails = Electron.OnBeforeRedirectListenerDetails;
17125
17662
  type OnBeforeRequestListenerDetails = Electron.OnBeforeRequestListenerDetails;
@@ -17135,6 +17672,7 @@ declare namespace Electron {
17135
17672
  type OpenDialogSyncOptions = Electron.OpenDialogSyncOptions;
17136
17673
  type OpenExternalOptions = Electron.OpenExternalOptions;
17137
17674
  type Options = Electron.Options;
17675
+ type Opts = Electron.Opts;
17138
17676
  type PageFaviconUpdatedEvent = Electron.PageFaviconUpdatedEvent;
17139
17677
  type PageTitleUpdatedEvent = Electron.PageTitleUpdatedEvent;
17140
17678
  type Parameters = Electron.Parameters;
@@ -17161,10 +17699,12 @@ declare namespace Electron {
17161
17699
  type SaveDialogReturnValue = Electron.SaveDialogReturnValue;
17162
17700
  type SaveDialogSyncOptions = Electron.SaveDialogSyncOptions;
17163
17701
  type SelectHidDeviceDetails = Electron.SelectHidDeviceDetails;
17702
+ type SerialPortRevokedDetails = Electron.SerialPortRevokedDetails;
17164
17703
  type Settings = Electron.Settings;
17165
17704
  type SourcesOptions = Electron.SourcesOptions;
17166
17705
  type SSLConfigConfig = Electron.SSLConfigConfig;
17167
17706
  type StartLoggingOptions = Electron.StartLoggingOptions;
17707
+ type Streams = Electron.Streams;
17168
17708
  type SystemMemoryInfo = Electron.SystemMemoryInfo;
17169
17709
  type TitleBarOverlayOptions = Electron.TitleBarOverlayOptions;
17170
17710
  type TitleOptions = Electron.TitleOptions;
@@ -17190,6 +17730,7 @@ declare namespace Electron {
17190
17730
  type WillNavigateEvent = Electron.WillNavigateEvent;
17191
17731
  type WillResizeDetails = Electron.WillResizeDetails;
17192
17732
  type EditFlags = Electron.EditFlags;
17733
+ type Env = Electron.Env;
17193
17734
  type FoundInPageResult = Electron.FoundInPageResult;
17194
17735
  type LaunchItems = Electron.LaunchItems;
17195
17736
  type Margins = Electron.Margins;
@@ -17197,6 +17738,7 @@ declare namespace Electron {
17197
17738
  type PageRanges = Electron.PageRanges;
17198
17739
  type Params = Electron.Params;
17199
17740
  type TitleBarOverlay = Electron.TitleBarOverlay;
17741
+ type Video = Electron.Video;
17200
17742
  type WebPreferences = Electron.WebPreferences;
17201
17743
  type DefaultFontFamily = Electron.DefaultFontFamily;
17202
17744
  type BluetoothDevice = Electron.BluetoothDevice;
@@ -17229,7 +17771,6 @@ declare namespace Electron {
17229
17771
  type MimeTypedBuffer = Electron.MimeTypedBuffer;
17230
17772
  type MouseInputEvent = Electron.MouseInputEvent;
17231
17773
  type MouseWheelInputEvent = Electron.MouseWheelInputEvent;
17232
- type NewWindowWebContentsEvent = Electron.NewWindowWebContentsEvent;
17233
17774
  type NotificationAction = Electron.NotificationAction;
17234
17775
  type NotificationResponse = Electron.NotificationResponse;
17235
17776
  type PaymentDiscount = Electron.PaymentDiscount;
@@ -17320,6 +17861,8 @@ declare namespace Electron {
17320
17861
  type PowerSaveBlocker = Electron.PowerSaveBlocker;
17321
17862
  const protocol: Protocol;
17322
17863
  type Protocol = Electron.Protocol;
17864
+ const pushNotifications: PushNotifications;
17865
+ type PushNotifications = Electron.PushNotifications;
17323
17866
  const safeStorage: SafeStorage;
17324
17867
  type SafeStorage = Electron.SafeStorage;
17325
17868
  const screen: Screen;
@@ -17344,6 +17887,8 @@ declare namespace Electron {
17344
17887
  type TouchBarSlider = Electron.TouchBarSlider;
17345
17888
  type TouchBarSpacer = Electron.TouchBarSpacer;
17346
17889
  class Tray extends Electron.Tray {}
17890
+ const utilityProcess: typeof UtilityProcess;
17891
+ type UtilityProcess = Electron.UtilityProcess;
17347
17892
  const webContents: typeof WebContents;
17348
17893
  type WebContents = Electron.WebContents;
17349
17894
  const webFrame: WebFrame;
@@ -17362,8 +17907,10 @@ declare namespace Electron {
17362
17907
  type BeforeSendResponse = Electron.BeforeSendResponse;
17363
17908
  type BitmapOptions = Electron.BitmapOptions;
17364
17909
  type BlinkMemoryInfo = Electron.BlinkMemoryInfo;
17910
+ type BluetoothPairingHandlerHandlerDetails = Electron.BluetoothPairingHandlerHandlerDetails;
17365
17911
  type BrowserViewConstructorOptions = Electron.BrowserViewConstructorOptions;
17366
17912
  type BrowserWindowConstructorOptions = Electron.BrowserWindowConstructorOptions;
17913
+ type CallbackResponse = Electron.CallbackResponse;
17367
17914
  type CertificateTrustDialogOptions = Electron.CertificateTrustDialogOptions;
17368
17915
  type ClearCodeCachesOptions = Electron.ClearCodeCachesOptions;
17369
17916
  type ClearStorageDataOptions = Electron.ClearStorageDataOptions;
@@ -17393,11 +17940,13 @@ declare namespace Electron {
17393
17940
  type DidRedirectNavigationEvent = Electron.DidRedirectNavigationEvent;
17394
17941
  type DidStartNavigationEvent = Electron.DidStartNavigationEvent;
17395
17942
  type DisplayBalloonOptions = Electron.DisplayBalloonOptions;
17943
+ type DisplayMediaRequestHandlerHandlerRequest = Electron.DisplayMediaRequestHandlerHandlerRequest;
17396
17944
  type EnableNetworkEmulationOptions = Electron.EnableNetworkEmulationOptions;
17397
17945
  type FeedURLOptions = Electron.FeedURLOptions;
17398
17946
  type FileIconOptions = Electron.FileIconOptions;
17399
17947
  type FindInPageOptions = Electron.FindInPageOptions;
17400
17948
  type FocusOptions = Electron.FocusOptions;
17949
+ type ForkOptions = Electron.ForkOptions;
17401
17950
  type FoundInPageEvent = Electron.FoundInPageEvent;
17402
17951
  type FrameCreatedDetails = Electron.FrameCreatedDetails;
17403
17952
  type FromPartitionOptions = Electron.FromPartitionOptions;
@@ -17406,6 +17955,7 @@ declare namespace Electron {
17406
17955
  type HeapStatistics = Electron.HeapStatistics;
17407
17956
  type HidDeviceAddedDetails = Electron.HidDeviceAddedDetails;
17408
17957
  type HidDeviceRemovedDetails = Electron.HidDeviceRemovedDetails;
17958
+ type HidDeviceRevokedDetails = Electron.HidDeviceRevokedDetails;
17409
17959
  type IgnoreMouseEventsOptions = Electron.IgnoreMouseEventsOptions;
17410
17960
  type ImportCertificateOptions = Electron.ImportCertificateOptions;
17411
17961
  type Info = Electron.Info;
@@ -17427,7 +17977,6 @@ declare namespace Electron {
17427
17977
  type MessageDetails = Electron.MessageDetails;
17428
17978
  type MessageEvent = Electron.MessageEvent;
17429
17979
  type MoveToApplicationsFolderOptions = Electron.MoveToApplicationsFolderOptions;
17430
- type NewWindowEvent = Electron.NewWindowEvent;
17431
17980
  type NotificationConstructorOptions = Electron.NotificationConstructorOptions;
17432
17981
  type OnBeforeRedirectListenerDetails = Electron.OnBeforeRedirectListenerDetails;
17433
17982
  type OnBeforeRequestListenerDetails = Electron.OnBeforeRequestListenerDetails;
@@ -17443,6 +17992,7 @@ declare namespace Electron {
17443
17992
  type OpenDialogSyncOptions = Electron.OpenDialogSyncOptions;
17444
17993
  type OpenExternalOptions = Electron.OpenExternalOptions;
17445
17994
  type Options = Electron.Options;
17995
+ type Opts = Electron.Opts;
17446
17996
  type PageFaviconUpdatedEvent = Electron.PageFaviconUpdatedEvent;
17447
17997
  type PageTitleUpdatedEvent = Electron.PageTitleUpdatedEvent;
17448
17998
  type Parameters = Electron.Parameters;
@@ -17469,10 +18019,12 @@ declare namespace Electron {
17469
18019
  type SaveDialogReturnValue = Electron.SaveDialogReturnValue;
17470
18020
  type SaveDialogSyncOptions = Electron.SaveDialogSyncOptions;
17471
18021
  type SelectHidDeviceDetails = Electron.SelectHidDeviceDetails;
18022
+ type SerialPortRevokedDetails = Electron.SerialPortRevokedDetails;
17472
18023
  type Settings = Electron.Settings;
17473
18024
  type SourcesOptions = Electron.SourcesOptions;
17474
18025
  type SSLConfigConfig = Electron.SSLConfigConfig;
17475
18026
  type StartLoggingOptions = Electron.StartLoggingOptions;
18027
+ type Streams = Electron.Streams;
17476
18028
  type SystemMemoryInfo = Electron.SystemMemoryInfo;
17477
18029
  type TitleBarOverlayOptions = Electron.TitleBarOverlayOptions;
17478
18030
  type TitleOptions = Electron.TitleOptions;
@@ -17498,6 +18050,7 @@ declare namespace Electron {
17498
18050
  type WillNavigateEvent = Electron.WillNavigateEvent;
17499
18051
  type WillResizeDetails = Electron.WillResizeDetails;
17500
18052
  type EditFlags = Electron.EditFlags;
18053
+ type Env = Electron.Env;
17501
18054
  type FoundInPageResult = Electron.FoundInPageResult;
17502
18055
  type LaunchItems = Electron.LaunchItems;
17503
18056
  type Margins = Electron.Margins;
@@ -17505,6 +18058,7 @@ declare namespace Electron {
17505
18058
  type PageRanges = Electron.PageRanges;
17506
18059
  type Params = Electron.Params;
17507
18060
  type TitleBarOverlay = Electron.TitleBarOverlay;
18061
+ type Video = Electron.Video;
17508
18062
  type WebPreferences = Electron.WebPreferences;
17509
18063
  type DefaultFontFamily = Electron.DefaultFontFamily;
17510
18064
  type BluetoothDevice = Electron.BluetoothDevice;
@@ -17537,7 +18091,6 @@ declare namespace Electron {
17537
18091
  type MimeTypedBuffer = Electron.MimeTypedBuffer;
17538
18092
  type MouseInputEvent = Electron.MouseInputEvent;
17539
18093
  type MouseWheelInputEvent = Electron.MouseWheelInputEvent;
17540
- type NewWindowWebContentsEvent = Electron.NewWindowWebContentsEvent;
17541
18094
  type NotificationAction = Electron.NotificationAction;
17542
18095
  type NotificationResponse = Electron.NotificationResponse;
17543
18096
  type PaymentDiscount = Electron.PaymentDiscount;
@@ -17591,14 +18144,17 @@ declare namespace Electron {
17591
18144
  const nativeTheme: NativeTheme;
17592
18145
  const net: Net;
17593
18146
  const netLog: NetLog;
18147
+ const parentPort: ParentPort;
17594
18148
  const powerMonitor: PowerMonitor;
17595
18149
  const powerSaveBlocker: PowerSaveBlocker;
17596
18150
  const protocol: Protocol;
18151
+ const pushNotifications: PushNotifications;
17597
18152
  const safeStorage: SafeStorage;
17598
18153
  const screen: Screen;
17599
18154
  const session: typeof Session;
17600
18155
  const shell: Shell;
17601
18156
  const systemPreferences: SystemPreferences;
18157
+ const utilityProcess: typeof UtilityProcess;
17602
18158
  const webContents: typeof WebContents;
17603
18159
  const webFrame: WebFrame;
17604
18160
  const webFrameMain: typeof WebFrameMain;
@@ -17811,6 +18367,11 @@ declare namespace NodeJS {
17811
18367
  * property is used instead of the `--no-deprecation` command line flag.
17812
18368
  */
17813
18369
  noDeprecation: boolean;
18370
+ /**
18371
+ * A `Electron.ParentPort` property if this is a `UtilityProcess` (or `null`
18372
+ * otherwise) allowing communication with the parent process.
18373
+ */
18374
+ parentPort: Electron.ParentPort;
17814
18375
  /**
17815
18376
  * A `string` representing the path to the resources directory.
17816
18377
  *
@@ -17848,9 +18409,10 @@ declare namespace NodeJS {
17848
18409
  * * `browser` - The main process
17849
18410
  * * `renderer` - A renderer process
17850
18411
  * * `worker` - In a web worker
18412
+ * * `utility` - In a node process launched as a service
17851
18413
  *
17852
18414
  */
17853
- readonly type: ('browser' | 'renderer' | 'worker');
18415
+ readonly type: ('browser' | 'renderer' | 'worker' | 'utility');
17854
18416
  /**
17855
18417
  * A `boolean`. If the app is running as a Windows Store app (appx), this property
17856
18418
  * is `true`, for otherwise it is `undefined`.