electron-types 44.0.0-beta.6 → 45.0.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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.0.0-beta.6
17
+ npm install -D electron-types@45.0.0-alpha.1
18
18
  # or
19
- yarn add -D electron-types@44.0.0-beta.6
19
+ yarn add -D electron-types@45.0.0-alpha.1
20
20
  # or
21
- pnpm add -D electron-types@44.0.0-beta.6
21
+ pnpm add -D electron-types@45.0.0-alpha.1
22
22
  ```
23
23
 
24
24
  ## Usage
@@ -1,4 +1,4 @@
1
- // Type definitions for Electron 44.0.0-beta.6
1
+ // Type definitions for Electron 45.0.0-alpha.1
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
@@ -518,27 +518,27 @@ declare namespace Electron {
518
518
  * page.
519
519
  */
520
520
  on(event: 'login', listener: (event: Event,
521
- webContents: WebContents,
521
+ webContents: (WebContents) | (null),
522
522
  authenticationResponseDetails: AuthenticationResponseDetails,
523
523
  authInfo: AuthInfo,
524
524
  callback: (username?: string, password?: string) => void) => void): this;
525
525
  off(event: 'login', listener: (event: Event,
526
- webContents: WebContents,
526
+ webContents: (WebContents) | (null),
527
527
  authenticationResponseDetails: AuthenticationResponseDetails,
528
528
  authInfo: AuthInfo,
529
529
  callback: (username?: string, password?: string) => void) => void): this;
530
530
  once(event: 'login', listener: (event: Event,
531
- webContents: WebContents,
531
+ webContents: (WebContents) | (null),
532
532
  authenticationResponseDetails: AuthenticationResponseDetails,
533
533
  authInfo: AuthInfo,
534
534
  callback: (username?: string, password?: string) => void) => void): this;
535
535
  addListener(event: 'login', listener: (event: Event,
536
- webContents: WebContents,
536
+ webContents: (WebContents) | (null),
537
537
  authenticationResponseDetails: AuthenticationResponseDetails,
538
538
  authInfo: AuthInfo,
539
539
  callback: (username?: string, password?: string) => void) => void): this;
540
540
  removeListener(event: 'login', listener: (event: Event,
541
- webContents: WebContents,
541
+ webContents: (WebContents) | (null),
542
542
  authenticationResponseDetails: AuthenticationResponseDetails,
543
543
  authInfo: AuthInfo,
544
544
  callback: (username?: string, password?: string) => void) => void): this;
@@ -815,27 +815,27 @@ declare namespace Electron {
815
815
  * event is not emitted.
816
816
  */
817
817
  on(event: 'select-client-certificate', listener: (event: Event,
818
- webContents: WebContents,
818
+ webContents: (WebContents) | (null),
819
819
  url: string,
820
820
  certificateList: Certificate[],
821
821
  callback: (certificate?: Certificate) => void) => void): this;
822
822
  off(event: 'select-client-certificate', listener: (event: Event,
823
- webContents: WebContents,
823
+ webContents: (WebContents) | (null),
824
824
  url: string,
825
825
  certificateList: Certificate[],
826
826
  callback: (certificate?: Certificate) => void) => void): this;
827
827
  once(event: 'select-client-certificate', listener: (event: Event,
828
- webContents: WebContents,
828
+ webContents: (WebContents) | (null),
829
829
  url: string,
830
830
  certificateList: Certificate[],
831
831
  callback: (certificate?: Certificate) => void) => void): this;
832
832
  addListener(event: 'select-client-certificate', listener: (event: Event,
833
- webContents: WebContents,
833
+ webContents: (WebContents) | (null),
834
834
  url: string,
835
835
  certificateList: Certificate[],
836
836
  callback: (certificate?: Certificate) => void) => void): this;
837
837
  removeListener(event: 'select-client-certificate', listener: (event: Event,
838
- webContents: WebContents,
838
+ webContents: (WebContents) | (null),
839
839
  url: string,
840
840
  certificateList: Certificate[],
841
841
  callback: (certificate?: Certificate) => void) => void): this;
@@ -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
@@ -9452,12 +9516,184 @@ declare namespace Electron {
9452
9516
  type: ('rawKeyDown' | 'keyDown' | 'keyUp' | 'char');
9453
9517
  }
9454
9518
 
9519
+ interface LanguageModelAppendOptions {
9520
+
9521
+ // Docs: https://electronjs.org/docs/api/structures/language-model-append-options
9522
+
9523
+ signal: AbortSignal;
9524
+ }
9525
+
9526
+ interface LanguageModelCloneOptions {
9527
+
9528
+ // Docs: https://electronjs.org/docs/api/structures/language-model-clone-options
9529
+
9530
+ signal: AbortSignal;
9531
+ }
9532
+
9533
+ interface LanguageModelCreateCoreOptions {
9534
+
9535
+ // Docs: https://electronjs.org/docs/api/structures/language-model-create-core-options
9536
+
9537
+ expectedInputs?: LanguageModelExpected[];
9538
+ expectedOutputs?: LanguageModelExpected[];
9539
+ }
9540
+
9541
+ interface LanguageModelCreateOptions extends LanguageModelCreateCoreOptions {
9542
+
9543
+ // Docs: https://electronjs.org/docs/api/structures/language-model-create-options
9544
+
9545
+ initialPrompts?: LanguageModelMessage[];
9546
+ signal: AbortSignal;
9547
+ }
9548
+
9549
+ interface LanguageModelExpected {
9550
+
9551
+ // Docs: https://electronjs.org/docs/api/structures/language-model-expected
9552
+
9553
+ languages?: string[];
9554
+ /**
9555
+ * Can be one of the following values:
9556
+ */
9557
+ type: ('text' | 'image' | 'audio');
9558
+ }
9559
+
9560
+ interface LanguageModelMessage {
9561
+
9562
+ // Docs: https://electronjs.org/docs/api/structures/language-model-message
9563
+
9564
+ content: LanguageModelMessageContent[];
9565
+ prefix?: boolean;
9566
+ /**
9567
+ * Can be one of the following values:
9568
+ */
9569
+ role: ('system' | 'user' | 'assistant');
9570
+ }
9571
+
9572
+ interface LanguageModelMessageContent {
9573
+
9574
+ // Docs: https://electronjs.org/docs/api/structures/language-model-message-content
9575
+
9576
+ /**
9577
+ * Can be one of the following values:
9578
+ */
9579
+ type: ('text' | 'image' | 'audio');
9580
+ value: (ArrayBuffer) | (string);
9581
+ }
9582
+
9583
+ interface LanguageModelPromptOptions {
9584
+
9585
+ // Docs: https://electronjs.org/docs/api/structures/language-model-prompt-options
9586
+
9587
+ /**
9588
+ * a JSON schema object or a `RegExp` used to constrain the response to match the
9589
+ * specified restraints.
9590
+ */
9591
+ responseConstraint?: (ResponseConstraint) | (RegExp);
9592
+ signal: AbortSignal;
9593
+ }
9594
+
9595
+ class LanguageModelUtility {
9596
+
9597
+ // Docs: https://electronjs.org/docs/api/language-model-utility
9598
+
9599
+ /**
9600
+ * LanguageModelUtility
9601
+ */
9602
+ constructor(initialState: InitialState);
9603
+ /**
9604
+ * Determines the availability of the language model and returns one of the
9605
+ * following strings:
9606
+ *
9607
+ * * `available`
9608
+ * * `downloadable`
9609
+ * * `downloading`
9610
+ * * `unavailable`
9611
+ *
9612
+ * @experimental
9613
+ */
9614
+ static availability(options?: LanguageModelCreateCoreOptions): Promise<string>;
9615
+ /**
9616
+ * Creates a new `LanguageModelUtility` with the provided `options`.
9617
+ *
9618
+ * @experimental
9619
+ */
9620
+ static create(options: LanguageModelCreateOptions): Promise<Electron.LanguageModelUtility>;
9621
+ /**
9622
+ * Append a message without prompting for a response.
9623
+ *
9624
+ * @experimental
9625
+ */
9626
+ append(input: LanguageModelMessage[], options: LanguageModelAppendOptions): Promise<undefined>;
9627
+ /**
9628
+ * Clones the `LanguageModelUtility` such that the context and initial prompt
9629
+ * should be preserved.
9630
+ *
9631
+ * @experimental
9632
+ */
9633
+ clone(options: LanguageModelCloneOptions): Promise<Electron.LanguageModelUtility>;
9634
+ /**
9635
+ * Destroys the model, and any ongoing executions are aborted.
9636
+ *
9637
+ * @experimental
9638
+ */
9639
+ destroy(): void;
9640
+ /**
9641
+ * Measure how many tokens the input would use.
9642
+ *
9643
+ * @experimental
9644
+ */
9645
+ measureContextUsage(input: LanguageModelMessage[], options: LanguageModelPromptOptions): Promise<number>;
9646
+ /**
9647
+ * Prompt the model for a response.
9648
+ *
9649
+ * @experimental
9650
+ */
9651
+ prompt(input: LanguageModelMessage[], options: LanguageModelPromptOptions): (Promise<string>) | (Promise<import('stream/web').ReadableStream<string>>);
9652
+ /**
9653
+ * A `number` representing how many tokens are currently in the context window.
9654
+ *
9655
+ * @experimental
9656
+ */
9657
+ contextUsage: number;
9658
+ /**
9659
+ * A `number` representing the size of the context window, in tokens.
9660
+ *
9661
+ * @experimental
9662
+ */
9663
+ contextWindow: number;
9664
+ }
9665
+
9666
+ interface LocalAIHandler {
9667
+
9668
+ // Docs: https://electronjs.org/docs/api/local-ai-handler
9669
+
9670
+ /**
9671
+ * Sets the handler for new Prompt API binding requests from the renderer process.
9672
+ * This happens once per pair of `webContentsId` and `securityOrigin`. Returning
9673
+ * `null` from the handler will reject the creation of a new Prompt API session in
9674
+ * the renderer. If you want to invalidate existing Prompt API sessions, clear the
9675
+ * local AI handler for the session using `ses.registerLocalAIHandler(null)`.
9676
+ *
9677
+ * > [!NOTE] If a renderer calls the Prompt API before `setPromptAPIHandler()` has
9678
+ * been called, the request is queued. Once the handler is set, all queued requests
9679
+ * are flushed. If too many requests are queued, the oldest pending request is
9680
+ * dropped and pending promises in the renderer will be rejected. To avoid this, be
9681
+ * sure to call `setPromptAPIHandler()` as early as possible.
9682
+ *
9683
+ * @experimental
9684
+ */
9685
+ setPromptAPIHandler(promptAPIHandler: (details: PromptAPIHandlerDetails) => (typeof LanguageModelUtility) | (null)): void;
9686
+ }
9687
+
9455
9688
  interface MediaAccessPermissionRequest extends PermissionRequest {
9456
9689
 
9457
9690
  // Docs: https://electronjs.org/docs/api/structures/media-access-permission-request
9458
9691
 
9459
9692
  /**
9460
9693
  * The types of media access being requested - elements can be `video` or `audio`.
9694
+ * For a `media` permission request these are the camera and microphone
9695
+ * respectively; for a `display-capture` permission request they are the screen,
9696
+ * window or tab video and its audio.
9461
9697
  */
9462
9698
  mediaTypes?: Array<'video' | 'audio'>;
9463
9699
  /**
@@ -9618,6 +9854,15 @@ declare namespace Electron {
9618
9854
  * @platform darwin
9619
9855
  */
9620
9856
  accessibilityLabel: string;
9857
+ /**
9858
+ * A `MenuItemBadge` (optional) indicating the badge for the menu item.
9859
+ *
9860
+ * This property can be dynamically changed; setting it to `undefined` removes the
9861
+ * badge. Only available on macOS 14 and up.
9862
+ *
9863
+ * @platform darwin
9864
+ */
9865
+ badge?: MenuItemBadge;
9621
9866
  /**
9622
9867
  * A `boolean` indicating whether the item is checked.
9623
9868
  *
@@ -9678,6 +9923,8 @@ declare namespace Electron {
9678
9923
  * or just displayed.
9679
9924
  *
9680
9925
  * This property can be dynamically changed.
9926
+ *
9927
+ * @platform linux,win32
9681
9928
  */
9682
9929
  registerAccelerator: boolean;
9683
9930
  /**
@@ -9743,6 +9990,27 @@ declare namespace Electron {
9743
9990
  visible: boolean;
9744
9991
  }
9745
9992
 
9993
+ interface MenuItemBadge {
9994
+
9995
+ // Docs: https://electronjs.org/docs/api/structures/menu-item-badge
9996
+
9997
+ /**
9998
+ * A custom string to display in the badge. Required for, and only usable with, the
9999
+ * `none` type.
10000
+ */
10001
+ content?: string;
10002
+ /**
10003
+ * The number of items the badge displays. Required for the `alerts`, `updates` and
10004
+ * `new-items` types; cannot be used with `none`.
10005
+ */
10006
+ count?: number;
10007
+ /**
10008
+ * Can be `alerts`, `updates`, `new-items` or `none`. Default is `none`. See
10009
+ * Creating badges of a specific type for further explanation of these types.
10010
+ */
10011
+ type?: ('alerts' | 'updates' | 'new-items' | 'none');
10012
+ }
10013
+
9746
10014
  class MessageChannelMain {
9747
10015
 
9748
10016
  // Docs: https://electronjs.org/docs/api/message-channel-main
@@ -12702,11 +12970,18 @@ declare namespace Electron {
12702
12970
  * discoverable WebAuthn credentials and the user must choose one. `callback`
12703
12971
  * should be called with the `credentialId` of the selected account; passing no
12704
12972
  * arguments — or a `credentialId` that does not match one of the provided accounts
12705
- * — will cancel the request and the page will receive a `NotAllowedError`. If no
12706
- * listener is registered for this event, the request is cancelled with the same
12707
- * error. The credential request remains pending until the listener invokes the
12708
- * callback, so always invoke it exactly once — typically from a `try { … } finally
12709
- * { callback(…) }` block.
12973
+ * — will cancel the request and the page will receive a `NotAllowedError`. The
12974
+ * credential request remains pending until the listener invokes the callback, so
12975
+ * always invoke it exactly once typically from a `try { … } finally {
12976
+ * callback() }` block.
12977
+ *
12978
+ * > [!NOTE] If no listener is registered for this event,
12979
+ * `navigator.credentials.get()` calls that resolve discoverable Touch ID
12980
+ * credentials are cancelled with a `NotAllowedError` — even when only a single
12981
+ * credential matches. Register a listener if your app supports
12982
+ * discoverable-credential (passkey) sign-in. Assertions fulfilled by
12983
+ * `platformPasskeys` select the account in the system sheet and do not use this
12984
+ * event.
12710
12985
  *
12711
12986
  * On macOS, the Touch ID platform authenticator surfaces accounts via this event
12712
12987
  * once it has been configured with `app.configureWebAuthn`. The event may also
@@ -12728,6 +13003,43 @@ declare namespace Electron {
12728
13003
  removeListener(event: 'select-webauthn-account', listener: (event: Event,
12729
13004
  details: SelectWebauthnAccountDetails,
12730
13005
  callback: (credentialId?: (string) | (null)) => void) => void): this;
13006
+ /**
13007
+ * Emitted when both `touchID` and `platformPasskeys` are configured via
13008
+ * `app.configureWebAuthn` and a WebAuthn request needs to choose which platform
13009
+ * authenticator to use. `callback` should be called with one of the names from
13010
+ * `event.authenticators`; passing no arguments or a name that does not match will
13011
+ * cancel the request and the page will receive a `NotAllowedError`. The request
13012
+ * remains pending until the listener invokes the callback, so always invoke it
13013
+ * exactly once — typically from a `try { … } finally { callback(…) }` block. If no
13014
+ * listener is registered, `platformPasskeys` is used by default; a listener that
13015
+ * throws before invoking the callback is treated as unhandled and the default
13016
+ * applies. If only one authenticator is available for the request, this event is
13017
+ * not emitted and that authenticator is used automatically.
13018
+ *
13019
+ * @platform darwin
13020
+ */
13021
+ on(event: 'select-webauthn-authenticator', listener: (event: Event<SessionSelectWebauthnAuthenticatorEventParams>,
13022
+ callback: (authenticatorName?: (string) | (null)) => void) => void): this;
13023
+ /**
13024
+ * @platform darwin
13025
+ */
13026
+ off(event: 'select-webauthn-authenticator', listener: (event: Event<SessionSelectWebauthnAuthenticatorEventParams>,
13027
+ callback: (authenticatorName?: (string) | (null)) => void) => void): this;
13028
+ /**
13029
+ * @platform darwin
13030
+ */
13031
+ once(event: 'select-webauthn-authenticator', listener: (event: Event<SessionSelectWebauthnAuthenticatorEventParams>,
13032
+ callback: (authenticatorName?: (string) | (null)) => void) => void): this;
13033
+ /**
13034
+ * @platform darwin
13035
+ */
13036
+ addListener(event: 'select-webauthn-authenticator', listener: (event: Event<SessionSelectWebauthnAuthenticatorEventParams>,
13037
+ callback: (authenticatorName?: (string) | (null)) => void) => void): this;
13038
+ /**
13039
+ * @platform darwin
13040
+ */
13041
+ removeListener(event: 'select-webauthn-authenticator', listener: (event: Event<SessionSelectWebauthnAuthenticatorEventParams>,
13042
+ callback: (authenticatorName?: (string) | (null)) => void) => void): this;
12731
13043
  /**
12732
13044
  * Emitted after `navigator.serial.requestPort` has been called and
12733
13045
  * `select-serial-port` has fired if a new serial port becomes available before the
@@ -13253,6 +13565,14 @@ declare namespace Electron {
13253
13565
  * Preconnects the given number of sockets to an origin.
13254
13566
  */
13255
13567
  preconnect(options: PreconnectOptions): void;
13568
+ /**
13569
+ * Registers a local AI handler `UtilityProcess`. To clear the handler, call
13570
+ * `registerLocalAIHandler(null)`, which will disconnect any existing Prompt API
13571
+ * sessions and destroy any `LanguageModelUtility` instances.
13572
+ *
13573
+ * @experimental
13574
+ */
13575
+ registerLocalAIHandler(handler: (UtilityProcess) | (null)): void;
13256
13576
  /**
13257
13577
  * Registers preload script that will be executed in its associated context type in
13258
13578
  * this session. For `frame` contexts, this will run prior to any preload defined
@@ -13373,7 +13693,7 @@ declare namespace Electron {
13373
13693
  * > [!NOTE] `isMainFrame` will always be `false` for a `fileSystem` request as a
13374
13694
  * result of Chromium limitations.
13375
13695
  */
13376
- setPermissionCheckHandler(handler: ((webContents: (WebContents) | (null), permission: 'clipboard-read' | 'clipboard-sanitized-write' | 'geolocation' | 'fullscreen' | 'hid' | 'idle-detection' | 'media' | 'mediaKeySystem' | 'midi' | 'midiSysex' | 'notifications' | 'openExternal' | 'pointerLock' | 'serial' | 'storage-access' | 'top-level-storage-access' | 'usb' | 'deprecated-sync-clipboard-read' | 'fileSystem', requestingOrigin: string, details: PermissionCheckHandlerHandlerDetails) => boolean) | (null)): void;
13696
+ setPermissionCheckHandler(handler: ((webContents: (WebContents) | (null), 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', requestingOrigin: string, details: PermissionCheckHandlerHandlerDetails) => boolean) | (null)): void;
13377
13697
  /**
13378
13698
  * Sets the handler which can be used to respond to permission requests for the
13379
13699
  * `session`. Calling `callback(true)` will allow the permission and
@@ -13381,8 +13701,16 @@ declare namespace Electron {
13381
13701
  * `setPermissionRequestHandler(null)`. Please note that you must also implement
13382
13702
  * `setPermissionCheckHandler` to get complete permission handling. Most web APIs
13383
13703
  * do a permission check and then make a permission request if the check is denied.
13704
+ *
13705
+ * Both `media` and `display-capture` requests carry a MediaAccessPermissionRequest
13706
+ * as `details`. A `media` request is for camera and/or microphone devices, while a
13707
+ * `display-capture` request is for the screen, a window or a tab (whether made
13708
+ * through `getDisplayMedia` or through `getUserMedia` with `chromeMediaSource`
13709
+ * constraints). Applications that allow camera and microphone access but want to
13710
+ * control screen sharing separately should handle the two permissions
13711
+ * individually:
13384
13712
  */
13385
- setPermissionRequestHandler(handler: ((webContents: WebContents, permission: 'clipboard-read' | 'clipboard-sanitized-write' | 'display-capture' | 'fullscreen' | 'geolocation' | 'idle-detection' | 'media' | 'mediaKeySystem' | 'midi' | 'midiSysex' | 'notifications' | 'pointerLock' | 'keyboardLock' | 'openExternal' | 'speaker-selection' | 'storage-access' | 'top-level-storage-access' | 'window-management' | 'unknown' | 'fileSystem', callback: (permissionGranted: boolean) => void, details: (PermissionRequest) | (FilesystemPermissionRequest) | (MediaAccessPermissionRequest) | (OpenExternalPermissionRequest)) => void) | (null)): void;
13713
+ 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;
13386
13714
  /**
13387
13715
  * Adds scripts that will be executed on ALL web contents that are associated with
13388
13716
  * this session just before normal `preload` scripts run.
@@ -18271,6 +18599,10 @@ declare namespace Electron {
18271
18599
  * greater than 0.
18272
18600
  */
18273
18601
  isBeingCaptured(): boolean;
18602
+ /**
18603
+ * Whether caret browsing is enabled for this page.
18604
+ */
18605
+ isCaretBrowsingEnabled(): boolean;
18274
18606
  /**
18275
18607
  * Whether the renderer process has crashed.
18276
18608
  */
@@ -18506,6 +18838,10 @@ declare namespace Electron {
18506
18838
  * when the page becomes backgrounded. This also affects the Page Visibility API.
18507
18839
  */
18508
18840
  setBackgroundThrottling(allowed: boolean): void;
18841
+ /**
18842
+ * Sets whether caret browsing is enabled on the current web page.
18843
+ */
18844
+ setCaretBrowsingEnabled(enabled: boolean): void;
18509
18845
  /**
18510
18846
  * Changes the title of the DevTools window to `title`. This will only be visible
18511
18847
  * if DevTools is opened in `undocked` or `detach` mode.
@@ -18673,6 +19009,25 @@ declare namespace Electron {
18673
19009
  * affects the Page Visibility API.
18674
19010
  */
18675
19011
  backgroundThrottling: boolean;
19012
+ /**
19013
+ * A `boolean` property that determines whether caret browsing is enabled for this
19014
+ * page.
19015
+ *
19016
+ * When enabled, a movable cursor is placed in the page's text, allowing the user
19017
+ * to navigate and select content with the keyboard. Changes apply to the live page
19018
+ * without reloading it.
19019
+ *
19020
+ * A `<webview>` guest inherits this value from its embedder when it is created and
19021
+ * then tracks it independently, so disabling caret browsing on the embedder leaves
19022
+ * an existing guest enabled.
19023
+ *
19024
+ * While any `WebContents` in the process has caret browsing enabled, assistive
19025
+ * technology is notified process-wide that caret browsing is active, so that
19026
+ * screen readers report the caret's position as it moves. That notification is
19027
+ * only withdrawn once every `WebContents` that enabled caret browsing has either
19028
+ * disabled it or been destroyed.
19029
+ */
19030
+ caretBrowsingEnabled: boolean;
18676
19031
  /**
18677
19032
  * A `Debugger` instance for this webContents.
18678
19033
  *
@@ -18816,10 +19171,39 @@ declare namespace Electron {
18816
19171
  readonly webContents: WebContents;
18817
19172
  }
18818
19173
 
18819
- interface WebFrame {
19174
+ interface WebFrame extends NodeJS.EventEmitter {
18820
19175
 
18821
19176
  // Docs: https://electronjs.org/docs/api/web-frame
18822
19177
 
19178
+ /**
19179
+ * Emitted when a new isolated world is created for `webFrame`. This event does not
19180
+ * fire for the main world (ID `0`) or Electron's preload world (ID `999`).
19181
+ */
19182
+ on(event: 'isolated-world-created', listener: (
19183
+ /**
19184
+ * The ID of the isolated world that was just created.
19185
+ */
19186
+ worldId: number) => void): this;
19187
+ off(event: 'isolated-world-created', listener: (
19188
+ /**
19189
+ * The ID of the isolated world that was just created.
19190
+ */
19191
+ worldId: number) => void): this;
19192
+ once(event: 'isolated-world-created', listener: (
19193
+ /**
19194
+ * The ID of the isolated world that was just created.
19195
+ */
19196
+ worldId: number) => void): this;
19197
+ addListener(event: 'isolated-world-created', listener: (
19198
+ /**
19199
+ * The ID of the isolated world that was just created.
19200
+ */
19201
+ worldId: number) => void): this;
19202
+ removeListener(event: 'isolated-world-created', listener: (
19203
+ /**
19204
+ * The ID of the isolated world that was just created.
19205
+ */
19206
+ worldId: number) => void): this;
18823
19207
  /**
18824
19208
  * Attempts to free memory that is no longer being used (like images from a
18825
19209
  * previous navigation).
@@ -18876,6 +19260,15 @@ declare namespace Electron {
18876
19260
  * current renderer process.
18877
19261
  */
18878
19262
  getFrameForSelector(selector: string): (WebFrame) | (null);
19263
+ /**
19264
+ * The IDs of isolated worlds that currently exist for this frame. This does not
19265
+ * include the main world (ID `0`) or Electron's preload world (ID `999`).
19266
+ *
19267
+ * This can be used to discover existing isolated worlds before calling APIs such
19268
+ * as `webFrame.executeJavaScriptInIsolatedWorld(...)` or
19269
+ * `contextBridge.exposeInIsolatedWorld(...)`.
19270
+ */
19271
+ getIsolatedWorlds(): number[];
18879
19272
  /**
18880
19273
  * * `images` MemoryUsageDetails
18881
19274
  * * `scripts` MemoryUsageDetails
@@ -19334,6 +19727,10 @@ declare namespace Electron {
19334
19727
  * Default is `false`.
19335
19728
  */
19336
19729
  disableHtmlFullscreenWindowResize?: boolean;
19730
+ /**
19731
+ * Whether to disable the wake locks of the WebContents. Default is `false`.
19732
+ */
19733
+ disableWakeLocks?: boolean;
19337
19734
  /**
19338
19735
  * A list of feature strings separated by `,`, like `CSSVariables,KeyboardEventKey`
19339
19736
  * to enable. The full list of supported feature strings can be found in the
@@ -21099,6 +21496,14 @@ declare namespace Electron {
21099
21496
  * Authentication requests.
21100
21497
  */
21101
21498
  touchID?: TouchId;
21499
+ /**
21500
+ * Enables passkeys via Apple's `ASAuthorizationController`. When enabled, passkey
21501
+ * operations present the system credential provider sheet (iCloud Keychain,
21502
+ * 1Password, Bitwarden, etc.) and credentials sync across the user's devices.
21503
+ * Defaults to `false`. Passing `null`/`undefined` (or omitting the key) leaves the
21504
+ * previous setting unchanged.
21505
+ */
21506
+ platformPasskeys?: boolean;
21102
21507
  }
21103
21508
 
21104
21509
  interface ConsoleMessageEvent extends DOMEvent {
@@ -22065,6 +22470,11 @@ declare namespace Electron {
22065
22470
  name?: string;
22066
22471
  }
22067
22472
 
22473
+ interface InitialState {
22474
+ contextUsage: number;
22475
+ contextWindow: number;
22476
+ }
22477
+
22068
22478
  interface Input {
22069
22479
  /**
22070
22480
  * Either `keyUp` or `keyDown`.
@@ -22376,6 +22786,13 @@ declare namespace Electron {
22376
22786
  * containing group after the containing group of the item with the specified id.
22377
22787
  */
22378
22788
  afterGroupContaining?: string[];
22789
+ /**
22790
+ * A badge shown alongside the label, either a system-styled count (`alerts`,
22791
+ * `updates`, `new-items`) or a custom string. Only available on macOS 14 and up.
22792
+ *
22793
+ * @platform darwin
22794
+ */
22795
+ badge?: MenuItemBadge;
22379
22796
  }
22380
22797
 
22381
22798
  interface MessageBoxOptions {
@@ -23309,6 +23726,25 @@ declare namespace Electron {
23309
23726
  mode: ('none' | 'normal' | 'indeterminate' | 'error' | 'paused');
23310
23727
  }
23311
23728
 
23729
+ interface PromptAPIHandlerDetails {
23730
+ /**
23731
+ * The unique id of the WebContents calling the Prompt API.
23732
+ */
23733
+ webContentsId: number;
23734
+ /**
23735
+ * Origin of the page calling the Prompt API.
23736
+ */
23737
+ securityOrigin: string;
23738
+ /**
23739
+ * The frame token of the frame calling the Prompt API.
23740
+ */
23741
+ frameToken: string;
23742
+ /**
23743
+ * The process id of the renderer process hosting the frame calling the Prompt API.
23744
+ */
23745
+ renderProcessId: number;
23746
+ }
23747
+
23312
23748
  interface Provider {
23313
23749
  spellCheck: (words: string[], callback: (misspeltWords: string[]) => void) => void;
23314
23750
  }
@@ -23439,6 +23875,9 @@ declare namespace Electron {
23439
23875
  pin?: (string) | (null);
23440
23876
  }
23441
23877
 
23878
+ interface ResponseConstraint {
23879
+ }
23880
+
23442
23881
  interface RestoreOptions {
23443
23882
  /**
23444
23883
  * Result of a prior `getAllEntries()` call
@@ -23650,6 +24089,23 @@ declare namespace Electron {
23650
24089
  runningStatus: ('starting' | 'running' | 'stopping' | 'stopped');
23651
24090
  }
23652
24091
 
24092
+ interface SessionSelectWebauthnAuthenticatorEventParams {
24093
+ /**
24094
+ * The relying party identifier from the WebAuthn request.
24095
+ */
24096
+ relyingPartyId: string;
24097
+ /**
24098
+ * The available authenticator names. Possible values are `'touchID'` and
24099
+ * `'platformPasskeys'`.
24100
+ */
24101
+ authenticators: string[];
24102
+ /**
24103
+ * The frame initiating this event. May be `null` if accessed after the frame has
24104
+ * either navigated or been destroyed.
24105
+ */
24106
+ frame: (WebFrameMain) | (null);
24107
+ }
24108
+
23653
24109
  interface Settings {
23654
24110
  /**
23655
24111
  * `true` to open the app at login, `false` to remove the app as a login item.
@@ -25136,6 +25592,7 @@ declare namespace Electron {
25136
25592
  type ImportCertificateOptions = Electron.ImportCertificateOptions;
25137
25593
  type ImportSharedTextureOptions = Electron.ImportSharedTextureOptions;
25138
25594
  type Info = Electron.Info;
25595
+ type InitialState = Electron.InitialState;
25139
25596
  type Input = Electron.Input;
25140
25597
  type InsertCSSOptions = Electron.InsertCSSOptions;
25141
25598
  type IpcMessageEvent = Electron.IpcMessageEvent;
@@ -25186,6 +25643,7 @@ declare namespace Electron {
25186
25643
  type PreconnectOptions = Electron.PreconnectOptions;
25187
25644
  type Privileges = Electron.Privileges;
25188
25645
  type ProgressBarOptions = Electron.ProgressBarOptions;
25646
+ type PromptAPIHandlerDetails = Electron.PromptAPIHandlerDetails;
25189
25647
  type Provider = Electron.Provider;
25190
25648
  type PurchaseProductOpts = Electron.PurchaseProductOpts;
25191
25649
  type ReceivedSharedTextureData = Electron.ReceivedSharedTextureData;
@@ -25197,6 +25655,7 @@ declare namespace Electron {
25197
25655
  type ResolveHostOptions = Electron.ResolveHostOptions;
25198
25656
  type ResourceUsage = Electron.ResourceUsage;
25199
25657
  type Response = Electron.Response;
25658
+ type ResponseConstraint = Electron.ResponseConstraint;
25200
25659
  type RestoreOptions = Electron.RestoreOptions;
25201
25660
  type Result = Electron.Result;
25202
25661
  type SaveDialogOptions = Electron.SaveDialogOptions;
@@ -25208,6 +25667,7 @@ declare namespace Electron {
25208
25667
  type SendSharedTextureOptions = Electron.SendSharedTextureOptions;
25209
25668
  type SerialPortRevokedDetails = Electron.SerialPortRevokedDetails;
25210
25669
  type ServiceWorkersRunningStatusChangedEventParams = Electron.ServiceWorkersRunningStatusChangedEventParams;
25670
+ type SessionSelectWebauthnAuthenticatorEventParams = Electron.SessionSelectWebauthnAuthenticatorEventParams;
25211
25671
  type Settings = Electron.Settings;
25212
25672
  type SharedDictionaryInfoOptions = Electron.SharedDictionaryInfoOptions;
25213
25673
  type SourcesOptions = Electron.SourcesOptions;
@@ -25308,9 +25768,18 @@ declare namespace Electron {
25308
25768
  type JumpListItem = Electron.JumpListItem;
25309
25769
  type KeyboardEvent = Electron.KeyboardEvent;
25310
25770
  type KeyboardInputEvent = Electron.KeyboardInputEvent;
25771
+ type LanguageModelAppendOptions = Electron.LanguageModelAppendOptions;
25772
+ type LanguageModelCloneOptions = Electron.LanguageModelCloneOptions;
25773
+ type LanguageModelCreateCoreOptions = Electron.LanguageModelCreateCoreOptions;
25774
+ type LanguageModelCreateOptions = Electron.LanguageModelCreateOptions;
25775
+ type LanguageModelExpected = Electron.LanguageModelExpected;
25776
+ type LanguageModelMessage = Electron.LanguageModelMessage;
25777
+ type LanguageModelMessageContent = Electron.LanguageModelMessageContent;
25778
+ type LanguageModelPromptOptions = Electron.LanguageModelPromptOptions;
25311
25779
  type MediaAccessPermissionRequest = Electron.MediaAccessPermissionRequest;
25312
25780
  type MemoryInfo = Electron.MemoryInfo;
25313
25781
  type MemoryUsageDetails = Electron.MemoryUsageDetails;
25782
+ type MenuItemBadge = Electron.MenuItemBadge;
25314
25783
  type MimeTypedBuffer = Electron.MimeTypedBuffer;
25315
25784
  type MouseInputEvent = Electron.MouseInputEvent;
25316
25785
  type MouseWheelInputEvent = Electron.MouseWheelInputEvent;
@@ -25548,6 +26017,7 @@ declare namespace Electron {
25548
26017
  type ImportCertificateOptions = Electron.ImportCertificateOptions;
25549
26018
  type ImportSharedTextureOptions = Electron.ImportSharedTextureOptions;
25550
26019
  type Info = Electron.Info;
26020
+ type InitialState = Electron.InitialState;
25551
26021
  type Input = Electron.Input;
25552
26022
  type InsertCSSOptions = Electron.InsertCSSOptions;
25553
26023
  type IpcMessageEvent = Electron.IpcMessageEvent;
@@ -25598,6 +26068,7 @@ declare namespace Electron {
25598
26068
  type PreconnectOptions = Electron.PreconnectOptions;
25599
26069
  type Privileges = Electron.Privileges;
25600
26070
  type ProgressBarOptions = Electron.ProgressBarOptions;
26071
+ type PromptAPIHandlerDetails = Electron.PromptAPIHandlerDetails;
25601
26072
  type Provider = Electron.Provider;
25602
26073
  type PurchaseProductOpts = Electron.PurchaseProductOpts;
25603
26074
  type ReceivedSharedTextureData = Electron.ReceivedSharedTextureData;
@@ -25609,6 +26080,7 @@ declare namespace Electron {
25609
26080
  type ResolveHostOptions = Electron.ResolveHostOptions;
25610
26081
  type ResourceUsage = Electron.ResourceUsage;
25611
26082
  type Response = Electron.Response;
26083
+ type ResponseConstraint = Electron.ResponseConstraint;
25612
26084
  type RestoreOptions = Electron.RestoreOptions;
25613
26085
  type Result = Electron.Result;
25614
26086
  type SaveDialogOptions = Electron.SaveDialogOptions;
@@ -25620,6 +26092,7 @@ declare namespace Electron {
25620
26092
  type SendSharedTextureOptions = Electron.SendSharedTextureOptions;
25621
26093
  type SerialPortRevokedDetails = Electron.SerialPortRevokedDetails;
25622
26094
  type ServiceWorkersRunningStatusChangedEventParams = Electron.ServiceWorkersRunningStatusChangedEventParams;
26095
+ type SessionSelectWebauthnAuthenticatorEventParams = Electron.SessionSelectWebauthnAuthenticatorEventParams;
25623
26096
  type Settings = Electron.Settings;
25624
26097
  type SharedDictionaryInfoOptions = Electron.SharedDictionaryInfoOptions;
25625
26098
  type SourcesOptions = Electron.SourcesOptions;
@@ -25720,9 +26193,18 @@ declare namespace Electron {
25720
26193
  type JumpListItem = Electron.JumpListItem;
25721
26194
  type KeyboardEvent = Electron.KeyboardEvent;
25722
26195
  type KeyboardInputEvent = Electron.KeyboardInputEvent;
26196
+ type LanguageModelAppendOptions = Electron.LanguageModelAppendOptions;
26197
+ type LanguageModelCloneOptions = Electron.LanguageModelCloneOptions;
26198
+ type LanguageModelCreateCoreOptions = Electron.LanguageModelCreateCoreOptions;
26199
+ type LanguageModelCreateOptions = Electron.LanguageModelCreateOptions;
26200
+ type LanguageModelExpected = Electron.LanguageModelExpected;
26201
+ type LanguageModelMessage = Electron.LanguageModelMessage;
26202
+ type LanguageModelMessageContent = Electron.LanguageModelMessageContent;
26203
+ type LanguageModelPromptOptions = Electron.LanguageModelPromptOptions;
25723
26204
  type MediaAccessPermissionRequest = Electron.MediaAccessPermissionRequest;
25724
26205
  type MemoryInfo = Electron.MemoryInfo;
25725
26206
  type MemoryUsageDetails = Electron.MemoryUsageDetails;
26207
+ type MenuItemBadge = Electron.MenuItemBadge;
25726
26208
  type MimeTypedBuffer = Electron.MimeTypedBuffer;
25727
26209
  type MouseInputEvent = Electron.MouseInputEvent;
25728
26210
  type MouseWheelInputEvent = Electron.MouseWheelInputEvent;
@@ -25884,6 +26366,7 @@ declare namespace Electron {
25884
26366
  type ImportCertificateOptions = Electron.ImportCertificateOptions;
25885
26367
  type ImportSharedTextureOptions = Electron.ImportSharedTextureOptions;
25886
26368
  type Info = Electron.Info;
26369
+ type InitialState = Electron.InitialState;
25887
26370
  type Input = Electron.Input;
25888
26371
  type InsertCSSOptions = Electron.InsertCSSOptions;
25889
26372
  type IpcMessageEvent = Electron.IpcMessageEvent;
@@ -25934,6 +26417,7 @@ declare namespace Electron {
25934
26417
  type PreconnectOptions = Electron.PreconnectOptions;
25935
26418
  type Privileges = Electron.Privileges;
25936
26419
  type ProgressBarOptions = Electron.ProgressBarOptions;
26420
+ type PromptAPIHandlerDetails = Electron.PromptAPIHandlerDetails;
25937
26421
  type Provider = Electron.Provider;
25938
26422
  type PurchaseProductOpts = Electron.PurchaseProductOpts;
25939
26423
  type ReceivedSharedTextureData = Electron.ReceivedSharedTextureData;
@@ -25945,6 +26429,7 @@ declare namespace Electron {
25945
26429
  type ResolveHostOptions = Electron.ResolveHostOptions;
25946
26430
  type ResourceUsage = Electron.ResourceUsage;
25947
26431
  type Response = Electron.Response;
26432
+ type ResponseConstraint = Electron.ResponseConstraint;
25948
26433
  type RestoreOptions = Electron.RestoreOptions;
25949
26434
  type Result = Electron.Result;
25950
26435
  type SaveDialogOptions = Electron.SaveDialogOptions;
@@ -25956,6 +26441,7 @@ declare namespace Electron {
25956
26441
  type SendSharedTextureOptions = Electron.SendSharedTextureOptions;
25957
26442
  type SerialPortRevokedDetails = Electron.SerialPortRevokedDetails;
25958
26443
  type ServiceWorkersRunningStatusChangedEventParams = Electron.ServiceWorkersRunningStatusChangedEventParams;
26444
+ type SessionSelectWebauthnAuthenticatorEventParams = Electron.SessionSelectWebauthnAuthenticatorEventParams;
25959
26445
  type Settings = Electron.Settings;
25960
26446
  type SharedDictionaryInfoOptions = Electron.SharedDictionaryInfoOptions;
25961
26447
  type SourcesOptions = Electron.SourcesOptions;
@@ -26056,9 +26542,18 @@ declare namespace Electron {
26056
26542
  type JumpListItem = Electron.JumpListItem;
26057
26543
  type KeyboardEvent = Electron.KeyboardEvent;
26058
26544
  type KeyboardInputEvent = Electron.KeyboardInputEvent;
26545
+ type LanguageModelAppendOptions = Electron.LanguageModelAppendOptions;
26546
+ type LanguageModelCloneOptions = Electron.LanguageModelCloneOptions;
26547
+ type LanguageModelCreateCoreOptions = Electron.LanguageModelCreateCoreOptions;
26548
+ type LanguageModelCreateOptions = Electron.LanguageModelCreateOptions;
26549
+ type LanguageModelExpected = Electron.LanguageModelExpected;
26550
+ type LanguageModelMessage = Electron.LanguageModelMessage;
26551
+ type LanguageModelMessageContent = Electron.LanguageModelMessageContent;
26552
+ type LanguageModelPromptOptions = Electron.LanguageModelPromptOptions;
26059
26553
  type MediaAccessPermissionRequest = Electron.MediaAccessPermissionRequest;
26060
26554
  type MemoryInfo = Electron.MemoryInfo;
26061
26555
  type MemoryUsageDetails = Electron.MemoryUsageDetails;
26556
+ type MenuItemBadge = Electron.MenuItemBadge;
26062
26557
  type MimeTypedBuffer = Electron.MimeTypedBuffer;
26063
26558
  type MouseInputEvent = Electron.MouseInputEvent;
26064
26559
  type MouseWheelInputEvent = Electron.MouseWheelInputEvent;
@@ -26131,6 +26626,9 @@ declare namespace Electron {
26131
26626
  type Event<Params extends object = {}> = Electron.Event<Params>;
26132
26627
  type ClientRequest = Electron.ClientRequest;
26133
26628
  type IncomingMessage = Electron.IncomingMessage;
26629
+ class LanguageModelUtility extends Electron.LanguageModelUtility {}
26630
+ const localAIHandler: LocalAIHandler;
26631
+ type LocalAIHandler = Electron.LocalAIHandler;
26134
26632
  const net: Net;
26135
26633
  type Net = Electron.Net;
26136
26634
  const parentPort: ParentPort;
@@ -26219,6 +26717,7 @@ declare namespace Electron {
26219
26717
  type ImportCertificateOptions = Electron.ImportCertificateOptions;
26220
26718
  type ImportSharedTextureOptions = Electron.ImportSharedTextureOptions;
26221
26719
  type Info = Electron.Info;
26720
+ type InitialState = Electron.InitialState;
26222
26721
  type Input = Electron.Input;
26223
26722
  type InsertCSSOptions = Electron.InsertCSSOptions;
26224
26723
  type IpcMessageEvent = Electron.IpcMessageEvent;
@@ -26269,6 +26768,7 @@ declare namespace Electron {
26269
26768
  type PreconnectOptions = Electron.PreconnectOptions;
26270
26769
  type Privileges = Electron.Privileges;
26271
26770
  type ProgressBarOptions = Electron.ProgressBarOptions;
26771
+ type PromptAPIHandlerDetails = Electron.PromptAPIHandlerDetails;
26272
26772
  type Provider = Electron.Provider;
26273
26773
  type PurchaseProductOpts = Electron.PurchaseProductOpts;
26274
26774
  type ReceivedSharedTextureData = Electron.ReceivedSharedTextureData;
@@ -26280,6 +26780,7 @@ declare namespace Electron {
26280
26780
  type ResolveHostOptions = Electron.ResolveHostOptions;
26281
26781
  type ResourceUsage = Electron.ResourceUsage;
26282
26782
  type Response = Electron.Response;
26783
+ type ResponseConstraint = Electron.ResponseConstraint;
26283
26784
  type RestoreOptions = Electron.RestoreOptions;
26284
26785
  type Result = Electron.Result;
26285
26786
  type SaveDialogOptions = Electron.SaveDialogOptions;
@@ -26291,6 +26792,7 @@ declare namespace Electron {
26291
26792
  type SendSharedTextureOptions = Electron.SendSharedTextureOptions;
26292
26793
  type SerialPortRevokedDetails = Electron.SerialPortRevokedDetails;
26293
26794
  type ServiceWorkersRunningStatusChangedEventParams = Electron.ServiceWorkersRunningStatusChangedEventParams;
26795
+ type SessionSelectWebauthnAuthenticatorEventParams = Electron.SessionSelectWebauthnAuthenticatorEventParams;
26294
26796
  type Settings = Electron.Settings;
26295
26797
  type SharedDictionaryInfoOptions = Electron.SharedDictionaryInfoOptions;
26296
26798
  type SourcesOptions = Electron.SourcesOptions;
@@ -26391,9 +26893,18 @@ declare namespace Electron {
26391
26893
  type JumpListItem = Electron.JumpListItem;
26392
26894
  type KeyboardEvent = Electron.KeyboardEvent;
26393
26895
  type KeyboardInputEvent = Electron.KeyboardInputEvent;
26896
+ type LanguageModelAppendOptions = Electron.LanguageModelAppendOptions;
26897
+ type LanguageModelCloneOptions = Electron.LanguageModelCloneOptions;
26898
+ type LanguageModelCreateCoreOptions = Electron.LanguageModelCreateCoreOptions;
26899
+ type LanguageModelCreateOptions = Electron.LanguageModelCreateOptions;
26900
+ type LanguageModelExpected = Electron.LanguageModelExpected;
26901
+ type LanguageModelMessage = Electron.LanguageModelMessage;
26902
+ type LanguageModelMessageContent = Electron.LanguageModelMessageContent;
26903
+ type LanguageModelPromptOptions = Electron.LanguageModelPromptOptions;
26394
26904
  type MediaAccessPermissionRequest = Electron.MediaAccessPermissionRequest;
26395
26905
  type MemoryInfo = Electron.MemoryInfo;
26396
26906
  type MemoryUsageDetails = Electron.MemoryUsageDetails;
26907
+ type MenuItemBadge = Electron.MenuItemBadge;
26397
26908
  type MimeTypedBuffer = Electron.MimeTypedBuffer;
26398
26909
  type MouseInputEvent = Electron.MouseInputEvent;
26399
26910
  type MouseWheelInputEvent = Electron.MouseWheelInputEvent;
@@ -26502,6 +27013,9 @@ declare namespace Electron {
26502
27013
  class IpcMainServiceWorker extends Electron.IpcMainServiceWorker {}
26503
27014
  const ipcRenderer: IpcRenderer;
26504
27015
  type IpcRenderer = Electron.IpcRenderer;
27016
+ class LanguageModelUtility extends Electron.LanguageModelUtility {}
27017
+ const localAIHandler: LocalAIHandler;
27018
+ type LocalAIHandler = Electron.LocalAIHandler;
26505
27019
  class Menu extends Electron.Menu {}
26506
27020
  class MenuItem extends Electron.MenuItem {}
26507
27021
  class MessageChannelMain extends Electron.MessageChannelMain {}
@@ -26650,6 +27164,7 @@ declare namespace Electron {
26650
27164
  type ImportCertificateOptions = Electron.ImportCertificateOptions;
26651
27165
  type ImportSharedTextureOptions = Electron.ImportSharedTextureOptions;
26652
27166
  type Info = Electron.Info;
27167
+ type InitialState = Electron.InitialState;
26653
27168
  type Input = Electron.Input;
26654
27169
  type InsertCSSOptions = Electron.InsertCSSOptions;
26655
27170
  type IpcMessageEvent = Electron.IpcMessageEvent;
@@ -26700,6 +27215,7 @@ declare namespace Electron {
26700
27215
  type PreconnectOptions = Electron.PreconnectOptions;
26701
27216
  type Privileges = Electron.Privileges;
26702
27217
  type ProgressBarOptions = Electron.ProgressBarOptions;
27218
+ type PromptAPIHandlerDetails = Electron.PromptAPIHandlerDetails;
26703
27219
  type Provider = Electron.Provider;
26704
27220
  type PurchaseProductOpts = Electron.PurchaseProductOpts;
26705
27221
  type ReceivedSharedTextureData = Electron.ReceivedSharedTextureData;
@@ -26711,6 +27227,7 @@ declare namespace Electron {
26711
27227
  type ResolveHostOptions = Electron.ResolveHostOptions;
26712
27228
  type ResourceUsage = Electron.ResourceUsage;
26713
27229
  type Response = Electron.Response;
27230
+ type ResponseConstraint = Electron.ResponseConstraint;
26714
27231
  type RestoreOptions = Electron.RestoreOptions;
26715
27232
  type Result = Electron.Result;
26716
27233
  type SaveDialogOptions = Electron.SaveDialogOptions;
@@ -26722,6 +27239,7 @@ declare namespace Electron {
26722
27239
  type SendSharedTextureOptions = Electron.SendSharedTextureOptions;
26723
27240
  type SerialPortRevokedDetails = Electron.SerialPortRevokedDetails;
26724
27241
  type ServiceWorkersRunningStatusChangedEventParams = Electron.ServiceWorkersRunningStatusChangedEventParams;
27242
+ type SessionSelectWebauthnAuthenticatorEventParams = Electron.SessionSelectWebauthnAuthenticatorEventParams;
26725
27243
  type Settings = Electron.Settings;
26726
27244
  type SharedDictionaryInfoOptions = Electron.SharedDictionaryInfoOptions;
26727
27245
  type SourcesOptions = Electron.SourcesOptions;
@@ -26822,9 +27340,18 @@ declare namespace Electron {
26822
27340
  type JumpListItem = Electron.JumpListItem;
26823
27341
  type KeyboardEvent = Electron.KeyboardEvent;
26824
27342
  type KeyboardInputEvent = Electron.KeyboardInputEvent;
27343
+ type LanguageModelAppendOptions = Electron.LanguageModelAppendOptions;
27344
+ type LanguageModelCloneOptions = Electron.LanguageModelCloneOptions;
27345
+ type LanguageModelCreateCoreOptions = Electron.LanguageModelCreateCoreOptions;
27346
+ type LanguageModelCreateOptions = Electron.LanguageModelCreateOptions;
27347
+ type LanguageModelExpected = Electron.LanguageModelExpected;
27348
+ type LanguageModelMessage = Electron.LanguageModelMessage;
27349
+ type LanguageModelMessageContent = Electron.LanguageModelMessageContent;
27350
+ type LanguageModelPromptOptions = Electron.LanguageModelPromptOptions;
26825
27351
  type MediaAccessPermissionRequest = Electron.MediaAccessPermissionRequest;
26826
27352
  type MemoryInfo = Electron.MemoryInfo;
26827
27353
  type MemoryUsageDetails = Electron.MemoryUsageDetails;
27354
+ type MenuItemBadge = Electron.MenuItemBadge;
26828
27355
  type MimeTypedBuffer = Electron.MimeTypedBuffer;
26829
27356
  type MouseInputEvent = Electron.MouseInputEvent;
26830
27357
  type MouseWheelInputEvent = Electron.MouseWheelInputEvent;
@@ -26905,6 +27432,7 @@ declare namespace Electron {
26905
27432
  const inAppPurchase: InAppPurchase;
26906
27433
  const ipcMain: IpcMain;
26907
27434
  const ipcRenderer: IpcRenderer;
27435
+ const localAIHandler: LocalAIHandler;
26908
27436
  const nativeImage: typeof NativeImage;
26909
27437
  const nativeTheme: NativeTheme;
26910
27438
  const net: Net;
package/dist/version.json CHANGED
@@ -1,4 +1,4 @@
1
1
  {
2
- "electronVersion": "44.0.0-beta.6",
3
- "extractedAt": "2026-08-20T23:08:34.987Z"
2
+ "electronVersion": "45.0.0-alpha.1",
3
+ "extractedAt": "2026-08-28T07:39:05.308Z"
4
4
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "electron-types",
3
- "version": "44.0.0-beta.6",
3
+ "version": "45.0.0-alpha.1",
4
4
  "type": "module",
5
5
  "description": "TypeScript type definitions extracted from the electron package",
6
6
  "types": "./dist/electron.d.ts",