electron-types 44.4.3 → 45.0.0-alpha.10

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/README.md CHANGED
@@ -14,11 +14,11 @@ The official `electron` package is ~200MB because it includes the Electron binar
14
14
  Since this package only provides TypeScript types, install it as a dev dependency. **Install the version that matches your Electron version** (see [Version Matching](#version-matching)):
15
15
 
16
16
  ```bash
17
- npm install -D electron-types@44.4.3
17
+ npm install -D electron-types@45.0.0-alpha.10
18
18
  # or
19
- yarn add -D electron-types@44.4.3
19
+ yarn add -D electron-types@45.0.0-alpha.10
20
20
  # or
21
- pnpm add -D electron-types@44.4.3
21
+ pnpm add -D electron-types@45.0.0-alpha.10
22
22
  ```
23
23
 
24
24
  ## Usage
@@ -1,4 +1,4 @@
1
- // Type definitions for Electron 44.4.3
1
+ // Type definitions for Electron 45.0.0-alpha.10
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
@@ -1060,7 +1060,71 @@ declare namespace Electron {
1060
1060
  * generates and persists a per-`session` metadata secret so that credentials
1061
1061
  * created in one partition are not visible to another.
1062
1062
  *
1063
- * With the matching entitlement in your app's `entitlements.plist`:
1063
+ * When `platformPasskeys` is `true`, passkey operations use Apple's
1064
+ * `ASAuthorizationController` which delegates to the system's configured
1065
+ * Credential Provider Extensions. This enables the same passkey experience as
1066
+ * Safari — credentials are available across all devices signed into the same
1067
+ * account. Unlike Touch ID credentials, platform passkeys are stored by the
1068
+ * credential provider and scoped to the relying party, not to Electron: they are
1069
+ * shared across all `session` partitions and with any other app or browser
1070
+ * associated with the same domain. Platform passkeys cannot serve cross-origin
1071
+ * (iframe) requests; those requests are left to the other available authenticators
1072
+ * (Touch ID supports iframes) and a warning is logged to the DevTools console. The
1073
+ * `prf` and `largeBlob` WebAuthn extensions are not currently supported by this
1074
+ * authenticator — `prf` inputs are ignored, and a `create()` call with `largeBlob:
1075
+ * { support: 'required' }` fails.
1076
+ *
1077
+ * With the matching entitlements in your app's `entitlements.plist`:
1078
+ *
1079
+ * For platform passkeys, your app needs the Associated Domains entitlement plus an
1080
+ * application identifier, both in the same `entitlements.plist`:
1081
+ *
1082
+ * Listing these entitlements is **not** sufficient on its own — unlike most
1083
+ * entitlements, `com.apple.developer.associated-domains` is _provisioning-profile
1084
+ * backed_. For platform passkeys to work, **all** of the following must hold:
1085
+ *
1086
+ * * In the Apple Developer portal, your App ID (`com.example.app`) has the
1087
+ * **Associated Domains** capability enabled, and you have created a provisioning
1088
+ * profile for that App ID.
1089
+ * * That provisioning profile is **embedded in the built app bundle** at
1090
+ * `Contents/embedded.provisionprofile`. This is what authorizes the
1091
+ * associated-domains entitlement at runtime; without an embedded profile macOS
1092
+ * silently ignores the `webcredentials` association and the request fails. (Xcode
1093
+ * and `@electron/osx-sign` embed the profile for you; if you sign manually, copy
1094
+ * it into the bundle before signing.)
1095
+ * * The app is signed (ad-hoc / unsigned builds do not qualify). Both distribution
1096
+ * and development signing work — for development builds, use the developer-mode
1097
+ * path described below.
1098
+ * * `com.apple.application-identifier` matches the profile's App ID. Without it,
1099
+ * `ASAuthorizationController` fails with "The calling process does not have an
1100
+ * application identifier" — this is `ASAuthorizationError` code 1004.
1101
+ * * The relying party's domain (`example.com` above) serves a valid
1102
+ * `apple-app-site-association` file over HTTPS at
1103
+ * `/.well-known/apple-app-site-association` containing a `webcredentials` entry
1104
+ * whose `apps` array lists this app's `<TEAM_ID>.<BUNDLE_ID>`.
1105
+ * * The relying party ID of each request matches that associated domain.
1106
+ *
1107
+ * If these aren't satisfied, `ASAuthorizationController` fails before it can
1108
+ * present the passkey sheet. The request surfaces to the page as a bare
1109
+ * `NotAllowedError` with no further detail (Electron logs an explanatory message
1110
+ * to the DevTools console on this path). Because the association is domain-based,
1111
+ * platform passkeys always require a real associated domain and its AASA file —
1112
+ * there is no `localhost` rpId escape hatch as there is in browsers.
1113
+ *
1114
+ * To test against your domain with a development-signed build (before shipping a
1115
+ * distribution profile), append `?mode=developer` to the entitlement value and
1116
+ * enable developer mode on the machine with `swcutil developer-mode -e true`. This
1117
+ * makes macOS fetch the AASA directly from the domain — bypassing Apple's CDN
1118
+ * cache — and honor the association for a development-signed app. You still need
1119
+ * the embedded development provisioning profile described above:
1120
+ *
1121
+ * > [!NOTE] Because the request is fulfilled by the system credential provider
1122
+ * (not a browser), the `clientDataJSON` returned to the page reports `origin:
1123
+ * "https://<rpId>"` — the associated domain — rather than the page's own origin.
1124
+ * Relying-party servers that enforce a strict `expectedOrigin` allowlist must
1125
+ * include `https://<rpId>` for verification to succeed. This also means the
1126
+ * relying party cannot distinguish which subdomain of the associated domain
1127
+ * initiated the ceremony.
1064
1128
  *
1065
1129
  * > [!NOTE] Touch ID WebAuthn credentials are device-bound and are not synced via
1066
1130
  * iCloud Keychain. They are only available on Macs with a Secure Enclave (Apple
@@ -2953,6 +3017,10 @@ declare namespace Electron {
2953
3017
  isContentProtected(): boolean;
2954
3018
  /**
2955
3019
  * Whether the window is destroyed.
3020
+ *
3021
+ * > [!NOTE] Once a window is destroyed, accessing most of its other properties and
3022
+ * methods throws `Object has been destroyed`, so callbacks that may run after the
3023
+ * window is gone should guard with `isDestroyed()`.
2956
3024
  */
2957
3025
  isDestroyed(): boolean;
2958
3026
  /**
@@ -6654,6 +6722,9 @@ declare namespace Electron {
6654
6722
  *
6655
6723
  * See the `webContents` documentation for its methods and events.
6656
6724
  *
6725
+ * > [!NOTE] Reading this property throws `Object has been destroyed` once the
6726
+ * window has been destroyed; see `win.isDestroyed()`.
6727
+ *
6657
6728
  */
6658
6729
  readonly webContents: WebContents;
6659
6730
  }
@@ -7138,36 +7209,6 @@ declare namespace Electron {
7138
7209
 
7139
7210
  // Docs: https://electronjs.org/docs/api/content-tracing
7140
7211
 
7141
- /**
7142
- * Resolves once heap profiling has been enabled.
7143
- *
7144
- * Enable heap profiling for MemoryInfra traces. Equivalent to the `--memlog`
7145
- * switch in Chrome.
7146
- *
7147
- * Only takes effect if the `disabled-by-default-memory-infra` category is
7148
- * included.
7149
- *
7150
- * Needs to be called before `contentTracing.startRecording()`.
7151
- *
7152
- * Usage:
7153
- *
7154
- * To view the recorded heap dumps:
7155
- *
7156
- * * Download the breakpad symbols for your Electron version from the Electron
7157
- * GitHub releases
7158
- * * Clone the Electron source code
7159
- * * In your Chromium checkout for Electron, run this command to symbolicate the
7160
- * heap dump:
7161
- * * Open the symbolicated trace in `chrome://tracing` (the Perfetto UI does not
7162
- * support memory dumps yet)
7163
- * * Click on one of the `M` symbols
7164
- * * Click on a `☰` triple bar icon (e.g., in the `malloc` column)
7165
- *
7166
- * [Image: Screenshot showing how to view a heapdump in Chromium's tracing view]
7167
- *
7168
- * @experimental
7169
- */
7170
- enableHeapProfiling(options?: EnableHeapProfilingOptions): Promise<void>;
7171
7212
  /**
7172
7213
  * resolves with an array of category groups once all child processes have
7173
7214
  * acknowledged the `getCategories` request
@@ -8371,32 +8412,6 @@ declare namespace Electron {
8371
8412
  savePath: string;
8372
8413
  }
8373
8414
 
8374
- interface EnableHeapProfilingOptions {
8375
-
8376
- // Docs: https://electronjs.org/docs/api/structures/enable-heap-profiling-options
8377
-
8378
- /**
8379
- * Controls which processes are profiled. Equivalent to `--memlog` in Chrome.
8380
- * Default is `all`.
8381
- */
8382
- mode?: ('all' | 'browser' | 'gpu' | 'minimal' | 'renderer-sampling' | 'all-renderers' | 'utility-sampling' | 'all-utilities' | 'utility-and-browser');
8383
- /**
8384
- * Controls the sampling interval in bytes. The lower the interval, the more
8385
- * precise the profile is. However it comes at the cost of performance. Default is
8386
- * `100000` (100KB). That is enough to observe allocation sites that make
8387
- * allocations >500KB total, where total equals to a single allocation size times
8388
- * the number of such allocations at the same call site. Equivalent to
8389
- * `--memlog-sampling-rate` in Chrome. Must be an integer between `1000` and
8390
- * `10000000`.
8391
- */
8392
- samplingRate?: number;
8393
- /**
8394
- * Controls the type of metadata recorded for each allocation. Equivalent to
8395
- * `--memlog-stack-mode` in Chrome. Default is `native`.
8396
- */
8397
- stackMode?: ('native' | 'native-with-thread-names');
8398
- }
8399
-
8400
8415
  interface Extension {
8401
8416
 
8402
8417
  // Docs: https://electronjs.org/docs/api/structures/extension
@@ -9476,12 +9491,184 @@ declare namespace Electron {
9476
9491
  type: ('rawKeyDown' | 'keyDown' | 'keyUp' | 'char');
9477
9492
  }
9478
9493
 
9494
+ interface LanguageModelAppendOptions {
9495
+
9496
+ // Docs: https://electronjs.org/docs/api/structures/language-model-append-options
9497
+
9498
+ signal: AbortSignal;
9499
+ }
9500
+
9501
+ interface LanguageModelCloneOptions {
9502
+
9503
+ // Docs: https://electronjs.org/docs/api/structures/language-model-clone-options
9504
+
9505
+ signal: AbortSignal;
9506
+ }
9507
+
9508
+ interface LanguageModelCreateCoreOptions {
9509
+
9510
+ // Docs: https://electronjs.org/docs/api/structures/language-model-create-core-options
9511
+
9512
+ expectedInputs?: LanguageModelExpected[];
9513
+ expectedOutputs?: LanguageModelExpected[];
9514
+ }
9515
+
9516
+ interface LanguageModelCreateOptions extends LanguageModelCreateCoreOptions {
9517
+
9518
+ // Docs: https://electronjs.org/docs/api/structures/language-model-create-options
9519
+
9520
+ initialPrompts?: LanguageModelMessage[];
9521
+ signal: AbortSignal;
9522
+ }
9523
+
9524
+ interface LanguageModelExpected {
9525
+
9526
+ // Docs: https://electronjs.org/docs/api/structures/language-model-expected
9527
+
9528
+ languages?: string[];
9529
+ /**
9530
+ * Can be one of the following values:
9531
+ */
9532
+ type: ('text' | 'image' | 'audio');
9533
+ }
9534
+
9535
+ interface LanguageModelMessage {
9536
+
9537
+ // Docs: https://electronjs.org/docs/api/structures/language-model-message
9538
+
9539
+ content: LanguageModelMessageContent[];
9540
+ prefix?: boolean;
9541
+ /**
9542
+ * Can be one of the following values:
9543
+ */
9544
+ role: ('system' | 'user' | 'assistant');
9545
+ }
9546
+
9547
+ interface LanguageModelMessageContent {
9548
+
9549
+ // Docs: https://electronjs.org/docs/api/structures/language-model-message-content
9550
+
9551
+ /**
9552
+ * Can be one of the following values:
9553
+ */
9554
+ type: ('text' | 'image' | 'audio');
9555
+ value: (ArrayBuffer) | (string);
9556
+ }
9557
+
9558
+ interface LanguageModelPromptOptions {
9559
+
9560
+ // Docs: https://electronjs.org/docs/api/structures/language-model-prompt-options
9561
+
9562
+ /**
9563
+ * a JSON schema object or a `RegExp` used to constrain the response to match the
9564
+ * specified restraints.
9565
+ */
9566
+ responseConstraint?: (ResponseConstraint) | (RegExp);
9567
+ signal: AbortSignal;
9568
+ }
9569
+
9570
+ class LanguageModelUtility {
9571
+
9572
+ // Docs: https://electronjs.org/docs/api/language-model-utility
9573
+
9574
+ /**
9575
+ * LanguageModelUtility
9576
+ */
9577
+ constructor(initialState: InitialState);
9578
+ /**
9579
+ * Determines the availability of the language model and returns one of the
9580
+ * following strings:
9581
+ *
9582
+ * * `available`
9583
+ * * `downloadable`
9584
+ * * `downloading`
9585
+ * * `unavailable`
9586
+ *
9587
+ * @experimental
9588
+ */
9589
+ static availability(options?: LanguageModelCreateCoreOptions): Promise<string>;
9590
+ /**
9591
+ * Creates a new `LanguageModelUtility` with the provided `options`.
9592
+ *
9593
+ * @experimental
9594
+ */
9595
+ static create(options: LanguageModelCreateOptions): Promise<Electron.LanguageModelUtility>;
9596
+ /**
9597
+ * Append a message without prompting for a response.
9598
+ *
9599
+ * @experimental
9600
+ */
9601
+ append(input: LanguageModelMessage[], options: LanguageModelAppendOptions): Promise<undefined>;
9602
+ /**
9603
+ * Clones the `LanguageModelUtility` such that the context and initial prompt
9604
+ * should be preserved.
9605
+ *
9606
+ * @experimental
9607
+ */
9608
+ clone(options: LanguageModelCloneOptions): Promise<Electron.LanguageModelUtility>;
9609
+ /**
9610
+ * Destroys the model, and any ongoing executions are aborted.
9611
+ *
9612
+ * @experimental
9613
+ */
9614
+ destroy(): void;
9615
+ /**
9616
+ * Measure how many tokens the input would use.
9617
+ *
9618
+ * @experimental
9619
+ */
9620
+ measureContextUsage(input: LanguageModelMessage[], options: LanguageModelPromptOptions): Promise<number>;
9621
+ /**
9622
+ * Prompt the model for a response.
9623
+ *
9624
+ * @experimental
9625
+ */
9626
+ prompt(input: LanguageModelMessage[], options: LanguageModelPromptOptions): (Promise<string>) | (Promise<import('stream/web').ReadableStream<string>>);
9627
+ /**
9628
+ * A `number` representing how many tokens are currently in the context window.
9629
+ *
9630
+ * @experimental
9631
+ */
9632
+ contextUsage: number;
9633
+ /**
9634
+ * A `number` representing the size of the context window, in tokens.
9635
+ *
9636
+ * @experimental
9637
+ */
9638
+ contextWindow: number;
9639
+ }
9640
+
9641
+ interface LocalAIHandler {
9642
+
9643
+ // Docs: https://electronjs.org/docs/api/local-ai-handler
9644
+
9645
+ /**
9646
+ * Sets the handler for new Prompt API binding requests from the renderer process.
9647
+ * This happens once per pair of `webContentsId` and `securityOrigin`. Returning
9648
+ * `null` from the handler will reject the creation of a new Prompt API session in
9649
+ * the renderer. If you want to invalidate existing Prompt API sessions, clear the
9650
+ * local AI handler for the session using `ses.registerLocalAIHandler(null)`.
9651
+ *
9652
+ * > [!NOTE] If a renderer calls the Prompt API before `setPromptAPIHandler()` has
9653
+ * been called, the request is queued. Once the handler is set, all queued requests
9654
+ * are flushed. If too many requests are queued, the oldest pending request is
9655
+ * dropped and pending promises in the renderer will be rejected. To avoid this, be
9656
+ * sure to call `setPromptAPIHandler()` as early as possible.
9657
+ *
9658
+ * @experimental
9659
+ */
9660
+ setPromptAPIHandler(promptAPIHandler: (details: PromptAPIHandlerDetails) => (typeof LanguageModelUtility) | (null)): void;
9661
+ }
9662
+
9479
9663
  interface MediaAccessPermissionRequest extends PermissionRequest {
9480
9664
 
9481
9665
  // Docs: https://electronjs.org/docs/api/structures/media-access-permission-request
9482
9666
 
9483
9667
  /**
9484
9668
  * The types of media access being requested - elements can be `video` or `audio`.
9669
+ * For a `media` permission request these are the camera and microphone
9670
+ * respectively; for a `display-capture` permission request they are the screen,
9671
+ * window or tab video and its audio.
9485
9672
  */
9486
9673
  mediaTypes?: Array<'video' | 'audio'>;
9487
9674
  /**
@@ -12032,6 +12219,12 @@ declare namespace Electron {
12032
12219
  /**
12033
12220
  * the decrypted string. Decrypts the encrypted buffer obtained with
12034
12221
  * `safeStorage.encryptString` back into a string.
12222
+ *
12223
+ * **Deprecated:** Use `safeStorage.decryptStringAsync(encrypted)` instead. Data
12224
+ * encrypted with `safeStorage.encryptString` can be decrypted with
12225
+ * `safeStorage.decryptStringAsync`.
12226
+ *
12227
+ * @deprecated
12035
12228
  */
12036
12229
  decryptString(encrypted: Buffer): string;
12037
12230
  /**
@@ -12048,6 +12241,10 @@ declare namespace Electron {
12048
12241
  * An array of bytes representing the encrypted string.
12049
12242
  *
12050
12243
  * This function will throw an error if encryption fails.
12244
+ *
12245
+ * **Deprecated:** Use `safeStorage.encryptStringAsync(plainText)` instead.
12246
+ *
12247
+ * @deprecated
12051
12248
  */
12052
12249
  encryptString(plainText: string): Buffer;
12053
12250
  /**
@@ -12091,6 +12288,10 @@ declare namespace Electron {
12091
12288
  * On Linux, returns true if the app has emitted the `ready` event and the secret
12092
12289
  * key is available. On MacOS, returns true if Keychain is available. On Windows,
12093
12290
  * returns true once the app has emitted the `ready` event.
12291
+ *
12292
+ * **Deprecated:** Use `safeStorage.isAsyncEncryptionAvailable()` instead.
12293
+ *
12294
+ * @deprecated
12094
12295
  */
12095
12296
  isEncryptionAvailable(): boolean;
12096
12297
  /**
@@ -12794,11 +12995,18 @@ declare namespace Electron {
12794
12995
  * discoverable WebAuthn credentials and the user must choose one. `callback`
12795
12996
  * should be called with the `credentialId` of the selected account; passing no
12796
12997
  * arguments — or a `credentialId` that does not match one of the provided accounts
12797
- * — will cancel the request and the page will receive a `NotAllowedError`. If no
12798
- * listener is registered for this event, the request is cancelled with the same
12799
- * error. The credential request remains pending until the listener invokes the
12800
- * callback, so always invoke it exactly once — typically from a `try { … } finally
12801
- * { callback(…) }` block.
12998
+ * — will cancel the request and the page will receive a `NotAllowedError`. The
12999
+ * credential request remains pending until the listener invokes the callback, so
13000
+ * always invoke it exactly once — typically from a `try { … } finally {
13001
+ * callback(…) }` block.
13002
+ *
13003
+ * > [!NOTE] If no listener is registered for this event,
13004
+ * `navigator.credentials.get()` calls that resolve discoverable Touch ID
13005
+ * credentials are cancelled with a `NotAllowedError` — even when only a single
13006
+ * credential matches. Register a listener if your app supports
13007
+ * discoverable-credential (passkey) sign-in. Assertions fulfilled by
13008
+ * `platformPasskeys` select the account in the system sheet and do not use this
13009
+ * event.
12802
13010
  *
12803
13011
  * On macOS, the Touch ID platform authenticator surfaces accounts via this event
12804
13012
  * once it has been configured with `app.configureWebAuthn`. The event may also
@@ -12820,6 +13028,43 @@ declare namespace Electron {
12820
13028
  removeListener(event: 'select-webauthn-account', listener: (event: Event,
12821
13029
  details: SelectWebauthnAccountDetails,
12822
13030
  callback: (credentialId?: (string) | (null)) => void) => void): this;
13031
+ /**
13032
+ * Emitted when both `touchID` and `platformPasskeys` are configured via
13033
+ * `app.configureWebAuthn` and a WebAuthn request needs to choose which platform
13034
+ * authenticator to use. `callback` should be called with one of the names from
13035
+ * `event.authenticators`; passing no arguments or a name that does not match will
13036
+ * cancel the request and the page will receive a `NotAllowedError`. The request
13037
+ * remains pending until the listener invokes the callback, so always invoke it
13038
+ * exactly once — typically from a `try { … } finally { callback(…) }` block. If no
13039
+ * listener is registered, `platformPasskeys` is used by default; a listener that
13040
+ * throws before invoking the callback is treated as unhandled and the default
13041
+ * applies. If only one authenticator is available for the request, this event is
13042
+ * not emitted and that authenticator is used automatically.
13043
+ *
13044
+ * @platform darwin
13045
+ */
13046
+ on(event: 'select-webauthn-authenticator', listener: (event: Event<SessionSelectWebauthnAuthenticatorEventParams>,
13047
+ callback: (authenticatorName?: (string) | (null)) => void) => void): this;
13048
+ /**
13049
+ * @platform darwin
13050
+ */
13051
+ off(event: 'select-webauthn-authenticator', listener: (event: Event<SessionSelectWebauthnAuthenticatorEventParams>,
13052
+ callback: (authenticatorName?: (string) | (null)) => void) => void): this;
13053
+ /**
13054
+ * @platform darwin
13055
+ */
13056
+ once(event: 'select-webauthn-authenticator', listener: (event: Event<SessionSelectWebauthnAuthenticatorEventParams>,
13057
+ callback: (authenticatorName?: (string) | (null)) => void) => void): this;
13058
+ /**
13059
+ * @platform darwin
13060
+ */
13061
+ addListener(event: 'select-webauthn-authenticator', listener: (event: Event<SessionSelectWebauthnAuthenticatorEventParams>,
13062
+ callback: (authenticatorName?: (string) | (null)) => void) => void): this;
13063
+ /**
13064
+ * @platform darwin
13065
+ */
13066
+ removeListener(event: 'select-webauthn-authenticator', listener: (event: Event<SessionSelectWebauthnAuthenticatorEventParams>,
13067
+ callback: (authenticatorName?: (string) | (null)) => void) => void): this;
12823
13068
  /**
12824
13069
  * Emitted after `navigator.serial.requestPort` has been called and
12825
13070
  * `select-serial-port` has fired if a new serial port becomes available before the
@@ -13366,6 +13611,14 @@ declare namespace Electron {
13366
13611
  * Preconnects the given number of sockets to an origin.
13367
13612
  */
13368
13613
  preconnect(options: PreconnectOptions): void;
13614
+ /**
13615
+ * Registers a local AI handler `UtilityProcess`. To clear the handler, call
13616
+ * `registerLocalAIHandler(null)`, which will disconnect any existing Prompt API
13617
+ * sessions and destroy any `LanguageModelUtility` instances.
13618
+ *
13619
+ * @experimental
13620
+ */
13621
+ registerLocalAIHandler(handler: (UtilityProcess) | (null)): void;
13369
13622
  /**
13370
13623
  * Registers preload script that will be executed in its associated context type in
13371
13624
  * this session. For `frame` contexts, this will run prior to any preload defined
@@ -13498,6 +13751,14 @@ declare namespace Electron {
13498
13751
  * `setPermissionRequestHandler(null)`. Please note that you must also implement
13499
13752
  * `setPermissionCheckHandler` to get complete permission handling. Most web APIs
13500
13753
  * do a permission check and then make a permission request if the check is denied.
13754
+ *
13755
+ * Both `media` and `display-capture` requests carry a MediaAccessPermissionRequest
13756
+ * as `details`. A `media` request is for camera and/or microphone devices, while a
13757
+ * `display-capture` request is for the screen, a window or a tab (whether made
13758
+ * through `getDisplayMedia` or through `getUserMedia` with `chromeMediaSource`
13759
+ * constraints). Applications that allow camera and microphone access but want to
13760
+ * control screen sharing separately should handle the two permissions
13761
+ * individually:
13501
13762
  */
13502
13763
  setPermissionRequestHandler(handler: ((webContents: WebContents, permission: 'ar' | 'automatic-fullscreen' | 'background-fetch' | 'background-sync' | 'captured-surface-control' | 'clipboard-read' | 'clipboard-sanitized-write' | 'deprecated-sync-clipboard-read' | 'display-capture' | 'fileSystem' | 'fullscreen' | 'geolocation' | 'geolocation-approximate' | 'hand-tracking' | 'hid' | 'idle-detection' | 'keyboardLock' | 'local-fonts' | 'local-network' | 'local-network-access' | 'loopback-network' | 'media' | 'mediaKeySystem' | 'midi' | 'midiSysex' | 'nfc' | 'notifications' | 'openExternal' | 'payment-handler' | 'periodic-background-sync' | 'persistent-storage' | 'pointerLock' | 'screen-wake-lock' | 'sensors' | 'serial' | 'smart-card' | 'speaker-selection' | 'storage-access' | 'system-wake-lock' | 'top-level-storage-access' | 'usb' | 'vr' | 'web-app-installation' | 'web-printing' | 'window-management' | 'unknown', callback: (permissionGranted: boolean) => void, details: (PermissionRequest) | (FilesystemPermissionRequest) | (MediaAccessPermissionRequest) | (OpenExternalPermissionRequest)) => void) | (null)): void;
13503
13764
  /**
@@ -18962,10 +19223,39 @@ declare namespace Electron {
18962
19223
  readonly webContents: WebContents;
18963
19224
  }
18964
19225
 
18965
- interface WebFrame {
19226
+ interface WebFrame extends NodeJS.EventEmitter {
18966
19227
 
18967
19228
  // Docs: https://electronjs.org/docs/api/web-frame
18968
19229
 
19230
+ /**
19231
+ * Emitted when a new isolated world is created for `webFrame`. This event does not
19232
+ * fire for the main world (ID `0`) or Electron's preload world (ID `999`).
19233
+ */
19234
+ on(event: 'isolated-world-created', listener: (
19235
+ /**
19236
+ * The ID of the isolated world that was just created.
19237
+ */
19238
+ worldId: number) => void): this;
19239
+ off(event: 'isolated-world-created', listener: (
19240
+ /**
19241
+ * The ID of the isolated world that was just created.
19242
+ */
19243
+ worldId: number) => void): this;
19244
+ once(event: 'isolated-world-created', listener: (
19245
+ /**
19246
+ * The ID of the isolated world that was just created.
19247
+ */
19248
+ worldId: number) => void): this;
19249
+ addListener(event: 'isolated-world-created', listener: (
19250
+ /**
19251
+ * The ID of the isolated world that was just created.
19252
+ */
19253
+ worldId: number) => void): this;
19254
+ removeListener(event: 'isolated-world-created', listener: (
19255
+ /**
19256
+ * The ID of the isolated world that was just created.
19257
+ */
19258
+ worldId: number) => void): this;
18969
19259
  /**
18970
19260
  * Attempts to free memory that is no longer being used (like images from a
18971
19261
  * previous navigation).
@@ -19022,6 +19312,15 @@ declare namespace Electron {
19022
19312
  * current renderer process.
19023
19313
  */
19024
19314
  getFrameForSelector(selector: string): (WebFrame) | (null);
19315
+ /**
19316
+ * The IDs of isolated worlds that currently exist for this frame. This does not
19317
+ * include the main world (ID `0`) or Electron's preload world (ID `999`).
19318
+ *
19319
+ * This can be used to discover existing isolated worlds before calling APIs such
19320
+ * as `webFrame.executeJavaScriptInIsolatedWorld(...)` or
19321
+ * `contextBridge.exposeInIsolatedWorld(...)`.
19322
+ */
19323
+ getIsolatedWorlds(): number[];
19025
19324
  /**
19026
19325
  * * `images` MemoryUsageDetails
19027
19326
  * * `scripts` MemoryUsageDetails
@@ -19480,6 +19779,10 @@ declare namespace Electron {
19480
19779
  * Default is `false`.
19481
19780
  */
19482
19781
  disableHtmlFullscreenWindowResize?: boolean;
19782
+ /**
19783
+ * Whether to disable the wake locks of the WebContents. Default is `false`.
19784
+ */
19785
+ disableWakeLocks?: boolean;
19483
19786
  /**
19484
19787
  * A list of feature strings separated by `,`, like `CSSVariables,KeyboardEventKey`
19485
19788
  * to enable. The full list of supported feature strings can be found in the
@@ -21253,6 +21556,14 @@ declare namespace Electron {
21253
21556
  * Authentication requests.
21254
21557
  */
21255
21558
  touchID?: TouchId;
21559
+ /**
21560
+ * Enables passkeys via Apple's `ASAuthorizationController`. When enabled, passkey
21561
+ * operations present the system credential provider sheet (iCloud Keychain,
21562
+ * 1Password, Bitwarden, etc.) and credentials sync across the user's devices.
21563
+ * Defaults to `false`. Passing `null`/`undefined` (or omitting the key) leaves the
21564
+ * previous setting unchanged.
21565
+ */
21566
+ platformPasskeys?: boolean;
21256
21567
  }
21257
21568
 
21258
21569
  interface ConsoleMessageEvent extends DOMEvent {
@@ -22228,6 +22539,11 @@ declare namespace Electron {
22228
22539
  name?: string;
22229
22540
  }
22230
22541
 
22542
+ interface InitialState {
22543
+ contextUsage: number;
22544
+ contextWindow: number;
22545
+ }
22546
+
22231
22547
  interface Input {
22232
22548
  /**
22233
22549
  * Either `keyUp` or `keyDown`.
@@ -23529,6 +23845,25 @@ declare namespace Electron {
23529
23845
  mode: ('none' | 'normal' | 'indeterminate' | 'error' | 'paused');
23530
23846
  }
23531
23847
 
23848
+ interface PromptAPIHandlerDetails {
23849
+ /**
23850
+ * The unique id of the WebContents calling the Prompt API.
23851
+ */
23852
+ webContentsId: number;
23853
+ /**
23854
+ * Origin of the page calling the Prompt API.
23855
+ */
23856
+ securityOrigin: string;
23857
+ /**
23858
+ * The frame token of the frame calling the Prompt API.
23859
+ */
23860
+ frameToken: string;
23861
+ /**
23862
+ * The process id of the renderer process hosting the frame calling the Prompt API.
23863
+ */
23864
+ renderProcessId: number;
23865
+ }
23866
+
23532
23867
  interface Provider {
23533
23868
  spellCheck: (words: string[], callback: (misspeltWords: string[]) => void) => void;
23534
23869
  }
@@ -23659,6 +23994,9 @@ declare namespace Electron {
23659
23994
  pin?: (string) | (null);
23660
23995
  }
23661
23996
 
23997
+ interface ResponseConstraint {
23998
+ }
23999
+
23662
24000
  interface RestoreOptions {
23663
24001
  /**
23664
24002
  * Result of a prior `getAllEntries()` call
@@ -23870,6 +24208,23 @@ declare namespace Electron {
23870
24208
  runningStatus: ('starting' | 'running' | 'stopping' | 'stopped');
23871
24209
  }
23872
24210
 
24211
+ interface SessionSelectWebauthnAuthenticatorEventParams {
24212
+ /**
24213
+ * The relying party identifier from the WebAuthn request.
24214
+ */
24215
+ relyingPartyId: string;
24216
+ /**
24217
+ * The available authenticator names. Possible values are `'touchID'` and
24218
+ * `'platformPasskeys'`.
24219
+ */
24220
+ authenticators: string[];
24221
+ /**
24222
+ * The frame initiating this event. May be `null` if accessed after the frame has
24223
+ * either navigated or been destroyed.
24224
+ */
24225
+ frame: (WebFrameMain) | (null);
24226
+ }
24227
+
23873
24228
  interface Settings {
23874
24229
  /**
23875
24230
  * `true` to open the app at login, `false` to remove the app as a login item.
@@ -25357,6 +25712,7 @@ declare namespace Electron {
25357
25712
  type ImportCertificateOptions = Electron.ImportCertificateOptions;
25358
25713
  type ImportSharedTextureOptions = Electron.ImportSharedTextureOptions;
25359
25714
  type Info = Electron.Info;
25715
+ type InitialState = Electron.InitialState;
25360
25716
  type Input = Electron.Input;
25361
25717
  type InsertCSSOptions = Electron.InsertCSSOptions;
25362
25718
  type IpcMessageEvent = Electron.IpcMessageEvent;
@@ -25407,6 +25763,7 @@ declare namespace Electron {
25407
25763
  type PreconnectOptions = Electron.PreconnectOptions;
25408
25764
  type Privileges = Electron.Privileges;
25409
25765
  type ProgressBarOptions = Electron.ProgressBarOptions;
25766
+ type PromptAPIHandlerDetails = Electron.PromptAPIHandlerDetails;
25410
25767
  type Provider = Electron.Provider;
25411
25768
  type PurchaseProductOpts = Electron.PurchaseProductOpts;
25412
25769
  type ReceivedSharedTextureData = Electron.ReceivedSharedTextureData;
@@ -25418,6 +25775,7 @@ declare namespace Electron {
25418
25775
  type ResolveHostOptions = Electron.ResolveHostOptions;
25419
25776
  type ResourceUsage = Electron.ResourceUsage;
25420
25777
  type Response = Electron.Response;
25778
+ type ResponseConstraint = Electron.ResponseConstraint;
25421
25779
  type RestoreOptions = Electron.RestoreOptions;
25422
25780
  type Result = Electron.Result;
25423
25781
  type SaveDialogOptions = Electron.SaveDialogOptions;
@@ -25429,6 +25787,7 @@ declare namespace Electron {
25429
25787
  type SendSharedTextureOptions = Electron.SendSharedTextureOptions;
25430
25788
  type SerialPortRevokedDetails = Electron.SerialPortRevokedDetails;
25431
25789
  type ServiceWorkersRunningStatusChangedEventParams = Electron.ServiceWorkersRunningStatusChangedEventParams;
25790
+ type SessionSelectWebauthnAuthenticatorEventParams = Electron.SessionSelectWebauthnAuthenticatorEventParams;
25432
25791
  type Settings = Electron.Settings;
25433
25792
  type SharedDictionaryInfoOptions = Electron.SharedDictionaryInfoOptions;
25434
25793
  type SourcesOptions = Electron.SourcesOptions;
@@ -25511,7 +25870,6 @@ declare namespace Electron {
25511
25870
  type CustomScheme = Electron.CustomScheme;
25512
25871
  type DesktopCapturerSource = Electron.DesktopCapturerSource;
25513
25872
  type Display = Electron.Display;
25514
- type EnableHeapProfilingOptions = Electron.EnableHeapProfilingOptions;
25515
25873
  type Extension = Electron.Extension;
25516
25874
  type ExtensionInfo = Electron.ExtensionInfo;
25517
25875
  type FileFilter = Electron.FileFilter;
@@ -25529,6 +25887,14 @@ declare namespace Electron {
25529
25887
  type JumpListItem = Electron.JumpListItem;
25530
25888
  type KeyboardEvent = Electron.KeyboardEvent;
25531
25889
  type KeyboardInputEvent = Electron.KeyboardInputEvent;
25890
+ type LanguageModelAppendOptions = Electron.LanguageModelAppendOptions;
25891
+ type LanguageModelCloneOptions = Electron.LanguageModelCloneOptions;
25892
+ type LanguageModelCreateCoreOptions = Electron.LanguageModelCreateCoreOptions;
25893
+ type LanguageModelCreateOptions = Electron.LanguageModelCreateOptions;
25894
+ type LanguageModelExpected = Electron.LanguageModelExpected;
25895
+ type LanguageModelMessage = Electron.LanguageModelMessage;
25896
+ type LanguageModelMessageContent = Electron.LanguageModelMessageContent;
25897
+ type LanguageModelPromptOptions = Electron.LanguageModelPromptOptions;
25532
25898
  type MediaAccessPermissionRequest = Electron.MediaAccessPermissionRequest;
25533
25899
  type MemoryInfo = Electron.MemoryInfo;
25534
25900
  type MemoryUsageDetails = Electron.MemoryUsageDetails;
@@ -25770,6 +26136,7 @@ declare namespace Electron {
25770
26136
  type ImportCertificateOptions = Electron.ImportCertificateOptions;
25771
26137
  type ImportSharedTextureOptions = Electron.ImportSharedTextureOptions;
25772
26138
  type Info = Electron.Info;
26139
+ type InitialState = Electron.InitialState;
25773
26140
  type Input = Electron.Input;
25774
26141
  type InsertCSSOptions = Electron.InsertCSSOptions;
25775
26142
  type IpcMessageEvent = Electron.IpcMessageEvent;
@@ -25820,6 +26187,7 @@ declare namespace Electron {
25820
26187
  type PreconnectOptions = Electron.PreconnectOptions;
25821
26188
  type Privileges = Electron.Privileges;
25822
26189
  type ProgressBarOptions = Electron.ProgressBarOptions;
26190
+ type PromptAPIHandlerDetails = Electron.PromptAPIHandlerDetails;
25823
26191
  type Provider = Electron.Provider;
25824
26192
  type PurchaseProductOpts = Electron.PurchaseProductOpts;
25825
26193
  type ReceivedSharedTextureData = Electron.ReceivedSharedTextureData;
@@ -25831,6 +26199,7 @@ declare namespace Electron {
25831
26199
  type ResolveHostOptions = Electron.ResolveHostOptions;
25832
26200
  type ResourceUsage = Electron.ResourceUsage;
25833
26201
  type Response = Electron.Response;
26202
+ type ResponseConstraint = Electron.ResponseConstraint;
25834
26203
  type RestoreOptions = Electron.RestoreOptions;
25835
26204
  type Result = Electron.Result;
25836
26205
  type SaveDialogOptions = Electron.SaveDialogOptions;
@@ -25842,6 +26211,7 @@ declare namespace Electron {
25842
26211
  type SendSharedTextureOptions = Electron.SendSharedTextureOptions;
25843
26212
  type SerialPortRevokedDetails = Electron.SerialPortRevokedDetails;
25844
26213
  type ServiceWorkersRunningStatusChangedEventParams = Electron.ServiceWorkersRunningStatusChangedEventParams;
26214
+ type SessionSelectWebauthnAuthenticatorEventParams = Electron.SessionSelectWebauthnAuthenticatorEventParams;
25845
26215
  type Settings = Electron.Settings;
25846
26216
  type SharedDictionaryInfoOptions = Electron.SharedDictionaryInfoOptions;
25847
26217
  type SourcesOptions = Electron.SourcesOptions;
@@ -25924,7 +26294,6 @@ declare namespace Electron {
25924
26294
  type CustomScheme = Electron.CustomScheme;
25925
26295
  type DesktopCapturerSource = Electron.DesktopCapturerSource;
25926
26296
  type Display = Electron.Display;
25927
- type EnableHeapProfilingOptions = Electron.EnableHeapProfilingOptions;
25928
26297
  type Extension = Electron.Extension;
25929
26298
  type ExtensionInfo = Electron.ExtensionInfo;
25930
26299
  type FileFilter = Electron.FileFilter;
@@ -25942,6 +26311,14 @@ declare namespace Electron {
25942
26311
  type JumpListItem = Electron.JumpListItem;
25943
26312
  type KeyboardEvent = Electron.KeyboardEvent;
25944
26313
  type KeyboardInputEvent = Electron.KeyboardInputEvent;
26314
+ type LanguageModelAppendOptions = Electron.LanguageModelAppendOptions;
26315
+ type LanguageModelCloneOptions = Electron.LanguageModelCloneOptions;
26316
+ type LanguageModelCreateCoreOptions = Electron.LanguageModelCreateCoreOptions;
26317
+ type LanguageModelCreateOptions = Electron.LanguageModelCreateOptions;
26318
+ type LanguageModelExpected = Electron.LanguageModelExpected;
26319
+ type LanguageModelMessage = Electron.LanguageModelMessage;
26320
+ type LanguageModelMessageContent = Electron.LanguageModelMessageContent;
26321
+ type LanguageModelPromptOptions = Electron.LanguageModelPromptOptions;
25945
26322
  type MediaAccessPermissionRequest = Electron.MediaAccessPermissionRequest;
25946
26323
  type MemoryInfo = Electron.MemoryInfo;
25947
26324
  type MemoryUsageDetails = Electron.MemoryUsageDetails;
@@ -26107,6 +26484,7 @@ declare namespace Electron {
26107
26484
  type ImportCertificateOptions = Electron.ImportCertificateOptions;
26108
26485
  type ImportSharedTextureOptions = Electron.ImportSharedTextureOptions;
26109
26486
  type Info = Electron.Info;
26487
+ type InitialState = Electron.InitialState;
26110
26488
  type Input = Electron.Input;
26111
26489
  type InsertCSSOptions = Electron.InsertCSSOptions;
26112
26490
  type IpcMessageEvent = Electron.IpcMessageEvent;
@@ -26157,6 +26535,7 @@ declare namespace Electron {
26157
26535
  type PreconnectOptions = Electron.PreconnectOptions;
26158
26536
  type Privileges = Electron.Privileges;
26159
26537
  type ProgressBarOptions = Electron.ProgressBarOptions;
26538
+ type PromptAPIHandlerDetails = Electron.PromptAPIHandlerDetails;
26160
26539
  type Provider = Electron.Provider;
26161
26540
  type PurchaseProductOpts = Electron.PurchaseProductOpts;
26162
26541
  type ReceivedSharedTextureData = Electron.ReceivedSharedTextureData;
@@ -26168,6 +26547,7 @@ declare namespace Electron {
26168
26547
  type ResolveHostOptions = Electron.ResolveHostOptions;
26169
26548
  type ResourceUsage = Electron.ResourceUsage;
26170
26549
  type Response = Electron.Response;
26550
+ type ResponseConstraint = Electron.ResponseConstraint;
26171
26551
  type RestoreOptions = Electron.RestoreOptions;
26172
26552
  type Result = Electron.Result;
26173
26553
  type SaveDialogOptions = Electron.SaveDialogOptions;
@@ -26179,6 +26559,7 @@ declare namespace Electron {
26179
26559
  type SendSharedTextureOptions = Electron.SendSharedTextureOptions;
26180
26560
  type SerialPortRevokedDetails = Electron.SerialPortRevokedDetails;
26181
26561
  type ServiceWorkersRunningStatusChangedEventParams = Electron.ServiceWorkersRunningStatusChangedEventParams;
26562
+ type SessionSelectWebauthnAuthenticatorEventParams = Electron.SessionSelectWebauthnAuthenticatorEventParams;
26182
26563
  type Settings = Electron.Settings;
26183
26564
  type SharedDictionaryInfoOptions = Electron.SharedDictionaryInfoOptions;
26184
26565
  type SourcesOptions = Electron.SourcesOptions;
@@ -26261,7 +26642,6 @@ declare namespace Electron {
26261
26642
  type CustomScheme = Electron.CustomScheme;
26262
26643
  type DesktopCapturerSource = Electron.DesktopCapturerSource;
26263
26644
  type Display = Electron.Display;
26264
- type EnableHeapProfilingOptions = Electron.EnableHeapProfilingOptions;
26265
26645
  type Extension = Electron.Extension;
26266
26646
  type ExtensionInfo = Electron.ExtensionInfo;
26267
26647
  type FileFilter = Electron.FileFilter;
@@ -26279,6 +26659,14 @@ declare namespace Electron {
26279
26659
  type JumpListItem = Electron.JumpListItem;
26280
26660
  type KeyboardEvent = Electron.KeyboardEvent;
26281
26661
  type KeyboardInputEvent = Electron.KeyboardInputEvent;
26662
+ type LanguageModelAppendOptions = Electron.LanguageModelAppendOptions;
26663
+ type LanguageModelCloneOptions = Electron.LanguageModelCloneOptions;
26664
+ type LanguageModelCreateCoreOptions = Electron.LanguageModelCreateCoreOptions;
26665
+ type LanguageModelCreateOptions = Electron.LanguageModelCreateOptions;
26666
+ type LanguageModelExpected = Electron.LanguageModelExpected;
26667
+ type LanguageModelMessage = Electron.LanguageModelMessage;
26668
+ type LanguageModelMessageContent = Electron.LanguageModelMessageContent;
26669
+ type LanguageModelPromptOptions = Electron.LanguageModelPromptOptions;
26282
26670
  type MediaAccessPermissionRequest = Electron.MediaAccessPermissionRequest;
26283
26671
  type MemoryInfo = Electron.MemoryInfo;
26284
26672
  type MemoryUsageDetails = Electron.MemoryUsageDetails;
@@ -26355,6 +26743,9 @@ declare namespace Electron {
26355
26743
  type Event<Params extends object = {}> = Electron.Event<Params>;
26356
26744
  type ClientRequest = Electron.ClientRequest;
26357
26745
  type IncomingMessage = Electron.IncomingMessage;
26746
+ class LanguageModelUtility extends Electron.LanguageModelUtility {}
26747
+ const localAIHandler: LocalAIHandler;
26748
+ type LocalAIHandler = Electron.LocalAIHandler;
26358
26749
  const net: Net;
26359
26750
  type Net = Electron.Net;
26360
26751
  const parentPort: ParentPort;
@@ -26443,6 +26834,7 @@ declare namespace Electron {
26443
26834
  type ImportCertificateOptions = Electron.ImportCertificateOptions;
26444
26835
  type ImportSharedTextureOptions = Electron.ImportSharedTextureOptions;
26445
26836
  type Info = Electron.Info;
26837
+ type InitialState = Electron.InitialState;
26446
26838
  type Input = Electron.Input;
26447
26839
  type InsertCSSOptions = Electron.InsertCSSOptions;
26448
26840
  type IpcMessageEvent = Electron.IpcMessageEvent;
@@ -26493,6 +26885,7 @@ declare namespace Electron {
26493
26885
  type PreconnectOptions = Electron.PreconnectOptions;
26494
26886
  type Privileges = Electron.Privileges;
26495
26887
  type ProgressBarOptions = Electron.ProgressBarOptions;
26888
+ type PromptAPIHandlerDetails = Electron.PromptAPIHandlerDetails;
26496
26889
  type Provider = Electron.Provider;
26497
26890
  type PurchaseProductOpts = Electron.PurchaseProductOpts;
26498
26891
  type ReceivedSharedTextureData = Electron.ReceivedSharedTextureData;
@@ -26504,6 +26897,7 @@ declare namespace Electron {
26504
26897
  type ResolveHostOptions = Electron.ResolveHostOptions;
26505
26898
  type ResourceUsage = Electron.ResourceUsage;
26506
26899
  type Response = Electron.Response;
26900
+ type ResponseConstraint = Electron.ResponseConstraint;
26507
26901
  type RestoreOptions = Electron.RestoreOptions;
26508
26902
  type Result = Electron.Result;
26509
26903
  type SaveDialogOptions = Electron.SaveDialogOptions;
@@ -26515,6 +26909,7 @@ declare namespace Electron {
26515
26909
  type SendSharedTextureOptions = Electron.SendSharedTextureOptions;
26516
26910
  type SerialPortRevokedDetails = Electron.SerialPortRevokedDetails;
26517
26911
  type ServiceWorkersRunningStatusChangedEventParams = Electron.ServiceWorkersRunningStatusChangedEventParams;
26912
+ type SessionSelectWebauthnAuthenticatorEventParams = Electron.SessionSelectWebauthnAuthenticatorEventParams;
26518
26913
  type Settings = Electron.Settings;
26519
26914
  type SharedDictionaryInfoOptions = Electron.SharedDictionaryInfoOptions;
26520
26915
  type SourcesOptions = Electron.SourcesOptions;
@@ -26597,7 +26992,6 @@ declare namespace Electron {
26597
26992
  type CustomScheme = Electron.CustomScheme;
26598
26993
  type DesktopCapturerSource = Electron.DesktopCapturerSource;
26599
26994
  type Display = Electron.Display;
26600
- type EnableHeapProfilingOptions = Electron.EnableHeapProfilingOptions;
26601
26995
  type Extension = Electron.Extension;
26602
26996
  type ExtensionInfo = Electron.ExtensionInfo;
26603
26997
  type FileFilter = Electron.FileFilter;
@@ -26615,6 +27009,14 @@ declare namespace Electron {
26615
27009
  type JumpListItem = Electron.JumpListItem;
26616
27010
  type KeyboardEvent = Electron.KeyboardEvent;
26617
27011
  type KeyboardInputEvent = Electron.KeyboardInputEvent;
27012
+ type LanguageModelAppendOptions = Electron.LanguageModelAppendOptions;
27013
+ type LanguageModelCloneOptions = Electron.LanguageModelCloneOptions;
27014
+ type LanguageModelCreateCoreOptions = Electron.LanguageModelCreateCoreOptions;
27015
+ type LanguageModelCreateOptions = Electron.LanguageModelCreateOptions;
27016
+ type LanguageModelExpected = Electron.LanguageModelExpected;
27017
+ type LanguageModelMessage = Electron.LanguageModelMessage;
27018
+ type LanguageModelMessageContent = Electron.LanguageModelMessageContent;
27019
+ type LanguageModelPromptOptions = Electron.LanguageModelPromptOptions;
26618
27020
  type MediaAccessPermissionRequest = Electron.MediaAccessPermissionRequest;
26619
27021
  type MemoryInfo = Electron.MemoryInfo;
26620
27022
  type MemoryUsageDetails = Electron.MemoryUsageDetails;
@@ -26727,6 +27129,9 @@ declare namespace Electron {
26727
27129
  class IpcMainServiceWorker extends Electron.IpcMainServiceWorker {}
26728
27130
  const ipcRenderer: IpcRenderer;
26729
27131
  type IpcRenderer = Electron.IpcRenderer;
27132
+ class LanguageModelUtility extends Electron.LanguageModelUtility {}
27133
+ const localAIHandler: LocalAIHandler;
27134
+ type LocalAIHandler = Electron.LocalAIHandler;
26730
27135
  class Menu extends Electron.Menu {}
26731
27136
  class MenuItem extends Electron.MenuItem {}
26732
27137
  class MessageChannelMain extends Electron.MessageChannelMain {}
@@ -26875,6 +27280,7 @@ declare namespace Electron {
26875
27280
  type ImportCertificateOptions = Electron.ImportCertificateOptions;
26876
27281
  type ImportSharedTextureOptions = Electron.ImportSharedTextureOptions;
26877
27282
  type Info = Electron.Info;
27283
+ type InitialState = Electron.InitialState;
26878
27284
  type Input = Electron.Input;
26879
27285
  type InsertCSSOptions = Electron.InsertCSSOptions;
26880
27286
  type IpcMessageEvent = Electron.IpcMessageEvent;
@@ -26925,6 +27331,7 @@ declare namespace Electron {
26925
27331
  type PreconnectOptions = Electron.PreconnectOptions;
26926
27332
  type Privileges = Electron.Privileges;
26927
27333
  type ProgressBarOptions = Electron.ProgressBarOptions;
27334
+ type PromptAPIHandlerDetails = Electron.PromptAPIHandlerDetails;
26928
27335
  type Provider = Electron.Provider;
26929
27336
  type PurchaseProductOpts = Electron.PurchaseProductOpts;
26930
27337
  type ReceivedSharedTextureData = Electron.ReceivedSharedTextureData;
@@ -26936,6 +27343,7 @@ declare namespace Electron {
26936
27343
  type ResolveHostOptions = Electron.ResolveHostOptions;
26937
27344
  type ResourceUsage = Electron.ResourceUsage;
26938
27345
  type Response = Electron.Response;
27346
+ type ResponseConstraint = Electron.ResponseConstraint;
26939
27347
  type RestoreOptions = Electron.RestoreOptions;
26940
27348
  type Result = Electron.Result;
26941
27349
  type SaveDialogOptions = Electron.SaveDialogOptions;
@@ -26947,6 +27355,7 @@ declare namespace Electron {
26947
27355
  type SendSharedTextureOptions = Electron.SendSharedTextureOptions;
26948
27356
  type SerialPortRevokedDetails = Electron.SerialPortRevokedDetails;
26949
27357
  type ServiceWorkersRunningStatusChangedEventParams = Electron.ServiceWorkersRunningStatusChangedEventParams;
27358
+ type SessionSelectWebauthnAuthenticatorEventParams = Electron.SessionSelectWebauthnAuthenticatorEventParams;
26950
27359
  type Settings = Electron.Settings;
26951
27360
  type SharedDictionaryInfoOptions = Electron.SharedDictionaryInfoOptions;
26952
27361
  type SourcesOptions = Electron.SourcesOptions;
@@ -27029,7 +27438,6 @@ declare namespace Electron {
27029
27438
  type CustomScheme = Electron.CustomScheme;
27030
27439
  type DesktopCapturerSource = Electron.DesktopCapturerSource;
27031
27440
  type Display = Electron.Display;
27032
- type EnableHeapProfilingOptions = Electron.EnableHeapProfilingOptions;
27033
27441
  type Extension = Electron.Extension;
27034
27442
  type ExtensionInfo = Electron.ExtensionInfo;
27035
27443
  type FileFilter = Electron.FileFilter;
@@ -27047,6 +27455,14 @@ declare namespace Electron {
27047
27455
  type JumpListItem = Electron.JumpListItem;
27048
27456
  type KeyboardEvent = Electron.KeyboardEvent;
27049
27457
  type KeyboardInputEvent = Electron.KeyboardInputEvent;
27458
+ type LanguageModelAppendOptions = Electron.LanguageModelAppendOptions;
27459
+ type LanguageModelCloneOptions = Electron.LanguageModelCloneOptions;
27460
+ type LanguageModelCreateCoreOptions = Electron.LanguageModelCreateCoreOptions;
27461
+ type LanguageModelCreateOptions = Electron.LanguageModelCreateOptions;
27462
+ type LanguageModelExpected = Electron.LanguageModelExpected;
27463
+ type LanguageModelMessage = Electron.LanguageModelMessage;
27464
+ type LanguageModelMessageContent = Electron.LanguageModelMessageContent;
27465
+ type LanguageModelPromptOptions = Electron.LanguageModelPromptOptions;
27050
27466
  type MediaAccessPermissionRequest = Electron.MediaAccessPermissionRequest;
27051
27467
  type MemoryInfo = Electron.MemoryInfo;
27052
27468
  type MemoryUsageDetails = Electron.MemoryUsageDetails;
@@ -27131,6 +27547,7 @@ declare namespace Electron {
27131
27547
  const inAppPurchase: InAppPurchase;
27132
27548
  const ipcMain: IpcMain;
27133
27549
  const ipcRenderer: IpcRenderer;
27550
+ const localAIHandler: LocalAIHandler;
27134
27551
  const nativeImage: typeof NativeImage;
27135
27552
  const nativeTheme: NativeTheme;
27136
27553
  const net: Net;
package/dist/version.json CHANGED
@@ -1,4 +1,4 @@
1
1
  {
2
- "electronVersion": "44.4.3",
3
- "extractedAt": "2026-09-18T18:15:19.932Z"
2
+ "electronVersion": "45.0.0-alpha.10",
3
+ "extractedAt": "2026-09-21T23:11:40.260Z"
4
4
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "electron-types",
3
- "version": "44.4.3",
3
+ "version": "45.0.0-alpha.10",
4
4
  "type": "module",
5
5
  "description": "TypeScript type definitions extracted from the electron package",
6
6
  "types": "./dist/electron.d.ts",