@overwolf/ow-electron 39.8.12-beta.0 → 42.7.1-beta.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 Electron 39.8.12
1
+ // Type definitions for Electron v42.7.1-beta.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/typescript-definitions
@@ -18,6 +18,33 @@ declare namespace Electron {
18
18
  readonly defaultPrevented: boolean;
19
19
  } & Params;
20
20
 
21
+ interface ActivationArguments {
22
+
23
+ // Docs: https://electronjs.org/docs/api/structures/activation-arguments
24
+
25
+ /**
26
+ * For `'action'` type, the index of the button that was clicked.
27
+ */
28
+ actionIndex?: number;
29
+ /**
30
+ * The raw activation arguments string from Windows.
31
+ */
32
+ arguments: string;
33
+ /**
34
+ * For `'reply'` type, the text the user entered in the reply field.
35
+ */
36
+ reply?: string;
37
+ /**
38
+ * The type of activation that launched the app: `'click'`, `'action'`, or
39
+ * `'reply'`.
40
+ */
41
+ type: string;
42
+ /**
43
+ * A dictionary of all user inputs from the notification.
44
+ */
45
+ userInputs?: Record<string, string>;
46
+ }
47
+
21
48
  interface App extends NodeJS.EventEmitter {
22
49
 
23
50
  // Docs: https://electronjs.org/docs/api/app
@@ -1015,9 +1042,29 @@ declare namespace Electron {
1015
1042
  * This API must be called after the `ready` event is emitted.
1016
1043
  */
1017
1044
  configureHostResolver(options: ConfigureHostResolverOptions): void;
1045
+ /**
1046
+ * Configures platform authenticators for the Web Authentication API
1047
+ * (`navigator.credentials.create()` / `navigator.credentials.get()`). Until this
1048
+ * is called, `PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable()`
1049
+ * resolves to `false` and platform-authenticator requests are not serviced.
1050
+ *
1051
+ * When `touchID` is provided, WebAuthn credentials are stored in the macOS
1052
+ * keychain and bound to this device's Secure Enclave. Electron automatically
1053
+ * generates and persists a per-`session` metadata secret so that credentials
1054
+ * created in one partition are not visible to another.
1055
+ *
1056
+ * With the matching entitlement in your app's `entitlements.plist`:
1057
+ *
1058
+ * > [!NOTE] Touch ID WebAuthn credentials are device-bound and are not synced via
1059
+ * iCloud Keychain. They are only available on Macs with a Secure Enclave (Apple
1060
+ * silicon, or Intel Macs with a T2 chip).
1061
+ *
1062
+ * @platform darwin
1063
+ */
1064
+ configureWebAuthn(options: ConfigureWebAuthnOptions): void;
1018
1065
  /**
1019
1066
  * By default, Chromium disables 3D APIs (e.g. WebGL) until restart on a per domain
1020
- * basis if the GPU processes crashes too frequently. This function disables that
1067
+ * basis if the GPU process crashes too frequently. This function disables that
1021
1068
  * behavior.
1022
1069
  *
1023
1070
  * This method can only be called before app is ready.
@@ -1086,8 +1133,6 @@ declare namespace Electron {
1086
1133
  *
1087
1134
  * This method returns a promise that contains the application name, icon and path
1088
1135
  * of the default handler for the protocol (aka URI scheme) of a URL.
1089
- *
1090
- * @platform darwin,win32
1091
1136
  */
1092
1137
  getApplicationInfoForProtocol(url: string): Promise<Electron.ApplicationInfoForProtocolReturnValue>;
1093
1138
  /**
@@ -1127,7 +1172,7 @@ declare namespace Electron {
1127
1172
  *
1128
1173
  * Fetches a path's associated icon.
1129
1174
  *
1130
- * On _Windows_, there a 2 kinds of icons:
1175
+ * On _Windows_, there are 2 kinds of icons:
1131
1176
  *
1132
1177
  * * Icons associated with certain file extensions, like `.mp3`, `.png`, etc.
1133
1178
  * * Icons inside the file itself, like `.exe`, `.dll`, `.ico`.
@@ -1154,6 +1199,9 @@ declare namespace Electron {
1154
1199
  *
1155
1200
  * Using `basic` should be preferred if only basic information like `vendorId` or
1156
1201
  * `deviceId` is needed.
1202
+ *
1203
+ * Promise is rejected if the GPU is completely disabled, i.e. no hardware and
1204
+ * software implementations are available.
1157
1205
  */
1158
1206
  getGPUInfo(infoType: 'basic' | 'complete'): Promise<unknown>;
1159
1207
  /**
@@ -1244,7 +1292,7 @@ declare namespace Electron {
1244
1292
  * A path to a special directory or file associated with `name`. On failure, an
1245
1293
  * `Error` is thrown.
1246
1294
  *
1247
- * If `app.getPath('logs')` is called without called `app.setAppLogsPath()` being
1295
+ * If `app.getPath('logs')` is called without calling `app.setAppLogsPath()` being
1248
1296
  * called first, a default log directory will be created equivalent to calling
1249
1297
  * `app.setAppLogsPath()` without a `path` parameter.
1250
1298
  */
@@ -1280,7 +1328,7 @@ declare namespace Electron {
1280
1328
  * preferred system language has no country code, and that one of the preferred
1281
1329
  * system languages corresponds with the language used for the regional format. On
1282
1330
  * macOS, the region serves more as a default country code: the user doesn't need
1283
- * to have Finnish as a preferred language to use Finland as the region,and the
1331
+ * to have Finnish as a preferred language to use Finland as the region, and the
1284
1332
  * country code `FI` is used as the country code for preferred system languages
1285
1333
  * that do not have associated countries in the language name.
1286
1334
  */
@@ -1357,6 +1405,12 @@ declare namespace Electron {
1357
1405
  * @platform darwin,win32
1358
1406
  */
1359
1407
  isAccessibilitySupportEnabled(): boolean;
1408
+ /**
1409
+ * `true` if the application is active (i.e. focused).
1410
+ *
1411
+ * @platform darwin
1412
+ */
1413
+ isActive(): boolean;
1360
1414
  /**
1361
1415
  * Whether the current executable is the default handler for a protocol (aka URI
1362
1416
  * scheme).
@@ -1646,6 +1700,22 @@ declare namespace Electron {
1646
1700
  * for `hostname`.
1647
1701
  */
1648
1702
  setClientCertRequestPasswordHandler(handler: (clientCertRequestParams: ClientCertRequestParams) => Promise<string>): void;
1703
+ /**
1704
+ * Sets the `.desktop` filename on Linux. This should match the base filename of
1705
+ * the app's installed `.desktop` file. The `.desktop` suffix is optional.
1706
+ *
1707
+ * This value is used to determine the default XDG application ID on Wayland and
1708
+ * `WM_CLASS` on X11. If it is not set, Electron will attempt to infer a name, but
1709
+ * it may not match the packaged app's actual `.desktop` file. This could result in
1710
+ * the app showing a generic icon or failing to respond to global keyboard
1711
+ * shortcuts.
1712
+ *
1713
+ * This API must be called before the `ready` event. The value can also be set
1714
+ * using `desktopName` in `package.json`.
1715
+ *
1716
+ * @platform linux
1717
+ */
1718
+ setDesktopName(name: string): void;
1649
1719
  /**
1650
1720
  * Sets or removes a custom Jump List for the application, and returns one of the
1651
1721
  * following strings:
@@ -1742,6 +1812,26 @@ declare namespace Electron {
1742
1812
  * @platform darwin
1743
1813
  */
1744
1814
  setSecureKeyboardEntryEnabled(enabled: boolean): void;
1815
+ /**
1816
+ * Changes the Toast Activator CLSID to `id`. If one is not set via this method, it
1817
+ * will be randomly generated for the app.
1818
+ *
1819
+ * * The value must be a valid GUID/CLSID in one of the following forms:
1820
+ * * Canonical brace-wrapped: `{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}`
1821
+ * (preferred)
1822
+ * * Canonical without braces: `XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX` (braces
1823
+ * will be added automatically)
1824
+ * * Hex digits are case-insensitive.
1825
+ *
1826
+ * This method should be called early (before showing notifications) so the value
1827
+ * is baked into the registration/shortcut. Supplying an empty string or an
1828
+ * unparsable value throws and leaves the existing (or generated) CLSID unchanged.
1829
+ * If this method is never called, a random CLSID is generated once per run and
1830
+ * exposed via `app.toastActivatorCLSID`.
1831
+ *
1832
+ * @platform win32
1833
+ */
1834
+ setToastActivatorCLSID(id: string): void;
1745
1835
  /**
1746
1836
  * Creates an `NSUserActivity` and sets it as the current activity. The activity is
1747
1837
  * eligible for Handoff to another device afterward.
@@ -1888,6 +1978,12 @@ declare namespace Electron {
1888
1978
  * @platform darwin,win32
1889
1979
  */
1890
1980
  readonly runningUnderARM64Translation: boolean;
1981
+ /**
1982
+ * A `string` property that returns the app's Toast Activator CLSID.
1983
+ *
1984
+ * @platform win32
1985
+ */
1986
+ readonly toastActivatorCLSID: string;
1891
1987
  /**
1892
1988
  * A `string` which is the user agent string Electron will use as a global
1893
1989
  * fallback.
@@ -2149,6 +2245,10 @@ declare namespace Electron {
2149
2245
  removeListener(event: 'maximize', listener: () => void): this;
2150
2246
  /**
2151
2247
  * Emitted when the window is minimized.
2248
+ *
2249
+ * > [!NOTE] On Wayland, “minimized” is not currently a supported state. The
2250
+ * minimize event will only fire when triggered by client-side decoration (e.g.
2251
+ * clicking the minimize button on a frameless window’s Window Control Overlay)
2152
2252
  */
2153
2253
  on(event: 'minimize', listener: () => void): this;
2154
2254
  off(event: 'minimize', listener: () => void): this;
@@ -2934,7 +3034,7 @@ declare namespace Electron {
2934
3034
  * hiding titlebar buttons.
2935
3035
  *
2936
3036
  * This API returns whether the window is in tablet mode, and the `resize` event
2937
- * can be be used to listen to changes to tablet mode.
3037
+ * can be used to listen to changes to tablet mode.
2938
3038
  *
2939
3039
  * @platform win32
2940
3040
  */
@@ -4328,6 +4428,10 @@ declare namespace Electron {
4328
4428
  removeListener(event: 'maximize', listener: () => void): this;
4329
4429
  /**
4330
4430
  * Emitted when the window is minimized.
4431
+ *
4432
+ * > [!NOTE] On Wayland, “minimized” is not currently a supported state. The
4433
+ * minimize event will only fire when triggered by client-side decoration (e.g.
4434
+ * clicking the minimize button on a frameless window’s Window Control Overlay)
4331
4435
  */
4332
4436
  on(event: 'minimize', listener: () => void): this;
4333
4437
  off(event: 'minimize', listener: () => void): this;
@@ -4336,6 +4440,10 @@ declare namespace Electron {
4336
4440
  removeListener(event: 'minimize', listener: () => void): this;
4337
4441
  /**
4338
4442
  * Emitted when the window is minimized.
4443
+ *
4444
+ * > [!NOTE] On Wayland, “minimized” is not currently a supported state. The
4445
+ * minimize event will only fire when triggered by client-side decoration (e.g.
4446
+ * clicking the minimize button on a frameless window’s Window Control Overlay)
4339
4447
  */
4340
4448
  on(event: 'minimize', listener: () => void): this;
4341
4449
  off(event: 'minimize', listener: () => void): this;
@@ -5668,7 +5776,7 @@ declare namespace Electron {
5668
5776
  * hiding titlebar buttons.
5669
5777
  *
5670
5778
  * This API returns whether the window is in tablet mode, and the `resize` event
5671
- * can be be used to listen to changes to tablet mode.
5779
+ * can be used to listen to changes to tablet mode.
5672
5780
  *
5673
5781
  * @platform win32
5674
5782
  */
@@ -6722,7 +6830,7 @@ declare namespace Electron {
6722
6830
  * Cancels an ongoing HTTP transaction. If the request has already emitted the
6723
6831
  * `close` event, the abort operation will have no effect. Otherwise an ongoing
6724
6832
  * event will emit `abort` and `close` events. Additionally, if there is an ongoing
6725
- * response object,it will emit the `aborted` event.
6833
+ * response object, it will emit the `aborted` event.
6726
6834
  */
6727
6835
  abort(): void;
6728
6836
  /**
@@ -6994,6 +7102,36 @@ declare namespace Electron {
6994
7102
 
6995
7103
  // Docs: https://electronjs.org/docs/api/content-tracing
6996
7104
 
7105
+ /**
7106
+ * Resolves once heap profiling has been enabled.
7107
+ *
7108
+ * Enable heap profiling for MemoryInfra traces. Equivalent to the `--memlog`
7109
+ * switch in Chrome.
7110
+ *
7111
+ * Only takes effect if the `disabled-by-default-memory-infra` category is
7112
+ * included.
7113
+ *
7114
+ * Needs to be called before `contentTracing.startRecording()`.
7115
+ *
7116
+ * Usage:
7117
+ *
7118
+ * To view the recorded heap dumps:
7119
+ *
7120
+ * * Download the breakpad symbols for your Electron version from the Electron
7121
+ * GitHub releases
7122
+ * * Clone the Electron source code
7123
+ * * In your Chromium checkout for Electron, run this command to symbolicate the
7124
+ * heap dump:
7125
+ * * Open the symbolicated trace in `chrome://tracing` (the Perfetto UI does not
7126
+ * support memory dumps yet)
7127
+ * * Click on one of the `M` symbols
7128
+ * * Click on a `☰` triple bar icon (e.g., in the `malloc` column)
7129
+ *
7130
+ * [Image: Screenshot showing how to view a heapdump in Chromium's tracing view]
7131
+ *
7132
+ * @experimental
7133
+ */
7134
+ enableHeapProfiling(options?: EnableHeapProfilingOptions): Promise<void>;
6997
7135
  /**
6998
7136
  * resolves with an array of category groups once all child processes have
6999
7137
  * acknowledged the `getCategories` request
@@ -7130,7 +7268,7 @@ declare namespace Electron {
7130
7268
  /**
7131
7269
  * The cause of the change with one of the following values:
7132
7270
  */
7133
- cause: ('explicit' | 'overwrite' | 'expired' | 'evicted' | 'expired-overwrite'),
7271
+ cause: ('inserted' | 'inserted-no-change-overwrite' | 'inserted-no-value-change-overwrite' | 'explicit' | 'overwrite' | 'expired' | 'evicted' | 'expired-overwrite'),
7134
7272
  /**
7135
7273
  * `true` if the cookie was removed, `false` otherwise.
7136
7274
  */
@@ -7143,7 +7281,7 @@ declare namespace Electron {
7143
7281
  /**
7144
7282
  * The cause of the change with one of the following values:
7145
7283
  */
7146
- cause: ('explicit' | 'overwrite' | 'expired' | 'evicted' | 'expired-overwrite'),
7284
+ cause: ('inserted' | 'inserted-no-change-overwrite' | 'inserted-no-value-change-overwrite' | 'explicit' | 'overwrite' | 'expired' | 'evicted' | 'expired-overwrite'),
7147
7285
  /**
7148
7286
  * `true` if the cookie was removed, `false` otherwise.
7149
7287
  */
@@ -7156,7 +7294,7 @@ declare namespace Electron {
7156
7294
  /**
7157
7295
  * The cause of the change with one of the following values:
7158
7296
  */
7159
- cause: ('explicit' | 'overwrite' | 'expired' | 'evicted' | 'expired-overwrite'),
7297
+ cause: ('inserted' | 'inserted-no-change-overwrite' | 'inserted-no-value-change-overwrite' | 'explicit' | 'overwrite' | 'expired' | 'evicted' | 'expired-overwrite'),
7160
7298
  /**
7161
7299
  * `true` if the cookie was removed, `false` otherwise.
7162
7300
  */
@@ -7169,7 +7307,7 @@ declare namespace Electron {
7169
7307
  /**
7170
7308
  * The cause of the change with one of the following values:
7171
7309
  */
7172
- cause: ('explicit' | 'overwrite' | 'expired' | 'evicted' | 'expired-overwrite'),
7310
+ cause: ('inserted' | 'inserted-no-change-overwrite' | 'inserted-no-value-change-overwrite' | 'explicit' | 'overwrite' | 'expired' | 'evicted' | 'expired-overwrite'),
7173
7311
  /**
7174
7312
  * `true` if the cookie was removed, `false` otherwise.
7175
7313
  */
@@ -7182,18 +7320,18 @@ declare namespace Electron {
7182
7320
  /**
7183
7321
  * The cause of the change with one of the following values:
7184
7322
  */
7185
- cause: ('explicit' | 'overwrite' | 'expired' | 'evicted' | 'expired-overwrite'),
7323
+ cause: ('inserted' | 'inserted-no-change-overwrite' | 'inserted-no-value-change-overwrite' | 'explicit' | 'overwrite' | 'expired' | 'evicted' | 'expired-overwrite'),
7186
7324
  /**
7187
7325
  * `true` if the cookie was removed, `false` otherwise.
7188
7326
  */
7189
7327
  removed: boolean) => void): this;
7190
7328
  /**
7191
- * A promise which resolves when the cookie store has been flushed
7329
+ * A promise which resolves when the cookie store has been flushed.
7192
7330
  *
7193
- * Writes any unwritten cookies data to disk
7331
+ * Writes any unwritten cookies data to disk.
7194
7332
  *
7195
7333
  * Cookies written by any method will not be written to disk immediately, but will
7196
- * be written every 30 seconds or 512 operations
7334
+ * be written every 30 seconds or 512 operations.
7197
7335
  *
7198
7336
  * Calling this method can cause the cookie to be written to disk immediately.
7199
7337
  */
@@ -7206,13 +7344,13 @@ declare namespace Electron {
7206
7344
  */
7207
7345
  get(filter: CookiesGetFilter): Promise<Electron.Cookie[]>;
7208
7346
  /**
7209
- * A promise which resolves when the cookie has been removed
7347
+ * A promise which resolves when the cookie has been removed.
7210
7348
  *
7211
- * Removes the cookies matching `url` and `name`
7349
+ * Removes the cookies matching `url` and `name`.
7212
7350
  */
7213
7351
  remove(url: string, name: string): Promise<void>;
7214
7352
  /**
7215
- * A promise which resolves when the cookie has been set
7353
+ * A promise which resolves when the cookie has been set.
7216
7354
  *
7217
7355
  * Sets a cookie with `details`.
7218
7356
  */
@@ -7352,7 +7490,7 @@ declare namespace Electron {
7352
7490
 
7353
7491
  /**
7354
7492
  * Emitted when the debugging session is terminated. This happens either when
7355
- * `webContents` is closed or devtools is invoked for the attached `webContents`.
7493
+ * `webContents` is closed or DevTools is invoked for the attached `webContents`.
7356
7494
  */
7357
7495
  on(event: 'detach', listener: (event: Event,
7358
7496
  /**
@@ -7582,8 +7720,8 @@ declare namespace Electron {
7582
7720
  *
7583
7721
  * This API can be called safely before the `ready` event the `app` module emits,
7584
7722
  * it is usually used to report errors in early stage of startup. If called before
7585
- * the app `ready`event on Linux, the message will be emitted to stderr, and no GUI
7586
- * dialog will appear.
7723
+ * the app `ready` event on Linux, the message will be emitted to stderr, and no
7724
+ * GUI dialog will appear.
7587
7725
  */
7588
7726
  showErrorBox(title: string, content: string): void;
7589
7727
  /**
@@ -7838,9 +7976,9 @@ declare namespace Electron {
7838
7976
  */
7839
7977
  displayFrequency: number;
7840
7978
  /**
7841
- * Unique identifier associated with the display. A value of of -1 means the
7842
- * display is invalid or the correct `id` is not yet known, and a value of -10
7843
- * means the display is a virtual display assigned to a unified desktop.
7979
+ * Unique identifier associated with the display. A value of -1 means the display
7980
+ * is invalid or the correct `id` is not yet known, and a value of -10 means the
7981
+ * display is a virtual display assigned to a unified desktop.
7844
7982
  */
7845
7983
  id: number;
7846
7984
  /**
@@ -8174,6 +8312,32 @@ declare namespace Electron {
8174
8312
  savePath: string;
8175
8313
  }
8176
8314
 
8315
+ interface EnableHeapProfilingOptions {
8316
+
8317
+ // Docs: https://electronjs.org/docs/api/structures/enable-heap-profiling-options
8318
+
8319
+ /**
8320
+ * Controls which processes are profiled. Equivalent to `--memlog` in Chrome.
8321
+ * Default is `all`.
8322
+ */
8323
+ mode?: ('all' | 'browser' | 'gpu' | 'minimal' | 'renderer-sampling' | 'all-renderers' | 'utility-sampling' | 'all-utilities' | 'utility-and-browser');
8324
+ /**
8325
+ * Controls the sampling interval in bytes. The lower the interval, the more
8326
+ * precise the profile is. However it comes at the cost of performance. Default is
8327
+ * `100000` (100KB). That is enough to observe allocation sites that make
8328
+ * allocations >500KB total, where total equals to a single allocation size times
8329
+ * the number of such allocations at the same call site. Equivalent to
8330
+ * `--memlog-sampling-rate` in Chrome. Must be an integer between `1000` and
8331
+ * `10000000`.
8332
+ */
8333
+ samplingRate?: number;
8334
+ /**
8335
+ * Controls the type of metadata recorded for each allocation. Equivalent to
8336
+ * `--memlog-stack-mode` in Chrome. Default is `native`.
8337
+ */
8338
+ stackMode?: ('native' | 'native-with-thread-names');
8339
+ }
8340
+
8177
8341
  interface Extension {
8178
8342
 
8179
8343
  // Docs: https://electronjs.org/docs/api/structures/extension
@@ -8353,6 +8517,10 @@ declare namespace Electron {
8353
8517
  * don't want applications to fight for global shortcuts.
8354
8518
  */
8355
8519
  isRegistered(accelerator: string): boolean;
8520
+ /**
8521
+ * Whether global shortcut handling is currently suspended.
8522
+ */
8523
+ isSuspended(): boolean;
8356
8524
  /**
8357
8525
  * Whether or not the shortcut was registered successfully.
8358
8526
  *
@@ -8390,6 +8558,17 @@ declare namespace Electron {
8390
8558
  * * "Media Stop"
8391
8559
  */
8392
8560
  registerAll(accelerators: string[], callback: () => void): void;
8561
+ /**
8562
+ * Suspends or resumes global shortcut handling. When suspended, all registered
8563
+ * global shortcuts will stop listening for key presses. When resumed, all
8564
+ * previously registered shortcuts will begin listening again. New shortcut
8565
+ * registrations will fail while handling is suspended.
8566
+ *
8567
+ * This can be useful when you want to temporarily allow the user to press key
8568
+ * combinations without your application intercepting them, for example while
8569
+ * displaying a UI to rebind shortcuts.
8570
+ */
8571
+ setSuspended(suspended: boolean): void;
8393
8572
  /**
8394
8573
  * Unregisters the global shortcut of `accelerator`.
8395
8574
  */
@@ -8643,9 +8822,9 @@ declare namespace Electron {
8643
8822
  removeListener(event: 'end', listener: () => void): this;
8644
8823
  /**
8645
8824
  * Emitted when an error was encountered while streaming response data events. For
8646
- * instance, if the server closes the underlying while the response is still
8647
- * streaming, an `error` event will be emitted on the response object and a `close`
8648
- * event will subsequently follow on the request object.
8825
+ * instance, if the server closes the underlying connection while the response is
8826
+ * still streaming, an `error` event will be emitted on the response object and a
8827
+ * `close` event will subsequently follow on the request object.
8649
8828
  */
8650
8829
  on(event: 'error', listener: (
8651
8830
  /**
@@ -9342,15 +9521,14 @@ declare namespace Electron {
9342
9521
  * opens the associated menu. The indicated character in the button label then gets
9343
9522
  * an underline, and the `&` character is not displayed on the button label.
9344
9523
  *
9345
- * In order to escape the `&` character in an item name, add a proceeding `&`. For
9524
+ * In order to escape the `&` character in an item name, add a preceding `&`. For
9346
9525
  * example, `&&File` would result in `&File` displayed on the button label.
9347
9526
  *
9348
9527
  * Passing `null` will suppress the default menu. On Windows and Linux, this has
9349
9528
  * the additional effect of removing the menu bar from the window.
9350
9529
  *
9351
9530
  * > [!NOTE] The default menu will be created automatically if the app does not set
9352
- * one. It contains standard items such as `File`, `Edit`, `View`, `Window` and
9353
- * `Help`.
9531
+ * one. It contains standard items such as `File`, `Edit`, `View`, and `Window`.
9354
9532
  */
9355
9533
  static setApplicationMenu(menu: (Menu) | (null)): void;
9356
9534
  /**
@@ -9397,8 +9575,9 @@ declare namespace Electron {
9397
9575
  */
9398
9576
  accelerator: (Accelerator) | (null);
9399
9577
  /**
9400
- * A `boolean` indicating whether the item is checked. This property can be
9401
- * dynamically changed.
9578
+ * A `boolean` indicating whether the item is checked.
9579
+ *
9580
+ * This property can be dynamically changed.
9402
9581
  *
9403
9582
  * A `checkbox` menu item will toggle the `checked` property on and off when
9404
9583
  * selected.
@@ -9423,21 +9602,27 @@ declare namespace Electron {
9423
9602
  */
9424
9603
  commandId: number;
9425
9604
  /**
9426
- * A `boolean` indicating whether the item is enabled. This property can be
9427
- * dynamically changed.
9605
+ * A `boolean` indicating whether the item is enabled.
9606
+ *
9607
+ * This property can be dynamically changed.
9428
9608
  */
9429
9609
  enabled: boolean;
9430
9610
  /**
9431
9611
  * A `NativeImage | string` (optional) indicating the item's icon, if set.
9612
+ *
9613
+ * This property can be dynamically changed.
9432
9614
  */
9433
9615
  icon?: (NativeImage) | (string);
9434
9616
  /**
9435
- * A `string` indicating the item's unique id. This property can be dynamically
9436
- * changed.
9617
+ * A `string` indicating the item's unique id.
9618
+ *
9619
+ * This property can be dynamically changed.
9437
9620
  */
9438
9621
  id: string;
9439
9622
  /**
9440
9623
  * A `string` indicating the item's visible label.
9624
+ *
9625
+ * This property can be dynamically changed.
9441
9626
  */
9442
9627
  label: string;
9443
9628
  /**
@@ -9473,6 +9658,8 @@ declare namespace Electron {
9473
9658
  sharingItem: SharingItem;
9474
9659
  /**
9475
9660
  * A `string` indicating the item's sublabel.
9661
+ *
9662
+ * This property can be dynamically changed.
9476
9663
  */
9477
9664
  sublabel: string;
9478
9665
  /**
@@ -9505,8 +9692,9 @@ declare namespace Electron {
9505
9692
  */
9506
9693
  readonly userAccelerator: (Accelerator) | (null);
9507
9694
  /**
9508
- * A `boolean` indicating whether the item is visible. This property can be
9509
- * dynamically changed.
9695
+ * A `boolean` indicating whether the item is visible.
9696
+ *
9697
+ * This property can be dynamically changed.
9510
9698
  */
9511
9699
  visible: boolean;
9512
9700
  }
@@ -9805,11 +9993,19 @@ declare namespace Electron {
9805
9993
  */
9806
9994
  readonly inForcedColorsMode: boolean;
9807
9995
  /**
9808
- * A `boolean` that indicates the whether the user has chosen via system
9809
- * accessibility settings to reduce transparency at the OS level.
9996
+ * A `boolean` that indicates whether the user has chosen via system accessibility
9997
+ * settings to reduce transparency at the OS level.
9810
9998
  *
9811
9999
  */
9812
10000
  readonly prefersReducedTransparency: boolean;
10001
+ /**
10002
+ * A `boolean` that indicates whether the user prefers UI that differentiates items
10003
+ * using something other than color alone (e.g. shapes or labels). This maps to
10004
+ * NSWorkspace.accessibilityDisplayShouldDifferentiateWithoutColor.
10005
+ *
10006
+ * @platform darwin
10007
+ */
10008
+ readonly shouldDifferentiateWithoutColor: boolean;
9813
10009
  /**
9814
10010
  * A `boolean` for if the OS / Chromium currently has a dark mode enabled or is
9815
10011
  * being instructed to show a dark-style UI. If you want to modify this value you
@@ -9853,7 +10049,7 @@ declare namespace Electron {
9853
10049
  *
9854
10050
  * * `nativeTheme.shouldUseDarkColors` will be `true` when accessed
9855
10051
  * * Any UI Electron renders on Linux and Windows including context menus,
9856
- * devtools, etc. will use the dark UI.
10052
+ * DevTools, etc. will use the dark UI.
9857
10053
  * * Any UI the OS renders on macOS including menus, window frames, etc. will use
9858
10054
  * the dark UI.
9859
10055
  * * The `prefers-color-scheme` CSS query will match `dark` mode.
@@ -9863,7 +10059,7 @@ declare namespace Electron {
9863
10059
  *
9864
10060
  * * `nativeTheme.shouldUseDarkColors` will be `false` when accessed
9865
10061
  * * Any UI Electron renders on Linux and Windows including context menus,
9866
- * devtools, etc. will use the light UI.
10062
+ * DevTools, etc. will use the light UI.
9867
10063
  * * Any UI the OS renders on macOS including menus, window frames, etc. will use
9868
10064
  * the light UI.
9869
10065
  * * The `prefers-color-scheme` CSS query will match `light` mode.
@@ -10035,6 +10231,14 @@ declare namespace Electron {
10035
10231
  *
10036
10232
  */
10037
10233
  readonly online: boolean;
10234
+ /**
10235
+ * > [!NOTE] This property is only available in the main process.
10236
+ *
10237
+ * A `typeof WebSocket` reference to the `WebSocket` class, which can be used to
10238
+ * create WHATWG-compatible WebSocket connections through Chromium's network stack
10239
+ * from the main process.
10240
+ */
10241
+ WebSocket: typeof WebSocket;
10038
10242
  }
10039
10243
 
10040
10244
  interface NetLog {
@@ -10067,45 +10271,70 @@ declare namespace Electron {
10067
10271
  // Docs: https://electronjs.org/docs/api/notification
10068
10272
 
10069
10273
  /**
10070
- * @platform darwin
10274
+ * @platform darwin,win32
10071
10275
  */
10072
- on(event: 'action', listener: (event: Event,
10276
+ on(event: 'action', listener: (details: Event<NotificationActionEventParams>,
10277
+ /**
10278
+ * @deprecated
10279
+ */
10280
+ actionIndex: number,
10073
10281
  /**
10074
- * The index of the action that was activated.
10282
+ * @deprecated
10283
+ * @platform win32
10075
10284
  */
10076
- index: number) => void): this;
10285
+ selectionIndex: number) => void): this;
10077
10286
  /**
10078
- * @platform darwin
10287
+ * @platform darwin,win32
10079
10288
  */
10080
- off(event: 'action', listener: (event: Event,
10289
+ off(event: 'action', listener: (details: Event<NotificationActionEventParams>,
10290
+ /**
10291
+ * @deprecated
10292
+ */
10293
+ actionIndex: number,
10081
10294
  /**
10082
- * The index of the action that was activated.
10295
+ * @deprecated
10296
+ * @platform win32
10083
10297
  */
10084
- index: number) => void): this;
10298
+ selectionIndex: number) => void): this;
10085
10299
  /**
10086
- * @platform darwin
10300
+ * @platform darwin,win32
10087
10301
  */
10088
- once(event: 'action', listener: (event: Event,
10302
+ once(event: 'action', listener: (details: Event<NotificationActionEventParams>,
10303
+ /**
10304
+ * @deprecated
10305
+ */
10306
+ actionIndex: number,
10089
10307
  /**
10090
- * The index of the action that was activated.
10308
+ * @deprecated
10309
+ * @platform win32
10091
10310
  */
10092
- index: number) => void): this;
10311
+ selectionIndex: number) => void): this;
10093
10312
  /**
10094
- * @platform darwin
10313
+ * @platform darwin,win32
10095
10314
  */
10096
- addListener(event: 'action', listener: (event: Event,
10315
+ addListener(event: 'action', listener: (details: Event<NotificationActionEventParams>,
10316
+ /**
10317
+ * @deprecated
10318
+ */
10319
+ actionIndex: number,
10097
10320
  /**
10098
- * The index of the action that was activated.
10321
+ * @deprecated
10322
+ * @platform win32
10099
10323
  */
10100
- index: number) => void): this;
10324
+ selectionIndex: number) => void): this;
10101
10325
  /**
10102
- * @platform darwin
10326
+ * @platform darwin,win32
10103
10327
  */
10104
- removeListener(event: 'action', listener: (event: Event,
10328
+ removeListener(event: 'action', listener: (details: Event<NotificationActionEventParams>,
10329
+ /**
10330
+ * @deprecated
10331
+ */
10332
+ actionIndex: number,
10105
10333
  /**
10106
- * The index of the action that was activated.
10334
+ * @deprecated
10335
+ * @platform win32
10107
10336
  */
10108
- index: number) => void): this;
10337
+ selectionIndex: number) => void): this;
10109
10338
  /**
10110
10339
  * Emitted when the notification is clicked by the user.
10111
10340
  */
@@ -10127,16 +10356,16 @@ declare namespace Electron {
10127
10356
  * notification from the action center but the `close` event will not be emitted
10128
10357
  * again.
10129
10358
  */
10130
- on(event: 'close', listener: (event: Event) => void): this;
10131
- off(event: 'close', listener: (event: Event) => void): this;
10132
- once(event: 'close', listener: (event: Event) => void): this;
10133
- addListener(event: 'close', listener: (event: Event) => void): this;
10134
- removeListener(event: 'close', listener: (event: Event) => void): this;
10359
+ on(event: 'close', listener: (details: Event<NotificationCloseEventParams>) => void): this;
10360
+ off(event: 'close', listener: (details: Event<NotificationCloseEventParams>) => void): this;
10361
+ once(event: 'close', listener: (details: Event<NotificationCloseEventParams>) => void): this;
10362
+ addListener(event: 'close', listener: (details: Event<NotificationCloseEventParams>) => void): this;
10363
+ removeListener(event: 'close', listener: (details: Event<NotificationCloseEventParams>) => void): this;
10135
10364
  /**
10136
10365
  * Emitted when an error is encountered while creating and showing the native
10137
10366
  * notification.
10138
10367
  *
10139
- * @platform win32
10368
+ * @platform darwin,win32
10140
10369
  */
10141
10370
  on(event: 'failed', listener: (event: Event,
10142
10371
  /**
@@ -10144,7 +10373,7 @@ declare namespace Electron {
10144
10373
  */
10145
10374
  error: string) => void): this;
10146
10375
  /**
10147
- * @platform win32
10376
+ * @platform darwin,win32
10148
10377
  */
10149
10378
  off(event: 'failed', listener: (event: Event,
10150
10379
  /**
@@ -10152,7 +10381,7 @@ declare namespace Electron {
10152
10381
  */
10153
10382
  error: string) => void): this;
10154
10383
  /**
10155
- * @platform win32
10384
+ * @platform darwin,win32
10156
10385
  */
10157
10386
  once(event: 'failed', listener: (event: Event,
10158
10387
  /**
@@ -10160,7 +10389,7 @@ declare namespace Electron {
10160
10389
  */
10161
10390
  error: string) => void): this;
10162
10391
  /**
10163
- * @platform win32
10392
+ * @platform darwin,win32
10164
10393
  */
10165
10394
  addListener(event: 'failed', listener: (event: Event,
10166
10395
  /**
@@ -10168,7 +10397,7 @@ declare namespace Electron {
10168
10397
  */
10169
10398
  error: string) => void): this;
10170
10399
  /**
10171
- * @platform win32
10400
+ * @platform darwin,win32
10172
10401
  */
10173
10402
  removeListener(event: 'failed', listener: (event: Event,
10174
10403
  /**
@@ -10179,43 +10408,43 @@ declare namespace Electron {
10179
10408
  * Emitted when the user clicks the "Reply" button on a notification with
10180
10409
  * `hasReply: true`.
10181
10410
  *
10182
- * @platform darwin
10411
+ * @platform darwin,win32
10183
10412
  */
10184
- on(event: 'reply', listener: (event: Event,
10413
+ on(event: 'reply', listener: (details: Event<NotificationReplyEventParams>,
10185
10414
  /**
10186
- * The string the user entered into the inline reply field.
10415
+ * @deprecated
10187
10416
  */
10188
10417
  reply: string) => void): this;
10189
10418
  /**
10190
- * @platform darwin
10419
+ * @platform darwin,win32
10191
10420
  */
10192
- off(event: 'reply', listener: (event: Event,
10421
+ off(event: 'reply', listener: (details: Event<NotificationReplyEventParams>,
10193
10422
  /**
10194
- * The string the user entered into the inline reply field.
10423
+ * @deprecated
10195
10424
  */
10196
10425
  reply: string) => void): this;
10197
10426
  /**
10198
- * @platform darwin
10427
+ * @platform darwin,win32
10199
10428
  */
10200
- once(event: 'reply', listener: (event: Event,
10429
+ once(event: 'reply', listener: (details: Event<NotificationReplyEventParams>,
10201
10430
  /**
10202
- * The string the user entered into the inline reply field.
10431
+ * @deprecated
10203
10432
  */
10204
10433
  reply: string) => void): this;
10205
10434
  /**
10206
- * @platform darwin
10435
+ * @platform darwin,win32
10207
10436
  */
10208
- addListener(event: 'reply', listener: (event: Event,
10437
+ addListener(event: 'reply', listener: (details: Event<NotificationReplyEventParams>,
10209
10438
  /**
10210
- * The string the user entered into the inline reply field.
10439
+ * @deprecated
10211
10440
  */
10212
10441
  reply: string) => void): this;
10213
10442
  /**
10214
- * @platform darwin
10443
+ * @platform darwin,win32
10215
10444
  */
10216
- removeListener(event: 'reply', listener: (event: Event,
10445
+ removeListener(event: 'reply', listener: (details: Event<NotificationReplyEventParams>,
10217
10446
  /**
10218
- * The string the user entered into the inline reply field.
10447
+ * @deprecated
10219
10448
  */
10220
10449
  reply: string) => void): this;
10221
10450
  /**
@@ -10232,10 +10461,87 @@ declare namespace Electron {
10232
10461
  * Notification
10233
10462
  */
10234
10463
  constructor(options?: NotificationConstructorOptions);
10464
+ /**
10465
+ * Resolves with an array of `Notification` objects representing all delivered
10466
+ * notifications still present in Notification Center.
10467
+ *
10468
+ * Each returned `Notification` is a live object connected to the corresponding
10469
+ * delivered notification. Interaction events (`click`, `reply`, `action`, `close`)
10470
+ * will fire on these objects when the user interacts with the notification in
10471
+ * Notification Center. This is useful after an app restart to re-attach event
10472
+ * handlers to notifications from a previous session.
10473
+ *
10474
+ * The returned notifications have their `id`, `groupId`, `title`, `subtitle`, and
10475
+ * `body` properties populated from information available in the Notification
10476
+ * Center. Other properties (e.g., `actions`, `silent`, `icon`) are not available
10477
+ * from delivered notifications and will have default values.
10478
+ *
10479
+ * > [!NOTE] Like all macOS notification APIs, this method requires the application
10480
+ * to be code-signed. In unsigned development builds, notifications are not
10481
+ * delivered to Notification Center and this method will resolve with an empty
10482
+ * array.
10483
+ *
10484
+ * > [!NOTE] Unlike notifications created with `new Notification()`, notifications
10485
+ * returned by `getHistory()` will remain visible in Notification Center when the
10486
+ * object is garbage collected. Calling `show()` on a restored notification will
10487
+ * remove the original from Notification Center and post a new one with the same
10488
+ * properties.
10489
+ *
10490
+ * @platform darwin
10491
+ */
10492
+ static getHistory(): Promise<Electron.Notification[]>;
10493
+ /**
10494
+ * Registers a callback to handle all notification activations. The callback is
10495
+ * invoked whenever a notification is clicked, replied to, or has an action button
10496
+ * pressed - regardless of whether the original `Notification` object is still in
10497
+ * memory.
10498
+ *
10499
+ * This method handles timing automatically:
10500
+ *
10501
+ * * If an activation already occurred before calling this method, the callback is
10502
+ * invoked immediately with those details.
10503
+ * * For all subsequent activations, the callback is invoked when they occur.
10504
+ *
10505
+ * The callback remains registered until replaced by another call to
10506
+ * `handleActivation`.
10507
+ *
10508
+ * This provides a centralized way to handle notification interactions that works
10509
+ * in all scenarios:
10510
+ *
10511
+ * * Cold start (app launched from notification click)
10512
+ * * Notifications persisted in AC that have no in-memory representation after app
10513
+ * re-start
10514
+ * * Notification object was garbage collected
10515
+ * * Notification object is still in memory (callback is invoked in addition to
10516
+ * instance events)
10517
+ *
10518
+ * @platform win32
10519
+ */
10520
+ static handleActivation(callback: (details: ActivationArguments) => void): void;
10235
10521
  /**
10236
10522
  * Whether or not desktop notifications are supported on the current system
10237
10523
  */
10238
10524
  static isSupported(): boolean;
10525
+ /**
10526
+ * Removes one or more delivered notifications from Notification Center by their
10527
+ * identifier(s).
10528
+ *
10529
+ * @platform darwin
10530
+ */
10531
+ static remove(id: (string) | (string[])): void;
10532
+ /**
10533
+ * Removes all of the app's delivered notifications from Notification Center.
10534
+ *
10535
+ * @platform darwin
10536
+ */
10537
+ static removeAll(): void;
10538
+ /**
10539
+ * Removes all delivered notifications with the given `groupId` from Notification
10540
+ * Center.
10541
+ *
10542
+ * @platform darwin
10543
+ */
10544
+ static removeGroup(groupId: string): void;
10239
10545
  /**
10240
10546
  * Dismisses the notification.
10241
10547
  *
@@ -10253,6 +10559,10 @@ declare namespace Electron {
10253
10559
  *
10254
10560
  * If the notification has been shown before, this method will dismiss the
10255
10561
  * previously shown notification and create a new one with identical properties.
10562
+ *
10563
+ * On macOS, calling `show()` on a notification returned by
10564
+ * `Notification.getHistory()` will remove the original notification from
10565
+ * Notification Center and post a new one with the same properties.
10256
10566
  */
10257
10567
  show(): void;
10258
10568
  /**
@@ -10267,10 +10577,32 @@ declare namespace Electron {
10267
10577
  * A `string` property representing the close button text of the notification.
10268
10578
  */
10269
10579
  closeButtonText: string;
10580
+ /**
10581
+ * A `string` property representing the group identifier of the notification.
10582
+ * Notifications with the same `groupId` will be visually grouped together in
10583
+ * Notification Center (macOS) or Action Center (Windows).
10584
+ *
10585
+ * @platform darwin,win32
10586
+ */
10587
+ readonly groupId: string;
10588
+ /**
10589
+ * A `string` property representing the title of the notification group header.
10590
+ *
10591
+ * @platform win32
10592
+ */
10593
+ readonly groupTitle: string;
10270
10594
  /**
10271
10595
  * A `boolean` property representing whether the notification has a reply action.
10272
10596
  */
10273
10597
  hasReply: boolean;
10598
+ /**
10599
+ * A `string` property representing the unique identifier of the notification. This
10600
+ * is set at construction time — either from the `id` option or as a generated UUID
10601
+ * if none was provided.
10602
+ *
10603
+ * @platform darwin,win32
10604
+ */
10605
+ readonly id: string;
10274
10606
  /**
10275
10607
  * A `string` property representing the reply placeholder of the notification.
10276
10608
  */
@@ -10322,14 +10654,21 @@ declare namespace Electron {
10322
10654
 
10323
10655
  // Docs: https://electronjs.org/docs/api/structures/notification-action
10324
10656
 
10657
+ /**
10658
+ * The list of items for the `selection` action `type`.
10659
+ *
10660
+ * @platform win32
10661
+ */
10662
+ items?: string[];
10325
10663
  /**
10326
10664
  * The label for the given action.
10327
10665
  */
10328
10666
  text?: string;
10329
10667
  /**
10330
- * The type of action, can be `button`.
10668
+ * The type of action, can be `button` or `selection`. `selection` is only
10669
+ * supported on Windows.
10331
10670
  */
10332
- type: ('button');
10671
+ type: ('button' | 'selection');
10333
10672
  }
10334
10673
 
10335
10674
  interface NotificationResponse {
@@ -11481,16 +11820,28 @@ declare namespace Electron {
11481
11820
  /**
11482
11821
  * the decrypted string. Decrypts the encrypted buffer obtained with
11483
11822
  * `safeStorage.encryptString` back into a string.
11484
- *
11485
- * This function will throw an error if decryption fails.
11486
11823
  */
11487
11824
  decryptString(encrypted: Buffer): string;
11825
+ /**
11826
+ * Resolve with an object containing the following:
11827
+ *
11828
+ * * `shouldReEncrypt` boolean - whether data that has just been returned from the
11829
+ * decrypt operation should be re-encrypted, as the key has been rotated or a new
11830
+ * key is available that provides a different security level. If `true`, you should
11831
+ * call `decryptStringAsync` again to receive the new decrypted string.
11832
+ * * `result` string - the decrypted string.
11833
+ */
11834
+ decryptStringAsync(encrypted: Buffer): Promise<Electron.DecryptStringAsyncReturnValue>;
11488
11835
  /**
11489
11836
  * An array of bytes representing the encrypted string.
11490
11837
  *
11491
11838
  * This function will throw an error if encryption fails.
11492
11839
  */
11493
11840
  encryptString(plainText: string): Buffer;
11841
+ /**
11842
+ * An array of bytes representing the encrypted string.
11843
+ */
11844
+ encryptStringAsync(plainText: string): Promise<Buffer>;
11494
11845
  /**
11495
11846
  * User friendly name of the password manager selected on Linux.
11496
11847
  *
@@ -11513,6 +11864,15 @@ declare namespace Electron {
11513
11864
  * @platform linux
11514
11865
  */
11515
11866
  getSelectedStorageBackend(): ('basic_text' | 'gnome_libsecret' | 'kwallet' | 'kwallet5' | 'kwallet6' | 'unknown');
11867
+ /**
11868
+ * Resolves with whether encryption is available for asynchronous safeStorage
11869
+ * operations.
11870
+ *
11871
+ * The asynchronous encryptor is initialized lazily the first time this method,
11872
+ * `encryptStringAsync`, or `decryptStringAsync` is called after the app is ready.
11873
+ * The returned promise resolves once initialization completes.
11874
+ */
11875
+ isAsyncEncryptionAvailable(): Promise<boolean>;
11516
11876
  /**
11517
11877
  * Whether encryption is available.
11518
11878
  *
@@ -11955,7 +12315,8 @@ declare namespace Electron {
11955
12315
  */
11956
12316
  static fromPath(path: string, options?: FromPathOptions): Session;
11957
12317
  /**
11958
- * A `Session` object, the default session object of the app.
12318
+ * A `Session` object, the default session object of the app, available after
12319
+ * `app.whenReady` is called.
11959
12320
  */
11960
12321
  static defaultSession: Session;
11961
12322
  /**
@@ -12196,6 +12557,37 @@ declare namespace Electron {
12196
12557
  removeListener(event: 'select-usb-device', listener: (event: Event,
12197
12558
  details: SelectUsbDeviceDetails,
12198
12559
  callback: (deviceId?: string) => void) => void): this;
12560
+ /**
12561
+ * Emitted when a call to `navigator.credentials.get()` resolves multiple
12562
+ * discoverable WebAuthn credentials and the user must choose one. `callback`
12563
+ * should be called with the `credentialId` of the selected account; passing no
12564
+ * arguments — or a `credentialId` that does not match one of the provided accounts
12565
+ * — will cancel the request and the page will receive a `NotAllowedError`. If no
12566
+ * listener is registered for this event, the request is cancelled with the same
12567
+ * error. The credential request remains pending until the listener invokes the
12568
+ * callback, so always invoke it exactly once — typically from a `try { … } finally
12569
+ * { callback(…) }` block.
12570
+ *
12571
+ * On macOS, the Touch ID platform authenticator surfaces accounts via this event
12572
+ * once it has been configured with `app.configureWebAuthn`. The event may also
12573
+ * fire on other platforms when a roaming FIDO2 authenticator returns multiple
12574
+ * discoverable credentials.
12575
+ */
12576
+ on(event: 'select-webauthn-account', listener: (event: Event,
12577
+ details: SelectWebauthnAccountDetails,
12578
+ callback: (credentialId?: (string) | (null)) => void) => void): this;
12579
+ off(event: 'select-webauthn-account', listener: (event: Event,
12580
+ details: SelectWebauthnAccountDetails,
12581
+ callback: (credentialId?: (string) | (null)) => void) => void): this;
12582
+ once(event: 'select-webauthn-account', listener: (event: Event,
12583
+ details: SelectWebauthnAccountDetails,
12584
+ callback: (credentialId?: (string) | (null)) => void) => void): this;
12585
+ addListener(event: 'select-webauthn-account', listener: (event: Event,
12586
+ details: SelectWebauthnAccountDetails,
12587
+ callback: (credentialId?: (string) | (null)) => void) => void): this;
12588
+ removeListener(event: 'select-webauthn-account', listener: (event: Event,
12589
+ details: SelectWebauthnAccountDetails,
12590
+ callback: (credentialId?: (string) | (null)) => void) => void): this;
12199
12591
  /**
12200
12592
  * Emitted after `navigator.serial.requestPort` has been called and
12201
12593
  * `select-serial-port` has fired if a new serial port becomes available before the
@@ -12936,8 +13328,8 @@ declare namespace Electron {
12936
13328
  /**
12937
13329
  * Overrides the `userAgent` and `acceptLanguages` for this session.
12938
13330
  *
12939
- * The `acceptLanguages` must a comma separated ordered list of language codes, for
12940
- * example `"en-US,fr,de,ko,zh-CN,ja"`.
13331
+ * The `acceptLanguages` must be a comma separated ordered list of language codes,
13332
+ * for example `"en-US,fr,de,ko,zh-CN,ja"`.
12941
13333
  *
12942
13334
  * This doesn't affect existing `WebContents`, and each `WebContents` can use
12943
13335
  * `webContents.setUserAgent` to override the session-wide user agent.
@@ -13071,6 +13463,50 @@ declare namespace Electron {
13071
13463
  totalSizeBytes: number;
13072
13464
  }
13073
13465
 
13466
+ interface SharedTexture {
13467
+
13468
+ // Docs: https://electronjs.org/docs/api/shared-texture
13469
+
13470
+ /**
13471
+ * Imports the shared texture from the given options.
13472
+ *
13473
+ * > [!NOTE] This method is only available in the main process.
13474
+ *
13475
+ * The imported shared texture.
13476
+ *
13477
+ * @experimental
13478
+ */
13479
+ importSharedTexture(options: ImportSharedTextureOptions): SharedTextureImported;
13480
+ /**
13481
+ * Send the imported shared texture to a renderer process. You must register a
13482
+ * receiver at renderer process before calling this method. This method has a
13483
+ * 1000ms timeout. Ensure the receiver is set and the renderer process is alive
13484
+ * before calling this method.
13485
+ *
13486
+ * > [!NOTE] This method is only available in the main process.
13487
+ *
13488
+ * Resolves when the transfer is complete.
13489
+ *
13490
+ * @experimental
13491
+ */
13492
+ sendSharedTexture(options: SendSharedTextureOptions, ...args: any[]): Promise<void>;
13493
+ /**
13494
+ * Set a callback to receive imported shared textures from the main process.
13495
+ *
13496
+ * > [!NOTE] This method is only available in the renderer process.
13497
+ *
13498
+ * @experimental
13499
+ */
13500
+ setSharedTextureReceiver(callback: (receivedSharedTextureData: ReceivedSharedTextureData, ...args: any[]) => Promise<void>): void;
13501
+ /**
13502
+ * A `SharedTextureSubtle` property, provides subtle APIs for interacting with
13503
+ * shared texture for advanced users.
13504
+ *
13505
+ * @experimental
13506
+ */
13507
+ subtle: SharedTextureSubtle;
13508
+ }
13509
+
13074
13510
  interface SharedTextureHandle {
13075
13511
 
13076
13512
  // Docs: https://electronjs.org/docs/api/structures/shared-texture-handle
@@ -13090,51 +13526,212 @@ declare namespace Electron {
13090
13526
  nativePixmap?: NativePixmap;
13091
13527
  /**
13092
13528
  * NT HANDLE holds the shared texture. Note that this NT HANDLE is local to current
13093
- * process.
13529
+ * process. Output textures of `rgba`, `bgra`, `rgbaf16` formats don't have a
13530
+ * keyed mutex on the texture handle, but `nv12` format texture handles do have a
13531
+ * keyed mutex.
13094
13532
  *
13095
13533
  * @platform win32
13096
13534
  */
13097
13535
  ntHandle?: Buffer;
13098
13536
  }
13099
13537
 
13100
- interface SharedWorkerInfo {
13538
+ interface SharedTextureImported {
13101
13539
 
13102
- // Docs: https://electronjs.org/docs/api/structures/shared-worker-info
13540
+ // Docs: https://electronjs.org/docs/api/structures/shared-texture-imported
13103
13541
 
13104
13542
  /**
13105
- * The unique id of the shared worker.
13543
+ * Create a `VideoFrame` that uses the imported shared texture in the current
13544
+ * process. You can call `VideoFrame.close()` once you've finished using the
13545
+ * object. The underlying resources will wait for GPU finish internally.
13106
13546
  */
13107
- id: string;
13547
+ getVideoFrame: () => VideoFrame;
13108
13548
  /**
13109
- * The url of the shared worker.
13549
+ * Release this object's reference of the imported shared texture. The underlying
13550
+ * resource will be alive until every reference is released.
13110
13551
  */
13111
- url: string;
13552
+ release: () => void;
13553
+ /**
13554
+ * Provides subtle APIs to interact with the imported shared texture for advanced
13555
+ * users.
13556
+ */
13557
+ subtle: SharedTextureImportedSubtle;
13558
+ /**
13559
+ * The unique identifier of the imported shared texture.
13560
+ */
13561
+ textureId: string;
13112
13562
  }
13113
13563
 
13114
- class ShareMenu {
13564
+ interface SharedTextureImportedSubtle {
13115
13565
 
13116
- // Docs: https://electronjs.org/docs/api/share-menu
13566
+ // Docs: https://electronjs.org/docs/api/structures/shared-texture-imported-subtle
13117
13567
 
13118
13568
  /**
13119
- * ShareMenu
13569
+ * This method is for advanced users. If used, it is typically called after
13570
+ * `finishTransferSharedTexture`, and should be passed to the object which was
13571
+ * called `startTransferSharedTexture` to prevent the source object release the
13572
+ * underlying resource before the target object actually acquire the reference at
13573
+ * gpu process asyncly.
13120
13574
  */
13121
- constructor(sharingItem: SharingItem);
13575
+ getFrameCreationSyncToken: () => SharedTextureSyncToken;
13122
13576
  /**
13123
- * Closes the context menu in the `browserWindow`.
13577
+ * Create a `VideoFrame` that uses the imported shared texture in the current
13578
+ * process. You can call `VideoFrame.close()` once you've finished using the
13579
+ * object. The underlying resources will wait for GPU finish internally.
13124
13580
  */
13125
- closePopup(browserWindow?: BrowserWindow): void;
13581
+ getVideoFrame: () => VideoFrame;
13126
13582
  /**
13127
- * Pops up this menu as a context menu in the `BrowserWindow`.
13583
+ * Release the resources. If you transferred and get multiple
13584
+ * `SharedTextureImported` objects, you have to `release` every one of them. The
13585
+ * resource on the GPU process will be destroyed when the last one is released.
13128
13586
  */
13129
- popup(options?: PopupOptions): void;
13587
+ release: (callback?: () => void) => void;
13588
+ /**
13589
+ * This method is for advanced users. If used, this object's underlying resource
13590
+ * will not be released until the set sync token is fulfilled at gpu process. By
13591
+ * using sync tokens, users are not required to use release callbacks for lifetime
13592
+ * management.
13593
+ */
13594
+ setReleaseSyncToken: (syncToken: SharedTextureSyncToken) => void;
13595
+ /**
13596
+ * Create a `SharedTextureTransfer` that can be serialized and transferred to other
13597
+ * processes.
13598
+ */
13599
+ startTransferSharedTexture: () => SharedTextureTransfer;
13130
13600
  }
13131
13601
 
13132
- interface SharingItem {
13602
+ interface SharedTextureImportTextureInfo {
13133
13603
 
13134
- // Docs: https://electronjs.org/docs/api/structures/sharing-item
13604
+ // Docs: https://electronjs.org/docs/api/structures/shared-texture-import-texture-info
13135
13605
 
13136
13606
  /**
13137
- * An array of files to share.
13607
+ * The full dimensions of the shared texture.
13608
+ */
13609
+ codedSize: Size;
13610
+ /**
13611
+ * The color space of the texture.
13612
+ */
13613
+ colorSpace?: ColorSpace;
13614
+ /**
13615
+ * The shared texture handle.
13616
+ */
13617
+ handle: SharedTextureHandle;
13618
+ /**
13619
+ * The pixel format of the texture.
13620
+ */
13621
+ pixelFormat: ('bgra' | 'rgba' | 'rgbaf16' | 'nv12' | 'nv16' | 'p010le');
13622
+ /**
13623
+ * A timestamp in microseconds that will be reflected to `VideoFrame`.
13624
+ */
13625
+ timestamp?: number;
13626
+ /**
13627
+ * A subsection of [0, 0, codedSize.width, codedSize.height]. In common cases, it
13628
+ * is the full section area.
13629
+ */
13630
+ visibleRect?: Rectangle;
13631
+ }
13632
+
13633
+ interface SharedTextureSubtle {
13634
+
13635
+ // Docs: https://electronjs.org/docs/api/structures/shared-texture-subtle
13636
+
13637
+ /**
13638
+ * Finishes the transfer of the shared texture and gets the transferred shared
13639
+ * texture. Returns the imported shared texture from the transfer object.
13640
+ */
13641
+ finishTransferSharedTexture: (transfer: SharedTextureTransfer) => SharedTextureImportedSubtle;
13642
+ /**
13643
+ * Imports the shared texture from the given options. Returns the imported shared
13644
+ * texture.
13645
+ */
13646
+ importSharedTexture: (textureInfo: SharedTextureImportTextureInfo) => SharedTextureImportedSubtle;
13647
+ }
13648
+
13649
+ interface SharedTextureSyncToken {
13650
+
13651
+ // Docs: https://electronjs.org/docs/api/structures/shared-texture-sync-token
13652
+
13653
+ /**
13654
+ * The opaque data for sync token.
13655
+ */
13656
+ syncToken: string;
13657
+ }
13658
+
13659
+ interface SharedTextureTransfer {
13660
+
13661
+ // Docs: https://electronjs.org/docs/api/structures/shared-texture-transfer
13662
+
13663
+ /**
13664
+ * The full dimensions of the shared texture.
13665
+ *
13666
+ */
13667
+ readonly codedSize: Size;
13668
+ /**
13669
+ * The pixel format of the transferring texture.
13670
+ *
13671
+ */
13672
+ readonly pixelFormat: string;
13673
+ /**
13674
+ * The opaque sync token data for frame creation.
13675
+ *
13676
+ */
13677
+ readonly syncToken: string;
13678
+ /**
13679
+ * A timestamp in microseconds that will be reflected to `VideoFrame`.
13680
+ *
13681
+ */
13682
+ readonly timestamp: number;
13683
+ /**
13684
+ * The opaque transfer data of the shared texture. This can be transferred across
13685
+ * Electron processes.
13686
+ *
13687
+ */
13688
+ readonly transfer: string;
13689
+ /**
13690
+ * A subsection of [0, 0, codedSize.width(), codedSize.height()]. In common cases,
13691
+ * it is the full section area.
13692
+ *
13693
+ */
13694
+ readonly visibleRect: Rectangle;
13695
+ }
13696
+
13697
+ interface SharedWorkerInfo {
13698
+
13699
+ // Docs: https://electronjs.org/docs/api/structures/shared-worker-info
13700
+
13701
+ /**
13702
+ * The unique id of the shared worker.
13703
+ */
13704
+ id: string;
13705
+ /**
13706
+ * The url of the shared worker.
13707
+ */
13708
+ url: string;
13709
+ }
13710
+
13711
+ class ShareMenu {
13712
+
13713
+ // Docs: https://electronjs.org/docs/api/share-menu
13714
+
13715
+ /**
13716
+ * ShareMenu
13717
+ */
13718
+ constructor(sharingItem: SharingItem);
13719
+ /**
13720
+ * Closes the context menu in the `browserWindow`.
13721
+ */
13722
+ closePopup(browserWindow?: BrowserWindow): void;
13723
+ /**
13724
+ * Pops up this menu as a context menu in the `BrowserWindow`.
13725
+ */
13726
+ popup(options?: PopupOptions): void;
13727
+ }
13728
+
13729
+ interface SharingItem {
13730
+
13731
+ // Docs: https://electronjs.org/docs/api/structures/sharing-item
13732
+
13733
+ /**
13734
+ * An array of files to share.
13138
13735
  */
13139
13736
  filePaths?: string[];
13140
13737
  /**
@@ -15100,6 +15697,31 @@ declare namespace Electron {
15100
15697
  * GetExitCodeProcess on Windows.
15101
15698
  */
15102
15699
  code: number) => void): this;
15700
+ /**
15701
+ * Emitted when the utility process encounters an HTTP 401 or 407 authentication
15702
+ * challenge, if the process was created with both
15703
+ * `respondToAuthRequestsFromMainProcess: true` and a `session` option. The
15704
+ * `callback` should be called with credentials to respond to the challenge.
15705
+ * Calling `callback` without arguments will cancel the request.
15706
+ *
15707
+ * This behaves the same as the `login` event on `app` but is scoped to the
15708
+ * individual utility process instance.
15709
+ */
15710
+ on(event: 'login', listener: (authenticationResponseDetails: AuthenticationResponseDetails,
15711
+ authInfo: AuthInfo,
15712
+ callback: (username?: string, password?: string) => void) => void): this;
15713
+ off(event: 'login', listener: (authenticationResponseDetails: AuthenticationResponseDetails,
15714
+ authInfo: AuthInfo,
15715
+ callback: (username?: string, password?: string) => void) => void): this;
15716
+ once(event: 'login', listener: (authenticationResponseDetails: AuthenticationResponseDetails,
15717
+ authInfo: AuthInfo,
15718
+ callback: (username?: string, password?: string) => void) => void): this;
15719
+ addListener(event: 'login', listener: (authenticationResponseDetails: AuthenticationResponseDetails,
15720
+ authInfo: AuthInfo,
15721
+ callback: (username?: string, password?: string) => void) => void): this;
15722
+ removeListener(event: 'login', listener: (authenticationResponseDetails: AuthenticationResponseDetails,
15723
+ authInfo: AuthInfo,
15724
+ callback: (username?: string, password?: string) => void) => void): this;
15103
15725
  /**
15104
15726
  * Emitted when the child process sends a message using
15105
15727
  * `process.parentPort.postMessage()`.
@@ -15225,7 +15847,7 @@ declare namespace Electron {
15225
15847
  * > [!NOTE] The area cutout of the view's border still captures clicks.
15226
15848
  */
15227
15849
  setBorderRadius(radius: number): void;
15228
- setBounds(bounds: Rectangle): void;
15850
+ setBounds(bounds: Rectangle, options?: BoundsOptions): void;
15229
15851
  setVisible(visible: boolean): void;
15230
15852
  /**
15231
15853
  * A `View[]` property representing the child views of this view.
@@ -15234,6 +15856,32 @@ declare namespace Electron {
15234
15856
  readonly children: View[];
15235
15857
  }
15236
15858
 
15859
+ interface WebAuthnAccount {
15860
+
15861
+ // Docs: https://electronjs.org/docs/api/structures/webauthn-account
15862
+
15863
+ /**
15864
+ * URL-safe base64-encoded (no padding) credential ID of the discoverable
15865
+ * credential. Matches `PublicKeyCredential.id` returned by
15866
+ * `navigator.credentials.get()` in the renderer.
15867
+ */
15868
+ credentialId: string;
15869
+ /**
15870
+ * Human-palatable name for the account, intended for display.
15871
+ */
15872
+ displayName?: string;
15873
+ /**
15874
+ * Human-palatable identifier for the account (for example, an email address or
15875
+ * username).
15876
+ */
15877
+ name?: string;
15878
+ /**
15879
+ * URL-safe base64-encoded (no padding) user handle (`user.id`) that was provided
15880
+ * when the credential was created.
15881
+ */
15882
+ userHandle?: string;
15883
+ }
15884
+
15237
15885
  class WebContents extends NodeEventEmitter {
15238
15886
 
15239
15887
  // Docs: https://electronjs.org/docs/api/web-contents
@@ -15258,7 +15906,7 @@ declare namespace Electron {
15258
15906
  static fromId(id: number): (WebContents) | (undefined);
15259
15907
  /**
15260
15908
  * An array of all `WebContents` instances. This will contain web contents for all
15261
- * windows, webviews, opened devtools, and devtools extension background pages.
15909
+ * windows, webviews, opened DevTools, and DevTools extension background pages.
15262
15910
  */
15263
15911
  static getAllWebContents(): WebContents[];
15264
15912
  /**
@@ -15699,7 +16347,7 @@ declare namespace Electron {
15699
16347
  addListener(event: 'devtools-opened', listener: () => void): this;
15700
16348
  removeListener(event: 'devtools-opened', listener: () => void): this;
15701
16349
  /**
15702
- * Emitted when the devtools window instructs the webContents to reload
16350
+ * Emitted when the DevTools window instructs the webContents to reload
15703
16351
  */
15704
16352
  on(event: 'devtools-reload-page', listener: () => void): this;
15705
16353
  off(event: 'devtools-reload-page', listener: () => void): this;
@@ -16085,7 +16733,7 @@ declare namespace Electron {
16085
16733
  * 302 redirect.
16086
16734
  *
16087
16735
  * This event cannot be prevented, if you want to prevent redirects you should
16088
- * checkout out the `will-redirect` event above.
16736
+ * check out the `will-redirect` event above.
16089
16737
  */
16090
16738
  on(event: 'did-redirect-navigation', listener: (details: Event<WebContentsDidRedirectNavigationEventParams>,
16091
16739
  /**
@@ -17116,7 +17764,11 @@ declare namespace Electron {
17116
17764
  *
17117
17765
  * Before:
17118
17766
  *
17767
+ * [Image: Image Before Text Selection Adjustment]
17768
+ *
17119
17769
  * After:
17770
+ *
17771
+ * [Image: Image After Text Selection Adjustment]
17120
17772
  */
17121
17773
  adjustSelection(options: AdjustSelectionOptions): void;
17122
17774
  /**
@@ -17199,7 +17851,7 @@ declare namespace Electron {
17199
17851
  */
17200
17852
  close(opts?: CloseOpts): void;
17201
17853
  /**
17202
- * Closes the devtools.
17854
+ * Closes the DevTools view.
17203
17855
  */
17204
17856
  closeDevTools(): void;
17205
17857
  /**
@@ -17303,6 +17955,14 @@ declare namespace Electron {
17303
17955
  * only valid for 10 seconds.
17304
17956
  */
17305
17957
  getMediaSourceId(requestWebContents: WebContents): string;
17958
+ /**
17959
+ * The Chrome DevTools Protocol TargetID associated with this WebContents. This is
17960
+ * the reverse of `webContents.fromDevToolsTargetId()`.
17961
+ *
17962
+ * > [!NOTE] This method creates a new DevTools agent for this WebContents if one
17963
+ * does not already exist.
17964
+ */
17965
+ getOrCreateDevToolsTargetId(): string;
17306
17966
  /**
17307
17967
  * The operating system `pid` of the associated renderer process.
17308
17968
  */
@@ -17445,11 +18105,11 @@ declare namespace Electron {
17445
18105
  */
17446
18106
  isDestroyed(): boolean;
17447
18107
  /**
17448
- * Whether the devtools view is focused .
18108
+ * Whether the DevTools view is focused .
17449
18109
  */
17450
18110
  isDevToolsFocused(): boolean;
17451
18111
  /**
17452
- * Whether the devtools is opened.
18112
+ * Whether the DevTools view is opened.
17453
18113
  */
17454
18114
  isDevToolsOpened(): boolean;
17455
18115
  /**
@@ -17502,12 +18162,12 @@ declare namespace Electron {
17502
18162
  */
17503
18163
  loadURL(url: string, options?: LoadURLOptions): Promise<void>;
17504
18164
  /**
17505
- * Opens the devtools.
18165
+ * Opens the DevTools.
17506
18166
  *
17507
18167
  * When `contents` is a `<webview>` tag, the `mode` would be `detach` by default,
17508
18168
  * explicitly passing an empty `mode` can force using last used dock state.
17509
18169
  *
17510
- * On Windows, if Windows Control Overlay is enabled, Devtools will be opened with
18170
+ * On Windows, if Window Control Overlay is enabled, DevTools will be opened with
17511
18171
  * `mode: 'detach'`.
17512
18172
  */
17513
18173
  openDevTools(options?: OpenDevToolsOptions): void;
@@ -17534,7 +18194,8 @@ declare namespace Electron {
17534
18194
  * When a custom `pageSize` is passed, Chromium attempts to validate platform
17535
18195
  * specific minimum values for `width_microns` and `height_microns`. Width and
17536
18196
  * height must both be minimum 353 microns but may be higher on some operating
17537
- * systems.
18197
+ * systems. If a valid `pageSize` is not passed and `usePrinterDefaultPageSize` is
18198
+ * `false`, an error will be thrown.
17538
18199
  *
17539
18200
  * Prints window's web page. When `silent` is set to `true`, Electron will pick the
17540
18201
  * system's default printer if `deviceName` is empty and the default settings for
@@ -17667,28 +18328,26 @@ declare namespace Electron {
17667
18328
  */
17668
18329
  setDevToolsTitle(title: string): void;
17669
18330
  /**
17670
- * Uses the `devToolsWebContents` as the target `WebContents` to show devtools.
18331
+ * Uses the `devToolsWebContents` as the target `WebContents` to show DevTools.
17671
18332
  *
17672
18333
  * The `devToolsWebContents` must not have done any navigation, and it should not
17673
18334
  * be used for other purposes after the call.
17674
18335
  *
17675
- * By default Electron manages the devtools by creating an internal `WebContents`
18336
+ * By default, Electron manages the DevTools by creating an internal `WebContents`
17676
18337
  * with native view, which developers have very limited control of. With the
17677
18338
  * `setDevToolsWebContents` method, developers can use any `WebContents` to show
17678
- * the devtools in it, including `BrowserWindow`, `BrowserView` and `<webview>`
17679
- * tag.
18339
+ * the DevTools in it, such as `BrowserWindow` or `WebContentsView`.
17680
18340
  *
17681
- * Note that closing the devtools does not destroy the `devToolsWebContents`, it is
17682
- * caller's responsibility to destroy `devToolsWebContents`.
18341
+ * Note that closing the DevTools does not destroy the `devToolsWebContents`, it is
18342
+ * the caller's responsibility to destroy `devToolsWebContents` manually.
17683
18343
  *
17684
- * An example of showing devtools in a `<webview>` tag:
17685
- *
17686
- * An example of showing devtools in a `BrowserWindow`:
18344
+ * An example of showing DevTools in a `BrowserWindow`:
17687
18345
  */
17688
18346
  setDevToolsWebContents(devToolsWebContents: WebContents): void;
17689
18347
  /**
17690
18348
  * If _offscreen rendering_ is enabled sets the frame rate to the specified number.
17691
- * Only values between 1 and 240 are accepted.
18349
+ * When `webPreferences.offscreen.useSharedTexture` is `false` only values between
18350
+ * 1 and 240 are accepted.
17692
18351
  */
17693
18352
  setFrameRate(fps: number): void;
17694
18353
  /**
@@ -17729,10 +18388,10 @@ declare namespace Electron {
17729
18388
  */
17730
18389
  setWebRTCUDPPortRange(udpPortRange: UdpPortRange): void;
17731
18390
  /**
17732
- * Called before creating a window a new window is requested by the renderer, e.g.
17733
- * by `window.open()`, a link with `target="_blank"`, shift+clicking on a link, or
17734
- * submitting a form with `<form target="_blank">`. See `window.open()` for more
17735
- * details and how to use this in conjunction with `did-create-window`.
18391
+ * Called before creating a window when a new window is requested by the renderer,
18392
+ * e.g. by `window.open()`, a link with `target="_blank"`, shift+clicking on a
18393
+ * link, or submitting a form with `<form target="_blank">`. See `window.open()`
18394
+ * for more details and how to use this in conjunction with `did-create-window`.
17736
18395
  *
17737
18396
  * An example showing how to customize the process of new `BrowserWindow` creation
17738
18397
  * to be `BrowserView` attached to main window instead:
@@ -17818,7 +18477,7 @@ declare namespace Electron {
17818
18477
  */
17819
18478
  readonly debugger: Debugger;
17820
18479
  /**
17821
- * A `WebContents | null` property that represents the of DevTools `WebContents`
18480
+ * A `WebContents | null` property that represents the DevTools `WebContents`
17822
18481
  * associated with a given `WebContents`.
17823
18482
  *
17824
18483
  * > [!NOTE] Users should never store this object because it may become `null` when
@@ -18468,6 +19127,10 @@ declare namespace Electron {
18468
19127
  * Enables Chromium's experimental features. Default is `false`.
18469
19128
  */
18470
19129
  experimentalFeatures?: boolean;
19130
+ /**
19131
+ * Whether to focus the WebContents when navigating. Default is `true`.
19132
+ */
19133
+ focusOnNavigation?: boolean;
18471
19134
  /**
18472
19135
  * Specifies how to run image animations (E.g. GIFs). Can be `animate`,
18473
19136
  * `animateOnce` or `noAnimation`. Default is `animate`.
@@ -18590,7 +19253,7 @@ declare namespace Electron {
18590
19253
  /**
18591
19254
  * When `false`, it will disable the same-origin policy (usually using testing
18592
19255
  * websites by people), and set `allowRunningInsecureContent` to `true` if this
18593
- * options has not been set by user. Default is `true`.
19256
+ * option has not been set by user. Default is `true`.
18594
19257
  */
18595
19258
  webSecurity?: boolean;
18596
19259
  /**
@@ -18740,6 +19403,147 @@ declare namespace Electron {
18740
19403
  urls: string[];
18741
19404
  }
18742
19405
 
19406
+ class WebSocket extends EventTarget {
19407
+
19408
+ // Docs: https://electronjs.org/docs/api/web-socket
19409
+
19410
+ /**
19411
+ * WebSocket
19412
+ */
19413
+ constructor(url: string, protocols?: (string) | (string[]) | (WebSocketOptions));
19414
+ /**
19415
+ * Closes the connection. Calling `close()` while still `CONNECTING` aborts the
19416
+ * handshake.
19417
+ */
19418
+ close(code?: number, reason?: string): void;
19419
+ /**
19420
+ * Enqueues `data` to be transmitted to the server. Throws an `InvalidStateError`
19421
+ * `DOMException` if `readyState` is `CONNECTING`.
19422
+ */
19423
+ send(data: (string) | (ArrayBufferLike) | (ArrayBufferView) | (Blob)): void;
19424
+ /**
19425
+ * A `string` controlling how incoming binary messages are exposed on the `message`
19426
+ * event. Can be `nodebuffer`, `arraybuffer`, or `blob`. The default is
19427
+ * `nodebuffer`.
19428
+ *
19429
+ * `'nodebuffer'` is an Electron extension that delivers binary messages as
19430
+ * `Buffer` objects, which is generally the most convenient representation in the
19431
+ * main process. Set `binaryType` to `'arraybuffer'` or `'blob'` for behavior
19432
+ * identical to the renderer `WebSocket`.
19433
+ */
19434
+ binaryType: ('nodebuffer' | 'arraybuffer' | 'blob');
19435
+ /**
19436
+ * An `Integer` representing the number of bytes of application data that have been
19437
+ * queued via `send()` but not yet handed off to the network.
19438
+ *
19439
+ */
19440
+ readonly bufferedAmount: number;
19441
+ /**
19442
+ * A `string` containing the extensions negotiated by the server (for example
19443
+ * `permessage-deflate`).
19444
+ *
19445
+ */
19446
+ readonly extensions: string;
19447
+ /**
19448
+ * A `Function | null` event handler for the `close` event. Equivalent to calling
19449
+ * `addEventListener('close', ...)`.
19450
+ */
19451
+ onclose: (Function) | (null);
19452
+ /**
19453
+ * A `Function | null` event handler for the `error` event. Equivalent to calling
19454
+ * `addEventListener('error', ...)`.
19455
+ */
19456
+ onerror: (Function) | (null);
19457
+ /**
19458
+ * A `Function | null` event handler for the `message` event. Equivalent to calling
19459
+ * `addEventListener('message', ...)`.
19460
+ */
19461
+ onmessage: (Function) | (null);
19462
+ /**
19463
+ * A `Function | null` event handler for the `open` event. Equivalent to calling
19464
+ * `addEventListener('open', ...)`.
19465
+ */
19466
+ onopen: (Function) | (null);
19467
+ /**
19468
+ * A `string` containing the subprotocol selected by the server. The empty string
19469
+ * until the connection is open or if the server did not select a subprotocol.
19470
+ *
19471
+ */
19472
+ readonly protocol: string;
19473
+ /**
19474
+ * An `Integer` representing the current state of the connection: one of
19475
+ * `WebSocket.CONNECTING` (`0`), `WebSocket.OPEN` (`1`), `WebSocket.CLOSING` (`2`),
19476
+ * or `WebSocket.CLOSED` (`3`).
19477
+ *
19478
+ */
19479
+ readonly readyState: number;
19480
+ /**
19481
+ * A `string` representing the resolved URL of the connection.
19482
+ *
19483
+ */
19484
+ readonly url: string;
19485
+ /**
19486
+ * An `Integer` constant equal to `3`, the `readyState` value once the connection
19487
+ * is closed.
19488
+ *
19489
+ */
19490
+ static readonly CLOSED: number;
19491
+ /**
19492
+ * An `Integer` constant equal to `2`, the `readyState` value while the closing
19493
+ * handshake is in progress.
19494
+ *
19495
+ */
19496
+ static readonly CLOSING: number;
19497
+ /**
19498
+ * An `Integer` constant equal to `0`, the `readyState` value while the opening
19499
+ * handshake is in progress.
19500
+ *
19501
+ */
19502
+ static readonly CONNECTING: number;
19503
+ /**
19504
+ * An `Integer` constant equal to `1`, the `readyState` value once the connection
19505
+ * is established.
19506
+ *
19507
+ */
19508
+ static readonly OPEN: number;
19509
+ }
19510
+
19511
+ interface WebSocketOptions {
19512
+
19513
+ // Docs: https://electronjs.org/docs/api/structures/web-socket-options
19514
+
19515
+ /**
19516
+ * Extra HTTP headers to send with the opening handshake.
19517
+ */
19518
+ headers?: Record<string, string>;
19519
+ /**
19520
+ * Value of the `Origin` header to send with the opening handshake. Defaults to the
19521
+ * `http(s)` equivalent of the WebSocket URL's origin (e.g. connecting to
19522
+ * `wss://api.example.com` sends `Origin: https://api.example.com`), so that the
19523
+ * connection is treated as same-origin by the server and by SameSite cookie rules.
19524
+ */
19525
+ origin?: string;
19526
+ /**
19527
+ * The name of the `partition` the connection is associated with. Defaults to the
19528
+ * empty string, which corresponds to the default session. If `session` is
19529
+ * provided, `partition` is ignored.
19530
+ */
19531
+ partition?: string;
19532
+ /**
19533
+ * Requested WebSocket subprotocols.
19534
+ */
19535
+ protocols?: (string) | (string[]);
19536
+ /**
19537
+ * The `Session` the connection is associated with.
19538
+ */
19539
+ session?: Session;
19540
+ /**
19541
+ * Whether to send cookies from the session with the opening handshake and store
19542
+ * cookies received in the handshake response. Default is `false`.
19543
+ */
19544
+ useSessionCookies?: boolean;
19545
+ }
19546
+
18743
19547
  interface WebSource {
18744
19548
 
18745
19549
  // Docs: https://electronjs.org/docs/api/structures/web-source
@@ -19663,6 +20467,14 @@ declare namespace Electron {
19663
20467
  pin?: string;
19664
20468
  }
19665
20469
 
20470
+ interface BoundsOptions {
20471
+ /**
20472
+ * If true, the bounds change will be animated. If an object is passed, it can
20473
+ * contain the following properties:
20474
+ */
20475
+ animate?: (boolean) | (Animate);
20476
+ }
20477
+
19666
20478
  interface BrowserViewConstructorOptions {
19667
20479
  /**
19668
20480
  * Settings of web page's features.
@@ -19751,11 +20563,6 @@ declare namespace Electron {
19751
20563
  * not specified, clear all storage types.
19752
20564
  */
19753
20565
  storages?: Array<'cookies' | 'filesystem' | 'indexdb' | 'localstorage' | 'shadercache' | 'websql' | 'serviceworkers' | 'cachestorage'>;
19754
- /**
19755
- * The types of quotas to clear, can be `temporary`. If not specified, clear all
19756
- * quotas.
19757
- */
19758
- quotas?: Array<'temporary'>;
19759
20566
  }
19760
20567
 
19761
20568
  interface ClientCertRequestParams {
@@ -20006,6 +20813,14 @@ declare namespace Electron {
20006
20813
  enableAdditionalDnsQueryTypes?: boolean;
20007
20814
  }
20008
20815
 
20816
+ interface ConfigureWebAuthnOptions {
20817
+ /**
20818
+ * Enables the Touch ID / Secure Enclave platform authenticator for Web
20819
+ * Authentication requests.
20820
+ */
20821
+ touchID?: TouchId;
20822
+ }
20823
+
20009
20824
  interface ConsoleMessageEvent extends DOMEvent {
20010
20825
  /**
20011
20826
  * The log level, from 0 to 3. In order it matches `verbose`, `info`, `warning` and
@@ -20359,6 +21174,20 @@ declare namespace Electron {
20359
21174
  bookmark?: string;
20360
21175
  }
20361
21176
 
21177
+ interface DecryptStringAsyncReturnValue {
21178
+ /**
21179
+ * whether data that has just been returned from the decrypt operation should be
21180
+ * re-encrypted, as the key has been rotated or a new key is available that
21181
+ * provides a different security level. If `true`, you should call
21182
+ * `decryptStringAsync` again to receive the new decrypted string.
21183
+ */
21184
+ shouldReEncrypt: boolean;
21185
+ /**
21186
+ * the decrypted string.
21187
+ */
21188
+ result: string;
21189
+ }
21190
+
20362
21191
  interface DefaultFontFamily {
20363
21192
  /**
20364
21193
  * Defaults to `Times New Roman`.
@@ -20480,6 +21309,8 @@ declare namespace Electron {
20480
21309
  postBody?: PostBody;
20481
21310
  /**
20482
21311
  * Can be `default`, `foreground-tab`, `background-tab`, `new-window` or `other`.
21312
+ * Corresponds to the manner an associated link was clicked. See Chromium's
21313
+ * WindowOpenDisposition.
20483
21314
  */
20484
21315
  disposition: ('default' | 'foreground-tab' | 'background-tab' | 'new-window' | 'other');
20485
21316
  }
@@ -20718,6 +21549,22 @@ declare namespace Electron {
20718
21549
  * Current working directory of the child process.
20719
21550
  */
20720
21551
  cwd?: string;
21552
+ /**
21553
+ * Sets the session used by the process for network requests. By default, network
21554
+ * requests from the utility process will use the system network context which does
21555
+ * not have HTTP cache support. Setting a session enables HTTP caching and other
21556
+ * session-specific network features. See session for more information.
21557
+ */
21558
+ session?: Session;
21559
+ /**
21560
+ * Sets the session used by the process according to the session's partition
21561
+ * string. If `partition` starts with `persist:`, the process will use a persistent
21562
+ * session available to all pages in the app with the same `partition`. If there is
21563
+ * no `persist:` prefix, the process will use an in-memory session. By assigning
21564
+ * the same `partition`, multiple processes can share the same session. If the
21565
+ * `session` option is set, this option is ignored.
21566
+ */
21567
+ partition?: string;
20721
21568
  /**
20722
21569
  * Allows configuring the mode for `stdout` and `stderr` of the child process.
20723
21570
  * Default is `inherit`. String value can be one of `pipe`, `ignore`, `inherit`,
@@ -20759,9 +21606,11 @@ declare namespace Electron {
20759
21606
  disclaim?: boolean;
20760
21607
  /**
20761
21608
  * With this flag, all HTTP 401 and 407 network requests created via the net module
20762
- * will allow responding to them via the `app#login` event in the main process
20763
- * instead of the default `login` event on the `ClientRequest` object. Default is
20764
- * `false`.
21609
+ * will allow responding to them via the `login` event on the `UtilityProcess`
21610
+ * instance when a `session` is provided, or via the `app#login` event in the main
21611
+ * process when using the default system network context. Without this flag, auth
21612
+ * challenges are handled by the default `login` event on the `ClientRequest`
21613
+ * object. Default is `false`.
20765
21614
  */
20766
21615
  respondToAuthRequestsFromMainProcess?: boolean;
20767
21616
  }
@@ -20811,6 +21660,8 @@ declare namespace Electron {
20811
21660
  features: string;
20812
21661
  /**
20813
21662
  * Can be `default`, `foreground-tab`, `background-tab`, `new-window` or `other`.
21663
+ * Corresponds to the manner an associated link was clicked. See Chromium's
21664
+ * WindowOpenDisposition.
20814
21665
  */
20815
21666
  disposition: ('default' | 'foreground-tab' | 'background-tab' | 'new-window' | 'other');
20816
21667
  /**
@@ -20900,6 +21751,18 @@ declare namespace Electron {
20900
21751
  password: string;
20901
21752
  }
20902
21753
 
21754
+ interface ImportSharedTextureOptions {
21755
+ /**
21756
+ * The information of the shared texture to import.
21757
+ */
21758
+ textureInfo: SharedTextureImportTextureInfo;
21759
+ /**
21760
+ * Called when all references in all processes are released. You should keep the
21761
+ * imported texture valid until this callback is called.
21762
+ */
21763
+ allReferencesReleased?: () => void;
21764
+ }
21765
+
20903
21766
  interface Info {
20904
21767
  /**
20905
21768
  * Security origin for the isolated world.
@@ -20910,7 +21773,7 @@ declare namespace Electron {
20910
21773
  */
20911
21774
  csp?: string;
20912
21775
  /**
20913
- * Name for isolated world. Useful in devtools.
21776
+ * Name for isolated world. Useful in DevTools.
20914
21777
  */
20915
21778
  name?: string;
20916
21779
  }
@@ -21019,7 +21882,7 @@ declare namespace Electron {
21019
21882
  /**
21020
21883
  * Whether to allow the extension to read local files over `file://` protocol and
21021
21884
  * inject content scripts into `file://` pages. This is required e.g. for loading
21022
- * devtools extensions on `file://` URLs. Defaults to false.
21885
+ * DevTools extensions on `file://` URLs. Defaults to false.
21023
21886
  */
21024
21887
  allowFileAccess: boolean;
21025
21888
  }
@@ -21472,7 +22335,58 @@ declare namespace Electron {
21472
22335
  supportsZeroCopyWebGpuImport: boolean;
21473
22336
  }
21474
22337
 
22338
+ interface NotificationActionEventParams {
22339
+ /**
22340
+ * The index of the action that was activated.
22341
+ */
22342
+ actionIndex: number;
22343
+ /**
22344
+ * The index of the selected item, if one was chosen. -1 if none was chosen.
22345
+ *
22346
+ * @platform win32
22347
+ */
22348
+ selectionIndex: number;
22349
+ }
22350
+
22351
+ interface NotificationCloseEventParams {
22352
+ /**
22353
+ * The reason the notification was closed. This can be 'userCanceled',
22354
+ * 'applicationHidden', or 'timedOut'.
22355
+ */
22356
+ reason?: ('userCanceled' | 'applicationHidden' | 'timedOut');
22357
+ }
22358
+
21475
22359
  interface NotificationConstructorOptions {
22360
+ /**
22361
+ * A unique identifier for the notification. On macOS, maps to
22362
+ * `UNNotificationRequest`'s `identifier` property. On Windows, maps to the toast
22363
+ * notification's `Tag` property. Defaults to a random UUID if not provided or if
22364
+ * an empty string is passed. Use this identifier with `Notification.remove()` to
22365
+ * remove specific delivered notifications, or with `Notification.getHistory()` to
22366
+ * identify them.
22367
+ *
22368
+ * @platform darwin,win32
22369
+ */
22370
+ id?: string;
22371
+ /**
22372
+ * A string identifier used to visually group notifications together in
22373
+ * Notification Center / Action Center. On macOS, maps to `UNNotificationContent`'s
22374
+ * `threadIdentifier` property. On Windows, maps to the toast notification's
22375
+ * `Group` property. Use this identifier with `Notification.removeGroup()` to
22376
+ * remove all notifications in a group.
22377
+ *
22378
+ * @platform darwin,win32
22379
+ */
22380
+ groupId?: string;
22381
+ /**
22382
+ * A title for the notification group header. When both `groupId` and `groupTitle`
22383
+ * are specified, Windows will display a header above the notification that groups
22384
+ * related notifications together. Maps to the toast notification's `header`
22385
+ * element.
22386
+ *
22387
+ * @platform win32
22388
+ */
22389
+ groupTitle?: string;
21476
22390
  /**
21477
22391
  * A title for the notification, which will be displayed at the top of the
21478
22392
  * notification window when it is shown.
@@ -21502,7 +22416,7 @@ declare namespace Electron {
21502
22416
  /**
21503
22417
  * Whether or not to add an inline reply option to the notification.
21504
22418
  *
21505
- * @platform darwin
22419
+ * @platform darwin,win32
21506
22420
  */
21507
22421
  hasReply?: boolean;
21508
22422
  /**
@@ -21514,7 +22428,7 @@ declare namespace Electron {
21514
22428
  /**
21515
22429
  * The placeholder to write in the inline reply input field.
21516
22430
  *
21517
- * @platform darwin
22431
+ * @platform darwin,win32
21518
22432
  */
21519
22433
  replyPlaceholder?: string;
21520
22434
  /**
@@ -21526,14 +22440,14 @@ declare namespace Electron {
21526
22440
  /**
21527
22441
  * The urgency level of the notification. Can be 'normal', 'critical', or 'low'.
21528
22442
  *
21529
- * @platform linux
22443
+ * @platform linux,win32
21530
22444
  */
21531
22445
  urgency?: ('normal' | 'critical' | 'low');
21532
22446
  /**
21533
22447
  * Actions to add to the notification. Please read the available actions and
21534
22448
  * limitations in the `NotificationAction` documentation.
21535
22449
  *
21536
- * @platform darwin
22450
+ * @platform darwin,win32
21537
22451
  */
21538
22452
  actions?: NotificationAction[];
21539
22453
  /**
@@ -21552,6 +22466,13 @@ declare namespace Electron {
21552
22466
  toastXml?: string;
21553
22467
  }
21554
22468
 
22469
+ interface NotificationReplyEventParams {
22470
+ /**
22471
+ * The string the user entered into the inline reply field.
22472
+ */
22473
+ reply: string;
22474
+ }
22475
+
21555
22476
  interface Offscreen {
21556
22477
  /**
21557
22478
  * Whether to use GPU shared texture for accelerated paint event. Defaults to
@@ -21570,6 +22491,13 @@ declare namespace Electron {
21570
22491
  * @experimental
21571
22492
  */
21572
22493
  sharedTexturePixelFormat?: ('argb' | 'rgbaf16');
22494
+ /**
22495
+ * The device scale factor of the offscreen rendering output. If not set, will use
22496
+ * `1` as default.
22497
+ *
22498
+ * @experimental
22499
+ */
22500
+ deviceScaleFactor?: number;
21573
22501
  }
21574
22502
 
21575
22503
  interface OnBeforeRedirectListenerDetails {
@@ -21767,13 +22695,13 @@ declare namespace Electron {
21767
22695
 
21768
22696
  interface OpenDevToolsOptions {
21769
22697
  /**
21770
- * Opens the devtools with specified dock state, can be `left`, `right`, `bottom`,
22698
+ * Opens the DevTools with specified dock state, can be `left`, `right`, `bottom`,
21771
22699
  * `undocked`, `detach`. Defaults to last used dock state. In `undocked` mode it's
21772
22700
  * possible to dock back. In `detach` mode it's not.
21773
22701
  */
21774
22702
  mode: ('left' | 'right' | 'bottom' | 'undocked' | 'detach');
21775
22703
  /**
21776
- * Whether to bring the opened devtools window to the foreground. The default is
22704
+ * Whether to bring the opened DevTools window to the foreground. The default is
21777
22705
  * `true`.
21778
22706
  */
21779
22707
  activate?: boolean;
@@ -22162,6 +23090,11 @@ declare namespace Electron {
22162
23090
  * true. Default false.
22163
23091
  */
22164
23092
  codeCache?: boolean;
23093
+ /**
23094
+ * Allow Chrome extensions to be used on pages served over this protocol. Default
23095
+ * false.
23096
+ */
23097
+ allowExtensions?: boolean;
22165
23098
  }
22166
23099
 
22167
23100
  interface ProgressBarOptions {
@@ -22195,6 +23128,13 @@ declare namespace Electron {
22195
23128
  url: string;
22196
23129
  }
22197
23130
 
23131
+ interface ReceivedSharedTextureData {
23132
+ /**
23133
+ * The imported shared texture.
23134
+ */
23135
+ importedSharedTexture: SharedTextureImported;
23136
+ }
23137
+
22198
23138
  interface RegistrationCompletedDetails {
22199
23139
  /**
22200
23140
  * The base URL that a service worker is registered for
@@ -22457,6 +23397,33 @@ declare namespace Electron {
22457
23397
  frame: (WebFrameMain) | (null);
22458
23398
  }
22459
23399
 
23400
+ interface SelectWebauthnAccountDetails {
23401
+ /**
23402
+ * The relying party identifier from the WebAuthn request.
23403
+ */
23404
+ relyingPartyId: string;
23405
+ accounts: WebAuthnAccount[];
23406
+ /**
23407
+ * The frame initiating this event. May be `null` if accessed after the frame has
23408
+ * either navigated or been destroyed.
23409
+ */
23410
+ frame: (WebFrameMain) | (null);
23411
+ }
23412
+
23413
+ interface SendSharedTextureOptions {
23414
+ /**
23415
+ * The target frame to transfer the shared texture to. For `WebContents`, you can
23416
+ * pass `webContents.mainFrame`. If you provide a `webFrameMain` that is not a main
23417
+ * frame, you'll need to enable `webPreferences.nodeIntegrationInSubFrames` for
23418
+ * this, since this feature requires IPC between main and the frame.
23419
+ */
23420
+ frame: WebFrameMain;
23421
+ /**
23422
+ * The imported shared texture.
23423
+ */
23424
+ importedSharedTexture: SharedTextureImported;
23425
+ }
23426
+
22460
23427
  interface SerialPortRevokedDetails {
22461
23428
  port: SerialPort;
22462
23429
  /**
@@ -23194,6 +24161,14 @@ declare namespace Electron {
23194
24161
  * `width`.
23195
24162
  */
23196
24163
  pageSize?: (('A0' | 'A1' | 'A2' | 'A3' | 'A4' | 'A5' | 'A6' | 'Legal' | 'Letter' | 'Tabloid')) | (Size);
24164
+ /**
24165
+ * Whether to use a given printer's default page size. Default is `false`. Cannot
24166
+ * be combined with `pageSize`. When `deviceName` is provided, uses the default
24167
+ * page size of that specific printer. When `deviceName` is not provided, uses the
24168
+ * default page size of the system's default printer. If the printer's default page
24169
+ * size cannot be retrieved, falls back to A4 (210mm x 297mm).
24170
+ */
24171
+ usePrinterDefaultPageSize?: boolean;
23197
24172
  }
23198
24173
 
23199
24174
  interface WebContentsViewConstructorOptions {
@@ -23369,6 +24344,14 @@ declare namespace Electron {
23369
24344
  * `Letter`, `Tabloid` or an Object containing `height` in microns.
23370
24345
  */
23371
24346
  pageSize?: (('A3' | 'A4' | 'A5' | 'Legal' | 'Letter' | 'Tabloid')) | (Size);
24347
+ /**
24348
+ * Whether to use the system's default page size. Default is `false`. Cannot be
24349
+ * combined with `pageSize`. When `deviceName` is provided, uses the default page
24350
+ * size of that specific printer. When `deviceName` is not provided, uses the
24351
+ * default page size of the system's default printer. If the printer's default page
24352
+ * size cannot be retrieved, falls back to A4 (210mm x 297mm).
24353
+ */
24354
+ usePrinterDefaultPageSize?: boolean;
23372
24355
  }
23373
24356
 
23374
24357
  interface WillFrameNavigateEvent extends DOMEvent {
@@ -23390,6 +24373,17 @@ declare namespace Electron {
23390
24373
  edge: ('bottom' | 'left' | 'right' | 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right');
23391
24374
  }
23392
24375
 
24376
+ interface Animate {
24377
+ /**
24378
+ * Duration of the animation in milliseconds. Default is `250`.
24379
+ */
24380
+ duration?: number;
24381
+ /**
24382
+ * Easing function for the animation. Default is `linear`.
24383
+ */
24384
+ easing?: ('linear' | 'ease-in' | 'ease-out' | 'ease-in-out');
24385
+ }
24386
+
23393
24387
  interface Children {
23394
24388
  }
23395
24389
 
@@ -23757,6 +24751,24 @@ declare namespace Electron {
23757
24751
  fd: number;
23758
24752
  }
23759
24753
 
24754
+ interface TouchId {
24755
+ /**
24756
+ * The keychain access group that WebAuthn credentials will be stored under. This
24757
+ * value **must** also be present in your app's `keychain-access-groups`
24758
+ * code-signing entitlement, and is typically of the form
24759
+ * `<TEAM_ID>.<BUNDLE_ID>.webauthn`.
24760
+ */
24761
+ keychainAccessGroup: string;
24762
+ /**
24763
+ * Customizes the reason text shown in the macOS Touch ID prompt. macOS renders the
24764
+ * prompt as `"<App Name>" is trying to <promptReason>`, so the value should be a
24765
+ * lowercase sentence fragment. An optional `$1` placeholder is replaced with the
24766
+ * relying party ID (e.g. `example.com`) of the request being authenticated.
24767
+ * Defaults to `verify your identity on $1`.
24768
+ */
24769
+ promptReason?: string;
24770
+ }
24771
+
23760
24772
  interface Video {
23761
24773
  /**
23762
24774
  * The id of the stream being granted. This will usually come from a
@@ -23832,6 +24844,8 @@ declare namespace Electron {
23832
24844
  type CrashReporter = Electron.CrashReporter;
23833
24845
  const nativeImage: typeof NativeImage;
23834
24846
  type NativeImage = Electron.NativeImage;
24847
+ const sharedTexture: SharedTexture;
24848
+ type SharedTexture = Electron.SharedTexture;
23835
24849
  const shell: Shell;
23836
24850
  type Shell = Electron.Shell;
23837
24851
  type AboutPanelOptionsOptions = Electron.AboutPanelOptionsOptions;
@@ -23847,6 +24861,7 @@ declare namespace Electron {
23847
24861
  type BitmapOptions = Electron.BitmapOptions;
23848
24862
  type BlinkMemoryInfo = Electron.BlinkMemoryInfo;
23849
24863
  type BluetoothPairingHandlerHandlerDetails = Electron.BluetoothPairingHandlerHandlerDetails;
24864
+ type BoundsOptions = Electron.BoundsOptions;
23850
24865
  type BrowserViewConstructorOptions = Electron.BrowserViewConstructorOptions;
23851
24866
  type CallbackResponse = Electron.CallbackResponse;
23852
24867
  type CertificateTrustDialogOptions = Electron.CertificateTrustDialogOptions;
@@ -23862,6 +24877,7 @@ declare namespace Electron {
23862
24877
  type Configuration = Electron.Configuration;
23863
24878
  type Configurations = Electron.Configurations;
23864
24879
  type ConfigureHostResolverOptions = Electron.ConfigureHostResolverOptions;
24880
+ type ConfigureWebAuthnOptions = Electron.ConfigureWebAuthnOptions;
23865
24881
  type ConsoleMessageEvent = Electron.ConsoleMessageEvent;
23866
24882
  type ContextMenuEvent = Electron.ContextMenuEvent;
23867
24883
  type ContextMenuParams = Electron.ContextMenuParams;
@@ -23873,6 +24889,7 @@ declare namespace Electron {
23873
24889
  type CreateFromBufferOptions = Electron.CreateFromBufferOptions;
23874
24890
  type CreateInterruptedDownloadOptions = Electron.CreateInterruptedDownloadOptions;
23875
24891
  type Data = Electron.Data;
24892
+ type DecryptStringAsyncReturnValue = Electron.DecryptStringAsyncReturnValue;
23876
24893
  type DefaultFontFamily = Electron.DefaultFontFamily;
23877
24894
  type Details = Electron.Details;
23878
24895
  type DevicePermissionHandlerHandlerDetails = Electron.DevicePermissionHandlerHandlerDetails;
@@ -23911,6 +24928,7 @@ declare namespace Electron {
23911
24928
  type HidDeviceRevokedDetails = Electron.HidDeviceRevokedDetails;
23912
24929
  type IgnoreMouseEventsOptions = Electron.IgnoreMouseEventsOptions;
23913
24930
  type ImportCertificateOptions = Electron.ImportCertificateOptions;
24931
+ type ImportSharedTextureOptions = Electron.ImportSharedTextureOptions;
23914
24932
  type Info = Electron.Info;
23915
24933
  type Input = Electron.Input;
23916
24934
  type InsertCSSOptions = Electron.InsertCSSOptions;
@@ -23932,7 +24950,10 @@ declare namespace Electron {
23932
24950
  type MessageEvent = Electron.MessageEvent;
23933
24951
  type MoveToApplicationsFolderOptions = Electron.MoveToApplicationsFolderOptions;
23934
24952
  type NativePixmap = Electron.NativePixmap;
24953
+ type NotificationActionEventParams = Electron.NotificationActionEventParams;
24954
+ type NotificationCloseEventParams = Electron.NotificationCloseEventParams;
23935
24955
  type NotificationConstructorOptions = Electron.NotificationConstructorOptions;
24956
+ type NotificationReplyEventParams = Electron.NotificationReplyEventParams;
23936
24957
  type Offscreen = Electron.Offscreen;
23937
24958
  type OnBeforeRedirectListenerDetails = Electron.OnBeforeRedirectListenerDetails;
23938
24959
  type OnBeforeRequestListenerDetails = Electron.OnBeforeRequestListenerDetails;
@@ -23964,6 +24985,7 @@ declare namespace Electron {
23964
24985
  type Provider = Electron.Provider;
23965
24986
  type PurchaseProductOpts = Electron.PurchaseProductOpts;
23966
24987
  type ReadBookmark = Electron.ReadBookmark;
24988
+ type ReceivedSharedTextureData = Electron.ReceivedSharedTextureData;
23967
24989
  type RegistrationCompletedDetails = Electron.RegistrationCompletedDetails;
23968
24990
  type RelaunchOptions = Electron.RelaunchOptions;
23969
24991
  type RenderProcessGoneEvent = Electron.RenderProcessGoneEvent;
@@ -23979,6 +25001,8 @@ declare namespace Electron {
23979
25001
  type SaveDialogSyncOptions = Electron.SaveDialogSyncOptions;
23980
25002
  type SelectHidDeviceDetails = Electron.SelectHidDeviceDetails;
23981
25003
  type SelectUsbDeviceDetails = Electron.SelectUsbDeviceDetails;
25004
+ type SelectWebauthnAccountDetails = Electron.SelectWebauthnAccountDetails;
25005
+ type SendSharedTextureOptions = Electron.SendSharedTextureOptions;
23982
25006
  type SerialPortRevokedDetails = Electron.SerialPortRevokedDetails;
23983
25007
  type ServiceWorkersRunningStatusChangedEventParams = Electron.ServiceWorkersRunningStatusChangedEventParams;
23984
25008
  type Settings = Electron.Settings;
@@ -24028,6 +25052,7 @@ declare namespace Electron {
24028
25052
  type WillFrameNavigateEvent = Electron.WillFrameNavigateEvent;
24029
25053
  type WillNavigateEvent = Electron.WillNavigateEvent;
24030
25054
  type WillResizeDetails = Electron.WillResizeDetails;
25055
+ type Animate = Electron.Animate;
24031
25056
  type Children = Electron.Children;
24032
25057
  type EditFlags = Electron.EditFlags;
24033
25058
  type Env = Electron.Env;
@@ -24043,12 +25068,14 @@ declare namespace Electron {
24043
25068
  type PageRanges = Electron.PageRanges;
24044
25069
  type Params = Electron.Params;
24045
25070
  type Planes = Electron.Planes;
25071
+ type TouchId = Electron.TouchId;
24046
25072
  type Video = Electron.Video;
24047
25073
  type Alternate = Electron.Alternate;
24048
25074
  type Alternates = Electron.Alternates;
24049
25075
  type Endpoints = Electron.Endpoints;
24050
25076
  type BaseWindowConstructorOptions = Electron.BaseWindowConstructorOptions;
24051
25077
  type BrowserWindowConstructorOptions = Electron.BrowserWindowConstructorOptions;
25078
+ type ActivationArguments = Electron.ActivationArguments;
24052
25079
  type BluetoothDevice = Electron.BluetoothDevice;
24053
25080
  type Certificate = Electron.Certificate;
24054
25081
  type CertificatePrincipal = Electron.CertificatePrincipal;
@@ -24059,6 +25086,7 @@ declare namespace Electron {
24059
25086
  type CustomScheme = Electron.CustomScheme;
24060
25087
  type DesktopCapturerSource = Electron.DesktopCapturerSource;
24061
25088
  type Display = Electron.Display;
25089
+ type EnableHeapProfilingOptions = Electron.EnableHeapProfilingOptions;
24062
25090
  type Extension = Electron.Extension;
24063
25091
  type ExtensionInfo = Electron.ExtensionInfo;
24064
25092
  type FileFilter = Electron.FileFilter;
@@ -24115,6 +25143,12 @@ declare namespace Electron {
24115
25143
  type SharedDictionaryInfo = Electron.SharedDictionaryInfo;
24116
25144
  type SharedDictionaryUsageInfo = Electron.SharedDictionaryUsageInfo;
24117
25145
  type SharedTextureHandle = Electron.SharedTextureHandle;
25146
+ type SharedTextureImported = Electron.SharedTextureImported;
25147
+ type SharedTextureImportedSubtle = Electron.SharedTextureImportedSubtle;
25148
+ type SharedTextureImportTextureInfo = Electron.SharedTextureImportTextureInfo;
25149
+ type SharedTextureSubtle = Electron.SharedTextureSubtle;
25150
+ type SharedTextureSyncToken = Electron.SharedTextureSyncToken;
25151
+ type SharedTextureTransfer = Electron.SharedTextureTransfer;
24118
25152
  type SharedWorkerInfo = Electron.SharedWorkerInfo;
24119
25153
  type SharingItem = Electron.SharingItem;
24120
25154
  type ShortcutDetails = Electron.ShortcutDetails;
@@ -24129,8 +25163,10 @@ declare namespace Electron {
24129
25163
  type UploadRawData = Electron.UploadRawData;
24130
25164
  type USBDevice = Electron.USBDevice;
24131
25165
  type UserDefaultTypes = Electron.UserDefaultTypes;
25166
+ type WebAuthnAccount = Electron.WebAuthnAccount;
24132
25167
  type WebPreferences = Electron.WebPreferences;
24133
25168
  type WebRequestFilter = Electron.WebRequestFilter;
25169
+ type WebSocketOptions = Electron.WebSocketOptions;
24134
25170
  type WebSource = Electron.WebSource;
24135
25171
  type WindowOpenHandlerResponse = Electron.WindowOpenHandlerResponse;
24136
25172
  type WindowSessionEndEvent = Electron.WindowSessionEndEvent;
@@ -24219,6 +25255,7 @@ declare namespace Electron {
24219
25255
  const webFrameMain: typeof WebFrameMain;
24220
25256
  type WebFrameMain = Electron.WebFrameMain;
24221
25257
  type WebRequest = Electron.WebRequest;
25258
+ class WebSocket extends Electron.WebSocket {}
24222
25259
  type AboutPanelOptionsOptions = Electron.AboutPanelOptionsOptions;
24223
25260
  type AddRepresentationOptions = Electron.AddRepresentationOptions;
24224
25261
  type AdjustSelectionOptions = Electron.AdjustSelectionOptions;
@@ -24232,6 +25269,7 @@ declare namespace Electron {
24232
25269
  type BitmapOptions = Electron.BitmapOptions;
24233
25270
  type BlinkMemoryInfo = Electron.BlinkMemoryInfo;
24234
25271
  type BluetoothPairingHandlerHandlerDetails = Electron.BluetoothPairingHandlerHandlerDetails;
25272
+ type BoundsOptions = Electron.BoundsOptions;
24235
25273
  type BrowserViewConstructorOptions = Electron.BrowserViewConstructorOptions;
24236
25274
  type CallbackResponse = Electron.CallbackResponse;
24237
25275
  type CertificateTrustDialogOptions = Electron.CertificateTrustDialogOptions;
@@ -24247,6 +25285,7 @@ declare namespace Electron {
24247
25285
  type Configuration = Electron.Configuration;
24248
25286
  type Configurations = Electron.Configurations;
24249
25287
  type ConfigureHostResolverOptions = Electron.ConfigureHostResolverOptions;
25288
+ type ConfigureWebAuthnOptions = Electron.ConfigureWebAuthnOptions;
24250
25289
  type ConsoleMessageEvent = Electron.ConsoleMessageEvent;
24251
25290
  type ContextMenuEvent = Electron.ContextMenuEvent;
24252
25291
  type ContextMenuParams = Electron.ContextMenuParams;
@@ -24258,6 +25297,7 @@ declare namespace Electron {
24258
25297
  type CreateFromBufferOptions = Electron.CreateFromBufferOptions;
24259
25298
  type CreateInterruptedDownloadOptions = Electron.CreateInterruptedDownloadOptions;
24260
25299
  type Data = Electron.Data;
25300
+ type DecryptStringAsyncReturnValue = Electron.DecryptStringAsyncReturnValue;
24261
25301
  type DefaultFontFamily = Electron.DefaultFontFamily;
24262
25302
  type Details = Electron.Details;
24263
25303
  type DevicePermissionHandlerHandlerDetails = Electron.DevicePermissionHandlerHandlerDetails;
@@ -24296,6 +25336,7 @@ declare namespace Electron {
24296
25336
  type HidDeviceRevokedDetails = Electron.HidDeviceRevokedDetails;
24297
25337
  type IgnoreMouseEventsOptions = Electron.IgnoreMouseEventsOptions;
24298
25338
  type ImportCertificateOptions = Electron.ImportCertificateOptions;
25339
+ type ImportSharedTextureOptions = Electron.ImportSharedTextureOptions;
24299
25340
  type Info = Electron.Info;
24300
25341
  type Input = Electron.Input;
24301
25342
  type InsertCSSOptions = Electron.InsertCSSOptions;
@@ -24317,7 +25358,10 @@ declare namespace Electron {
24317
25358
  type MessageEvent = Electron.MessageEvent;
24318
25359
  type MoveToApplicationsFolderOptions = Electron.MoveToApplicationsFolderOptions;
24319
25360
  type NativePixmap = Electron.NativePixmap;
25361
+ type NotificationActionEventParams = Electron.NotificationActionEventParams;
25362
+ type NotificationCloseEventParams = Electron.NotificationCloseEventParams;
24320
25363
  type NotificationConstructorOptions = Electron.NotificationConstructorOptions;
25364
+ type NotificationReplyEventParams = Electron.NotificationReplyEventParams;
24321
25365
  type Offscreen = Electron.Offscreen;
24322
25366
  type OnBeforeRedirectListenerDetails = Electron.OnBeforeRedirectListenerDetails;
24323
25367
  type OnBeforeRequestListenerDetails = Electron.OnBeforeRequestListenerDetails;
@@ -24349,6 +25393,7 @@ declare namespace Electron {
24349
25393
  type Provider = Electron.Provider;
24350
25394
  type PurchaseProductOpts = Electron.PurchaseProductOpts;
24351
25395
  type ReadBookmark = Electron.ReadBookmark;
25396
+ type ReceivedSharedTextureData = Electron.ReceivedSharedTextureData;
24352
25397
  type RegistrationCompletedDetails = Electron.RegistrationCompletedDetails;
24353
25398
  type RelaunchOptions = Electron.RelaunchOptions;
24354
25399
  type RenderProcessGoneEvent = Electron.RenderProcessGoneEvent;
@@ -24364,6 +25409,8 @@ declare namespace Electron {
24364
25409
  type SaveDialogSyncOptions = Electron.SaveDialogSyncOptions;
24365
25410
  type SelectHidDeviceDetails = Electron.SelectHidDeviceDetails;
24366
25411
  type SelectUsbDeviceDetails = Electron.SelectUsbDeviceDetails;
25412
+ type SelectWebauthnAccountDetails = Electron.SelectWebauthnAccountDetails;
25413
+ type SendSharedTextureOptions = Electron.SendSharedTextureOptions;
24367
25414
  type SerialPortRevokedDetails = Electron.SerialPortRevokedDetails;
24368
25415
  type ServiceWorkersRunningStatusChangedEventParams = Electron.ServiceWorkersRunningStatusChangedEventParams;
24369
25416
  type Settings = Electron.Settings;
@@ -24413,6 +25460,7 @@ declare namespace Electron {
24413
25460
  type WillFrameNavigateEvent = Electron.WillFrameNavigateEvent;
24414
25461
  type WillNavigateEvent = Electron.WillNavigateEvent;
24415
25462
  type WillResizeDetails = Electron.WillResizeDetails;
25463
+ type Animate = Electron.Animate;
24416
25464
  type Children = Electron.Children;
24417
25465
  type EditFlags = Electron.EditFlags;
24418
25466
  type Env = Electron.Env;
@@ -24428,12 +25476,14 @@ declare namespace Electron {
24428
25476
  type PageRanges = Electron.PageRanges;
24429
25477
  type Params = Electron.Params;
24430
25478
  type Planes = Electron.Planes;
25479
+ type TouchId = Electron.TouchId;
24431
25480
  type Video = Electron.Video;
24432
25481
  type Alternate = Electron.Alternate;
24433
25482
  type Alternates = Electron.Alternates;
24434
25483
  type Endpoints = Electron.Endpoints;
24435
25484
  type BaseWindowConstructorOptions = Electron.BaseWindowConstructorOptions;
24436
25485
  type BrowserWindowConstructorOptions = Electron.BrowserWindowConstructorOptions;
25486
+ type ActivationArguments = Electron.ActivationArguments;
24437
25487
  type BluetoothDevice = Electron.BluetoothDevice;
24438
25488
  type Certificate = Electron.Certificate;
24439
25489
  type CertificatePrincipal = Electron.CertificatePrincipal;
@@ -24444,6 +25494,7 @@ declare namespace Electron {
24444
25494
  type CustomScheme = Electron.CustomScheme;
24445
25495
  type DesktopCapturerSource = Electron.DesktopCapturerSource;
24446
25496
  type Display = Electron.Display;
25497
+ type EnableHeapProfilingOptions = Electron.EnableHeapProfilingOptions;
24447
25498
  type Extension = Electron.Extension;
24448
25499
  type ExtensionInfo = Electron.ExtensionInfo;
24449
25500
  type FileFilter = Electron.FileFilter;
@@ -24500,6 +25551,12 @@ declare namespace Electron {
24500
25551
  type SharedDictionaryInfo = Electron.SharedDictionaryInfo;
24501
25552
  type SharedDictionaryUsageInfo = Electron.SharedDictionaryUsageInfo;
24502
25553
  type SharedTextureHandle = Electron.SharedTextureHandle;
25554
+ type SharedTextureImported = Electron.SharedTextureImported;
25555
+ type SharedTextureImportedSubtle = Electron.SharedTextureImportedSubtle;
25556
+ type SharedTextureImportTextureInfo = Electron.SharedTextureImportTextureInfo;
25557
+ type SharedTextureSubtle = Electron.SharedTextureSubtle;
25558
+ type SharedTextureSyncToken = Electron.SharedTextureSyncToken;
25559
+ type SharedTextureTransfer = Electron.SharedTextureTransfer;
24503
25560
  type SharedWorkerInfo = Electron.SharedWorkerInfo;
24504
25561
  type SharingItem = Electron.SharingItem;
24505
25562
  type ShortcutDetails = Electron.ShortcutDetails;
@@ -24514,8 +25571,10 @@ declare namespace Electron {
24514
25571
  type UploadRawData = Electron.UploadRawData;
24515
25572
  type USBDevice = Electron.USBDevice;
24516
25573
  type UserDefaultTypes = Electron.UserDefaultTypes;
25574
+ type WebAuthnAccount = Electron.WebAuthnAccount;
24517
25575
  type WebPreferences = Electron.WebPreferences;
24518
25576
  type WebRequestFilter = Electron.WebRequestFilter;
25577
+ type WebSocketOptions = Electron.WebSocketOptions;
24519
25578
  type WebSource = Electron.WebSource;
24520
25579
  type WindowOpenHandlerResponse = Electron.WindowOpenHandlerResponse;
24521
25580
  type WindowSessionEndEvent = Electron.WindowSessionEndEvent;
@@ -24545,6 +25604,7 @@ declare namespace Electron {
24545
25604
  type BitmapOptions = Electron.BitmapOptions;
24546
25605
  type BlinkMemoryInfo = Electron.BlinkMemoryInfo;
24547
25606
  type BluetoothPairingHandlerHandlerDetails = Electron.BluetoothPairingHandlerHandlerDetails;
25607
+ type BoundsOptions = Electron.BoundsOptions;
24548
25608
  type BrowserViewConstructorOptions = Electron.BrowserViewConstructorOptions;
24549
25609
  type CallbackResponse = Electron.CallbackResponse;
24550
25610
  type CertificateTrustDialogOptions = Electron.CertificateTrustDialogOptions;
@@ -24560,6 +25620,7 @@ declare namespace Electron {
24560
25620
  type Configuration = Electron.Configuration;
24561
25621
  type Configurations = Electron.Configurations;
24562
25622
  type ConfigureHostResolverOptions = Electron.ConfigureHostResolverOptions;
25623
+ type ConfigureWebAuthnOptions = Electron.ConfigureWebAuthnOptions;
24563
25624
  type ConsoleMessageEvent = Electron.ConsoleMessageEvent;
24564
25625
  type ContextMenuEvent = Electron.ContextMenuEvent;
24565
25626
  type ContextMenuParams = Electron.ContextMenuParams;
@@ -24571,6 +25632,7 @@ declare namespace Electron {
24571
25632
  type CreateFromBufferOptions = Electron.CreateFromBufferOptions;
24572
25633
  type CreateInterruptedDownloadOptions = Electron.CreateInterruptedDownloadOptions;
24573
25634
  type Data = Electron.Data;
25635
+ type DecryptStringAsyncReturnValue = Electron.DecryptStringAsyncReturnValue;
24574
25636
  type DefaultFontFamily = Electron.DefaultFontFamily;
24575
25637
  type Details = Electron.Details;
24576
25638
  type DevicePermissionHandlerHandlerDetails = Electron.DevicePermissionHandlerHandlerDetails;
@@ -24609,6 +25671,7 @@ declare namespace Electron {
24609
25671
  type HidDeviceRevokedDetails = Electron.HidDeviceRevokedDetails;
24610
25672
  type IgnoreMouseEventsOptions = Electron.IgnoreMouseEventsOptions;
24611
25673
  type ImportCertificateOptions = Electron.ImportCertificateOptions;
25674
+ type ImportSharedTextureOptions = Electron.ImportSharedTextureOptions;
24612
25675
  type Info = Electron.Info;
24613
25676
  type Input = Electron.Input;
24614
25677
  type InsertCSSOptions = Electron.InsertCSSOptions;
@@ -24630,7 +25693,10 @@ declare namespace Electron {
24630
25693
  type MessageEvent = Electron.MessageEvent;
24631
25694
  type MoveToApplicationsFolderOptions = Electron.MoveToApplicationsFolderOptions;
24632
25695
  type NativePixmap = Electron.NativePixmap;
25696
+ type NotificationActionEventParams = Electron.NotificationActionEventParams;
25697
+ type NotificationCloseEventParams = Electron.NotificationCloseEventParams;
24633
25698
  type NotificationConstructorOptions = Electron.NotificationConstructorOptions;
25699
+ type NotificationReplyEventParams = Electron.NotificationReplyEventParams;
24634
25700
  type Offscreen = Electron.Offscreen;
24635
25701
  type OnBeforeRedirectListenerDetails = Electron.OnBeforeRedirectListenerDetails;
24636
25702
  type OnBeforeRequestListenerDetails = Electron.OnBeforeRequestListenerDetails;
@@ -24662,6 +25728,7 @@ declare namespace Electron {
24662
25728
  type Provider = Electron.Provider;
24663
25729
  type PurchaseProductOpts = Electron.PurchaseProductOpts;
24664
25730
  type ReadBookmark = Electron.ReadBookmark;
25731
+ type ReceivedSharedTextureData = Electron.ReceivedSharedTextureData;
24665
25732
  type RegistrationCompletedDetails = Electron.RegistrationCompletedDetails;
24666
25733
  type RelaunchOptions = Electron.RelaunchOptions;
24667
25734
  type RenderProcessGoneEvent = Electron.RenderProcessGoneEvent;
@@ -24677,6 +25744,8 @@ declare namespace Electron {
24677
25744
  type SaveDialogSyncOptions = Electron.SaveDialogSyncOptions;
24678
25745
  type SelectHidDeviceDetails = Electron.SelectHidDeviceDetails;
24679
25746
  type SelectUsbDeviceDetails = Electron.SelectUsbDeviceDetails;
25747
+ type SelectWebauthnAccountDetails = Electron.SelectWebauthnAccountDetails;
25748
+ type SendSharedTextureOptions = Electron.SendSharedTextureOptions;
24680
25749
  type SerialPortRevokedDetails = Electron.SerialPortRevokedDetails;
24681
25750
  type ServiceWorkersRunningStatusChangedEventParams = Electron.ServiceWorkersRunningStatusChangedEventParams;
24682
25751
  type Settings = Electron.Settings;
@@ -24726,6 +25795,7 @@ declare namespace Electron {
24726
25795
  type WillFrameNavigateEvent = Electron.WillFrameNavigateEvent;
24727
25796
  type WillNavigateEvent = Electron.WillNavigateEvent;
24728
25797
  type WillResizeDetails = Electron.WillResizeDetails;
25798
+ type Animate = Electron.Animate;
24729
25799
  type Children = Electron.Children;
24730
25800
  type EditFlags = Electron.EditFlags;
24731
25801
  type Env = Electron.Env;
@@ -24741,12 +25811,14 @@ declare namespace Electron {
24741
25811
  type PageRanges = Electron.PageRanges;
24742
25812
  type Params = Electron.Params;
24743
25813
  type Planes = Electron.Planes;
25814
+ type TouchId = Electron.TouchId;
24744
25815
  type Video = Electron.Video;
24745
25816
  type Alternate = Electron.Alternate;
24746
25817
  type Alternates = Electron.Alternates;
24747
25818
  type Endpoints = Electron.Endpoints;
24748
25819
  type BaseWindowConstructorOptions = Electron.BaseWindowConstructorOptions;
24749
25820
  type BrowserWindowConstructorOptions = Electron.BrowserWindowConstructorOptions;
25821
+ type ActivationArguments = Electron.ActivationArguments;
24750
25822
  type BluetoothDevice = Electron.BluetoothDevice;
24751
25823
  type Certificate = Electron.Certificate;
24752
25824
  type CertificatePrincipal = Electron.CertificatePrincipal;
@@ -24757,6 +25829,7 @@ declare namespace Electron {
24757
25829
  type CustomScheme = Electron.CustomScheme;
24758
25830
  type DesktopCapturerSource = Electron.DesktopCapturerSource;
24759
25831
  type Display = Electron.Display;
25832
+ type EnableHeapProfilingOptions = Electron.EnableHeapProfilingOptions;
24760
25833
  type Extension = Electron.Extension;
24761
25834
  type ExtensionInfo = Electron.ExtensionInfo;
24762
25835
  type FileFilter = Electron.FileFilter;
@@ -24813,6 +25886,12 @@ declare namespace Electron {
24813
25886
  type SharedDictionaryInfo = Electron.SharedDictionaryInfo;
24814
25887
  type SharedDictionaryUsageInfo = Electron.SharedDictionaryUsageInfo;
24815
25888
  type SharedTextureHandle = Electron.SharedTextureHandle;
25889
+ type SharedTextureImported = Electron.SharedTextureImported;
25890
+ type SharedTextureImportedSubtle = Electron.SharedTextureImportedSubtle;
25891
+ type SharedTextureImportTextureInfo = Electron.SharedTextureImportTextureInfo;
25892
+ type SharedTextureSubtle = Electron.SharedTextureSubtle;
25893
+ type SharedTextureSyncToken = Electron.SharedTextureSyncToken;
25894
+ type SharedTextureTransfer = Electron.SharedTextureTransfer;
24816
25895
  type SharedWorkerInfo = Electron.SharedWorkerInfo;
24817
25896
  type SharingItem = Electron.SharingItem;
24818
25897
  type ShortcutDetails = Electron.ShortcutDetails;
@@ -24827,8 +25906,10 @@ declare namespace Electron {
24827
25906
  type UploadRawData = Electron.UploadRawData;
24828
25907
  type USBDevice = Electron.USBDevice;
24829
25908
  type UserDefaultTypes = Electron.UserDefaultTypes;
25909
+ type WebAuthnAccount = Electron.WebAuthnAccount;
24830
25910
  type WebPreferences = Electron.WebPreferences;
24831
25911
  type WebRequestFilter = Electron.WebRequestFilter;
25912
+ type WebSocketOptions = Electron.WebSocketOptions;
24832
25913
  type WebSource = Electron.WebSource;
24833
25914
  type WindowOpenHandlerResponse = Electron.WindowOpenHandlerResponse;
24834
25915
  type WindowSessionEndEvent = Electron.WindowSessionEndEvent;
@@ -24857,6 +25938,7 @@ declare namespace Electron {
24857
25938
  type BitmapOptions = Electron.BitmapOptions;
24858
25939
  type BlinkMemoryInfo = Electron.BlinkMemoryInfo;
24859
25940
  type BluetoothPairingHandlerHandlerDetails = Electron.BluetoothPairingHandlerHandlerDetails;
25941
+ type BoundsOptions = Electron.BoundsOptions;
24860
25942
  type BrowserViewConstructorOptions = Electron.BrowserViewConstructorOptions;
24861
25943
  type CallbackResponse = Electron.CallbackResponse;
24862
25944
  type CertificateTrustDialogOptions = Electron.CertificateTrustDialogOptions;
@@ -24872,6 +25954,7 @@ declare namespace Electron {
24872
25954
  type Configuration = Electron.Configuration;
24873
25955
  type Configurations = Electron.Configurations;
24874
25956
  type ConfigureHostResolverOptions = Electron.ConfigureHostResolverOptions;
25957
+ type ConfigureWebAuthnOptions = Electron.ConfigureWebAuthnOptions;
24875
25958
  type ConsoleMessageEvent = Electron.ConsoleMessageEvent;
24876
25959
  type ContextMenuEvent = Electron.ContextMenuEvent;
24877
25960
  type ContextMenuParams = Electron.ContextMenuParams;
@@ -24883,6 +25966,7 @@ declare namespace Electron {
24883
25966
  type CreateFromBufferOptions = Electron.CreateFromBufferOptions;
24884
25967
  type CreateInterruptedDownloadOptions = Electron.CreateInterruptedDownloadOptions;
24885
25968
  type Data = Electron.Data;
25969
+ type DecryptStringAsyncReturnValue = Electron.DecryptStringAsyncReturnValue;
24886
25970
  type DefaultFontFamily = Electron.DefaultFontFamily;
24887
25971
  type Details = Electron.Details;
24888
25972
  type DevicePermissionHandlerHandlerDetails = Electron.DevicePermissionHandlerHandlerDetails;
@@ -24921,6 +26005,7 @@ declare namespace Electron {
24921
26005
  type HidDeviceRevokedDetails = Electron.HidDeviceRevokedDetails;
24922
26006
  type IgnoreMouseEventsOptions = Electron.IgnoreMouseEventsOptions;
24923
26007
  type ImportCertificateOptions = Electron.ImportCertificateOptions;
26008
+ type ImportSharedTextureOptions = Electron.ImportSharedTextureOptions;
24924
26009
  type Info = Electron.Info;
24925
26010
  type Input = Electron.Input;
24926
26011
  type InsertCSSOptions = Electron.InsertCSSOptions;
@@ -24942,7 +26027,10 @@ declare namespace Electron {
24942
26027
  type MessageEvent = Electron.MessageEvent;
24943
26028
  type MoveToApplicationsFolderOptions = Electron.MoveToApplicationsFolderOptions;
24944
26029
  type NativePixmap = Electron.NativePixmap;
26030
+ type NotificationActionEventParams = Electron.NotificationActionEventParams;
26031
+ type NotificationCloseEventParams = Electron.NotificationCloseEventParams;
24945
26032
  type NotificationConstructorOptions = Electron.NotificationConstructorOptions;
26033
+ type NotificationReplyEventParams = Electron.NotificationReplyEventParams;
24946
26034
  type Offscreen = Electron.Offscreen;
24947
26035
  type OnBeforeRedirectListenerDetails = Electron.OnBeforeRedirectListenerDetails;
24948
26036
  type OnBeforeRequestListenerDetails = Electron.OnBeforeRequestListenerDetails;
@@ -24974,6 +26062,7 @@ declare namespace Electron {
24974
26062
  type Provider = Electron.Provider;
24975
26063
  type PurchaseProductOpts = Electron.PurchaseProductOpts;
24976
26064
  type ReadBookmark = Electron.ReadBookmark;
26065
+ type ReceivedSharedTextureData = Electron.ReceivedSharedTextureData;
24977
26066
  type RegistrationCompletedDetails = Electron.RegistrationCompletedDetails;
24978
26067
  type RelaunchOptions = Electron.RelaunchOptions;
24979
26068
  type RenderProcessGoneEvent = Electron.RenderProcessGoneEvent;
@@ -24989,6 +26078,8 @@ declare namespace Electron {
24989
26078
  type SaveDialogSyncOptions = Electron.SaveDialogSyncOptions;
24990
26079
  type SelectHidDeviceDetails = Electron.SelectHidDeviceDetails;
24991
26080
  type SelectUsbDeviceDetails = Electron.SelectUsbDeviceDetails;
26081
+ type SelectWebauthnAccountDetails = Electron.SelectWebauthnAccountDetails;
26082
+ type SendSharedTextureOptions = Electron.SendSharedTextureOptions;
24992
26083
  type SerialPortRevokedDetails = Electron.SerialPortRevokedDetails;
24993
26084
  type ServiceWorkersRunningStatusChangedEventParams = Electron.ServiceWorkersRunningStatusChangedEventParams;
24994
26085
  type Settings = Electron.Settings;
@@ -25038,6 +26129,7 @@ declare namespace Electron {
25038
26129
  type WillFrameNavigateEvent = Electron.WillFrameNavigateEvent;
25039
26130
  type WillNavigateEvent = Electron.WillNavigateEvent;
25040
26131
  type WillResizeDetails = Electron.WillResizeDetails;
26132
+ type Animate = Electron.Animate;
25041
26133
  type Children = Electron.Children;
25042
26134
  type EditFlags = Electron.EditFlags;
25043
26135
  type Env = Electron.Env;
@@ -25053,12 +26145,14 @@ declare namespace Electron {
25053
26145
  type PageRanges = Electron.PageRanges;
25054
26146
  type Params = Electron.Params;
25055
26147
  type Planes = Electron.Planes;
26148
+ type TouchId = Electron.TouchId;
25056
26149
  type Video = Electron.Video;
25057
26150
  type Alternate = Electron.Alternate;
25058
26151
  type Alternates = Electron.Alternates;
25059
26152
  type Endpoints = Electron.Endpoints;
25060
26153
  type BaseWindowConstructorOptions = Electron.BaseWindowConstructorOptions;
25061
26154
  type BrowserWindowConstructorOptions = Electron.BrowserWindowConstructorOptions;
26155
+ type ActivationArguments = Electron.ActivationArguments;
25062
26156
  type BluetoothDevice = Electron.BluetoothDevice;
25063
26157
  type Certificate = Electron.Certificate;
25064
26158
  type CertificatePrincipal = Electron.CertificatePrincipal;
@@ -25069,6 +26163,7 @@ declare namespace Electron {
25069
26163
  type CustomScheme = Electron.CustomScheme;
25070
26164
  type DesktopCapturerSource = Electron.DesktopCapturerSource;
25071
26165
  type Display = Electron.Display;
26166
+ type EnableHeapProfilingOptions = Electron.EnableHeapProfilingOptions;
25072
26167
  type Extension = Electron.Extension;
25073
26168
  type ExtensionInfo = Electron.ExtensionInfo;
25074
26169
  type FileFilter = Electron.FileFilter;
@@ -25125,6 +26220,12 @@ declare namespace Electron {
25125
26220
  type SharedDictionaryInfo = Electron.SharedDictionaryInfo;
25126
26221
  type SharedDictionaryUsageInfo = Electron.SharedDictionaryUsageInfo;
25127
26222
  type SharedTextureHandle = Electron.SharedTextureHandle;
26223
+ type SharedTextureImported = Electron.SharedTextureImported;
26224
+ type SharedTextureImportedSubtle = Electron.SharedTextureImportedSubtle;
26225
+ type SharedTextureImportTextureInfo = Electron.SharedTextureImportTextureInfo;
26226
+ type SharedTextureSubtle = Electron.SharedTextureSubtle;
26227
+ type SharedTextureSyncToken = Electron.SharedTextureSyncToken;
26228
+ type SharedTextureTransfer = Electron.SharedTextureTransfer;
25128
26229
  type SharedWorkerInfo = Electron.SharedWorkerInfo;
25129
26230
  type SharingItem = Electron.SharingItem;
25130
26231
  type ShortcutDetails = Electron.ShortcutDetails;
@@ -25139,8 +26240,10 @@ declare namespace Electron {
25139
26240
  type UploadRawData = Electron.UploadRawData;
25140
26241
  type USBDevice = Electron.USBDevice;
25141
26242
  type UserDefaultTypes = Electron.UserDefaultTypes;
26243
+ type WebAuthnAccount = Electron.WebAuthnAccount;
25142
26244
  type WebPreferences = Electron.WebPreferences;
25143
26245
  type WebRequestFilter = Electron.WebRequestFilter;
26246
+ type WebSocketOptions = Electron.WebSocketOptions;
25144
26247
  type WebSource = Electron.WebSource;
25145
26248
  type WindowOpenHandlerResponse = Electron.WindowOpenHandlerResponse;
25146
26249
  type WindowSessionEndEvent = Electron.WindowSessionEndEvent;
@@ -25217,6 +26320,8 @@ declare namespace Electron {
25217
26320
  type ServiceWorkers = Electron.ServiceWorkers;
25218
26321
  const session: typeof Session;
25219
26322
  type Session = Electron.Session;
26323
+ const sharedTexture: SharedTexture;
26324
+ type SharedTexture = Electron.SharedTexture;
25220
26325
  class ShareMenu extends Electron.ShareMenu {}
25221
26326
  const shell: Shell;
25222
26327
  type Shell = Electron.Shell;
@@ -25245,6 +26350,7 @@ declare namespace Electron {
25245
26350
  const webFrameMain: typeof WebFrameMain;
25246
26351
  type WebFrameMain = Electron.WebFrameMain;
25247
26352
  type WebRequest = Electron.WebRequest;
26353
+ class WebSocket extends Electron.WebSocket {}
25248
26354
  const webUtils: WebUtils;
25249
26355
  type WebUtils = Electron.WebUtils;
25250
26356
  type WebviewTag = Electron.WebviewTag;
@@ -25261,6 +26367,7 @@ declare namespace Electron {
25261
26367
  type BitmapOptions = Electron.BitmapOptions;
25262
26368
  type BlinkMemoryInfo = Electron.BlinkMemoryInfo;
25263
26369
  type BluetoothPairingHandlerHandlerDetails = Electron.BluetoothPairingHandlerHandlerDetails;
26370
+ type BoundsOptions = Electron.BoundsOptions;
25264
26371
  type BrowserViewConstructorOptions = Electron.BrowserViewConstructorOptions;
25265
26372
  type CallbackResponse = Electron.CallbackResponse;
25266
26373
  type CertificateTrustDialogOptions = Electron.CertificateTrustDialogOptions;
@@ -25276,6 +26383,7 @@ declare namespace Electron {
25276
26383
  type Configuration = Electron.Configuration;
25277
26384
  type Configurations = Electron.Configurations;
25278
26385
  type ConfigureHostResolverOptions = Electron.ConfigureHostResolverOptions;
26386
+ type ConfigureWebAuthnOptions = Electron.ConfigureWebAuthnOptions;
25279
26387
  type ConsoleMessageEvent = Electron.ConsoleMessageEvent;
25280
26388
  type ContextMenuEvent = Electron.ContextMenuEvent;
25281
26389
  type ContextMenuParams = Electron.ContextMenuParams;
@@ -25287,6 +26395,7 @@ declare namespace Electron {
25287
26395
  type CreateFromBufferOptions = Electron.CreateFromBufferOptions;
25288
26396
  type CreateInterruptedDownloadOptions = Electron.CreateInterruptedDownloadOptions;
25289
26397
  type Data = Electron.Data;
26398
+ type DecryptStringAsyncReturnValue = Electron.DecryptStringAsyncReturnValue;
25290
26399
  type DefaultFontFamily = Electron.DefaultFontFamily;
25291
26400
  type Details = Electron.Details;
25292
26401
  type DevicePermissionHandlerHandlerDetails = Electron.DevicePermissionHandlerHandlerDetails;
@@ -25325,6 +26434,7 @@ declare namespace Electron {
25325
26434
  type HidDeviceRevokedDetails = Electron.HidDeviceRevokedDetails;
25326
26435
  type IgnoreMouseEventsOptions = Electron.IgnoreMouseEventsOptions;
25327
26436
  type ImportCertificateOptions = Electron.ImportCertificateOptions;
26437
+ type ImportSharedTextureOptions = Electron.ImportSharedTextureOptions;
25328
26438
  type Info = Electron.Info;
25329
26439
  type Input = Electron.Input;
25330
26440
  type InsertCSSOptions = Electron.InsertCSSOptions;
@@ -25346,7 +26456,10 @@ declare namespace Electron {
25346
26456
  type MessageEvent = Electron.MessageEvent;
25347
26457
  type MoveToApplicationsFolderOptions = Electron.MoveToApplicationsFolderOptions;
25348
26458
  type NativePixmap = Electron.NativePixmap;
26459
+ type NotificationActionEventParams = Electron.NotificationActionEventParams;
26460
+ type NotificationCloseEventParams = Electron.NotificationCloseEventParams;
25349
26461
  type NotificationConstructorOptions = Electron.NotificationConstructorOptions;
26462
+ type NotificationReplyEventParams = Electron.NotificationReplyEventParams;
25350
26463
  type Offscreen = Electron.Offscreen;
25351
26464
  type OnBeforeRedirectListenerDetails = Electron.OnBeforeRedirectListenerDetails;
25352
26465
  type OnBeforeRequestListenerDetails = Electron.OnBeforeRequestListenerDetails;
@@ -25378,6 +26491,7 @@ declare namespace Electron {
25378
26491
  type Provider = Electron.Provider;
25379
26492
  type PurchaseProductOpts = Electron.PurchaseProductOpts;
25380
26493
  type ReadBookmark = Electron.ReadBookmark;
26494
+ type ReceivedSharedTextureData = Electron.ReceivedSharedTextureData;
25381
26495
  type RegistrationCompletedDetails = Electron.RegistrationCompletedDetails;
25382
26496
  type RelaunchOptions = Electron.RelaunchOptions;
25383
26497
  type RenderProcessGoneEvent = Electron.RenderProcessGoneEvent;
@@ -25393,6 +26507,8 @@ declare namespace Electron {
25393
26507
  type SaveDialogSyncOptions = Electron.SaveDialogSyncOptions;
25394
26508
  type SelectHidDeviceDetails = Electron.SelectHidDeviceDetails;
25395
26509
  type SelectUsbDeviceDetails = Electron.SelectUsbDeviceDetails;
26510
+ type SelectWebauthnAccountDetails = Electron.SelectWebauthnAccountDetails;
26511
+ type SendSharedTextureOptions = Electron.SendSharedTextureOptions;
25396
26512
  type SerialPortRevokedDetails = Electron.SerialPortRevokedDetails;
25397
26513
  type ServiceWorkersRunningStatusChangedEventParams = Electron.ServiceWorkersRunningStatusChangedEventParams;
25398
26514
  type Settings = Electron.Settings;
@@ -25442,6 +26558,7 @@ declare namespace Electron {
25442
26558
  type WillFrameNavigateEvent = Electron.WillFrameNavigateEvent;
25443
26559
  type WillNavigateEvent = Electron.WillNavigateEvent;
25444
26560
  type WillResizeDetails = Electron.WillResizeDetails;
26561
+ type Animate = Electron.Animate;
25445
26562
  type Children = Electron.Children;
25446
26563
  type EditFlags = Electron.EditFlags;
25447
26564
  type Env = Electron.Env;
@@ -25457,12 +26574,14 @@ declare namespace Electron {
25457
26574
  type PageRanges = Electron.PageRanges;
25458
26575
  type Params = Electron.Params;
25459
26576
  type Planes = Electron.Planes;
26577
+ type TouchId = Electron.TouchId;
25460
26578
  type Video = Electron.Video;
25461
26579
  type Alternate = Electron.Alternate;
25462
26580
  type Alternates = Electron.Alternates;
25463
26581
  type Endpoints = Electron.Endpoints;
25464
26582
  type BaseWindowConstructorOptions = Electron.BaseWindowConstructorOptions;
25465
26583
  type BrowserWindowConstructorOptions = Electron.BrowserWindowConstructorOptions;
26584
+ type ActivationArguments = Electron.ActivationArguments;
25466
26585
  type BluetoothDevice = Electron.BluetoothDevice;
25467
26586
  type Certificate = Electron.Certificate;
25468
26587
  type CertificatePrincipal = Electron.CertificatePrincipal;
@@ -25473,6 +26592,7 @@ declare namespace Electron {
25473
26592
  type CustomScheme = Electron.CustomScheme;
25474
26593
  type DesktopCapturerSource = Electron.DesktopCapturerSource;
25475
26594
  type Display = Electron.Display;
26595
+ type EnableHeapProfilingOptions = Electron.EnableHeapProfilingOptions;
25476
26596
  type Extension = Electron.Extension;
25477
26597
  type ExtensionInfo = Electron.ExtensionInfo;
25478
26598
  type FileFilter = Electron.FileFilter;
@@ -25529,6 +26649,12 @@ declare namespace Electron {
25529
26649
  type SharedDictionaryInfo = Electron.SharedDictionaryInfo;
25530
26650
  type SharedDictionaryUsageInfo = Electron.SharedDictionaryUsageInfo;
25531
26651
  type SharedTextureHandle = Electron.SharedTextureHandle;
26652
+ type SharedTextureImported = Electron.SharedTextureImported;
26653
+ type SharedTextureImportedSubtle = Electron.SharedTextureImportedSubtle;
26654
+ type SharedTextureImportTextureInfo = Electron.SharedTextureImportTextureInfo;
26655
+ type SharedTextureSubtle = Electron.SharedTextureSubtle;
26656
+ type SharedTextureSyncToken = Electron.SharedTextureSyncToken;
26657
+ type SharedTextureTransfer = Electron.SharedTextureTransfer;
25532
26658
  type SharedWorkerInfo = Electron.SharedWorkerInfo;
25533
26659
  type SharingItem = Electron.SharingItem;
25534
26660
  type ShortcutDetails = Electron.ShortcutDetails;
@@ -25543,8 +26669,10 @@ declare namespace Electron {
25543
26669
  type UploadRawData = Electron.UploadRawData;
25544
26670
  type USBDevice = Electron.USBDevice;
25545
26671
  type UserDefaultTypes = Electron.UserDefaultTypes;
26672
+ type WebAuthnAccount = Electron.WebAuthnAccount;
25546
26673
  type WebPreferences = Electron.WebPreferences;
25547
26674
  type WebRequestFilter = Electron.WebRequestFilter;
26675
+ type WebSocketOptions = Electron.WebSocketOptions;
25548
26676
  type WebSource = Electron.WebSource;
25549
26677
  type WindowOpenHandlerResponse = Electron.WindowOpenHandlerResponse;
25550
26678
  type WindowSessionEndEvent = Electron.WindowSessionEndEvent;
@@ -25574,6 +26702,7 @@ declare namespace Electron {
25574
26702
  const safeStorage: SafeStorage;
25575
26703
  const screen: Screen;
25576
26704
  const session: typeof Session;
26705
+ const sharedTexture: SharedTexture;
25577
26706
  const shell: Shell;
25578
26707
  const systemPreferences: SystemPreferences;
25579
26708
  const utilityProcess: typeof UtilityProcess;
@@ -25833,14 +26962,14 @@ declare namespace NodeJS {
25833
26962
  /**
25834
26963
  * A `boolean` that controls whether or not deprecations printed to `stderr`
25835
26964
  * include their stack trace. Setting this to `true` will print stack traces for
25836
- * deprecations. This property is instead of the `--trace-deprecation` command line
25837
- * flag.
26965
+ * deprecations. This property is used instead of the `--trace-deprecation` command
26966
+ * line flag.
25838
26967
  */
25839
26968
  traceDeprecation: boolean;
25840
26969
  /**
25841
26970
  * A `boolean` that controls whether or not process warnings printed to `stderr`
25842
26971
  * include their stack trace. Setting this to `true` will print stack traces for
25843
- * process warnings (including deprecations). This property is instead of the
26972
+ * process warnings (including deprecations). This property is used instead of the
25844
26973
  * `--trace-warnings` command line flag.
25845
26974
  */
25846
26975
  traceProcessWarnings: boolean;