@overwolf/ow-electron 28.3.8 → 31.4.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/electron.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- // Type definitions for Electron 28.3.3
1
+ // Type definitions for Electron 31.4.0
2
2
  // Project: http://electronjs.org/
3
3
  // Definitions by: The Electron Team <https://github.com/electron/electron>
4
4
  // Definitions: https://github.com/electron/typescript-definitions
@@ -479,38 +479,6 @@ declare namespace Electron {
479
479
  once(event: 'gpu-info-update', listener: Function): this;
480
480
  addListener(event: 'gpu-info-update', listener: Function): this;
481
481
  removeListener(event: 'gpu-info-update', listener: Function): this;
482
- /**
483
- * Emitted when the GPU process crashes or is killed.
484
- *
485
- * **Deprecated:** This event is superceded by the `child-process-gone` event which
486
- * contains more information about why the child process disappeared. It isn't
487
- * always because it crashed. The `killed` boolean can be replaced by checking
488
- * `reason === 'killed'` when you switch to that event.
489
- *
490
- * @deprecated
491
- */
492
- on(event: 'gpu-process-crashed', listener: (event: Event,
493
- killed: boolean) => void): this;
494
- /**
495
- * @deprecated
496
- */
497
- off(event: 'gpu-process-crashed', listener: (event: Event,
498
- killed: boolean) => void): this;
499
- /**
500
- * @deprecated
501
- */
502
- once(event: 'gpu-process-crashed', listener: (event: Event,
503
- killed: boolean) => void): this;
504
- /**
505
- * @deprecated
506
- */
507
- addListener(event: 'gpu-process-crashed', listener: (event: Event,
508
- killed: boolean) => void): this;
509
- /**
510
- * @deprecated
511
- */
512
- removeListener(event: 'gpu-process-crashed', listener: (event: Event,
513
- killed: boolean) => void): this;
514
482
  /**
515
483
  * Emitted when `webContents` wants to do basic auth.
516
484
  *
@@ -664,6 +632,11 @@ declare namespace Electron {
664
632
  * launched from Notification Center. You can also call `app.isReady()` to check if
665
633
  * this event has already fired and `app.whenReady()` to get a Promise that is
666
634
  * fulfilled when Electron is initialized.
635
+ *
636
+ * **Note**: The `ready` event is only fired after the main process has finished
637
+ * running the first tick of the event loop. If an Electron API needs to be called
638
+ * before the `ready` event, ensure that it is called synchronously in the
639
+ * top-level context of the main process.
667
640
  */
668
641
  on(event: 'ready', listener: (event: Event,
669
642
  /**
@@ -709,43 +682,6 @@ declare namespace Electron {
709
682
  removeListener(event: 'render-process-gone', listener: (event: Event,
710
683
  webContents: WebContents,
711
684
  details: RenderProcessGoneDetails) => void): this;
712
- /**
713
- * Emitted when the renderer process of `webContents` crashes or is killed.
714
- *
715
- * **Deprecated:** This event is superceded by the `render-process-gone` event
716
- * which contains more information about why the render process disappeared. It
717
- * isn't always because it crashed. The `killed` boolean can be replaced by
718
- * checking `reason === 'killed'` when you switch to that event.
719
- *
720
- * @deprecated
721
- */
722
- on(event: 'renderer-process-crashed', listener: (event: Event,
723
- webContents: WebContents,
724
- killed: boolean) => void): this;
725
- /**
726
- * @deprecated
727
- */
728
- off(event: 'renderer-process-crashed', listener: (event: Event,
729
- webContents: WebContents,
730
- killed: boolean) => void): this;
731
- /**
732
- * @deprecated
733
- */
734
- once(event: 'renderer-process-crashed', listener: (event: Event,
735
- webContents: WebContents,
736
- killed: boolean) => void): this;
737
- /**
738
- * @deprecated
739
- */
740
- addListener(event: 'renderer-process-crashed', listener: (event: Event,
741
- webContents: WebContents,
742
- killed: boolean) => void): this;
743
- /**
744
- * @deprecated
745
- */
746
- removeListener(event: 'renderer-process-crashed', listener: (event: Event,
747
- webContents: WebContents,
748
- killed: boolean) => void): this;
749
685
  /**
750
686
  * This event will be emitted inside the primary instance of your application when
751
687
  * a second instance has been executed and calls `app.requestSingleInstanceLock()`.
@@ -1232,17 +1168,21 @@ declare namespace Electron {
1232
1168
  *
1233
1169
  *
1234
1170
  * * `openAtLogin` boolean - `true` if the app is set to open at login.
1235
- * * `openAsHidden` boolean _macOS_ - `true` if the app is set to open as hidden at
1236
- * login. This setting is not available on MAS builds.
1171
+ * * `openAsHidden` boolean _macOS_ _Deprecated_ - `true` if the app is set to open
1172
+ * as hidden at login. This does not work on macOS 13 and up.
1237
1173
  * * `wasOpenedAtLogin` boolean _macOS_ - `true` if the app was opened at login
1238
- * automatically. This setting is not available on MAS builds.
1239
- * * `wasOpenedAsHidden` boolean _macOS_ - `true` if the app was opened as a hidden
1240
- * login item. This indicates that the app should not open any windows at startup.
1241
- * This setting is not available on MAS builds.
1242
- * * `restoreState` boolean _macOS_ - `true` if the app was opened as a login item
1243
- * that should restore the state from the previous session. This indicates that the
1244
- * app should restore the windows that were open the last time the app was closed.
1245
- * This setting is not available on MAS builds.
1174
+ * automatically.
1175
+ * * `wasOpenedAsHidden` boolean _macOS_ _Deprecated_ - `true` if the app was
1176
+ * opened as a hidden login item. This indicates that the app should not open any
1177
+ * windows at startup. This setting is not available on MAS builds or on macOS 13
1178
+ * and up.
1179
+ * * `restoreState` boolean _macOS_ _Deprecated_ - `true` if the app was opened as
1180
+ * a login item that should restore the state from the previous session. This
1181
+ * indicates that the app should restore the windows that were open the last time
1182
+ * the app was closed. This setting is not available on MAS builds or on macOS 13
1183
+ * and up.
1184
+ * * `status` string _macOS_ - can be one of `not-registered`, `enabled`,
1185
+ * `requires-approval`, or `not-found`.
1246
1186
  * * `executableWillLaunchAtLogin` boolean _Windows_ - `true` if app is set to open
1247
1187
  * at login and its run key is not deactivated. This differs from `openAtLogin` as
1248
1188
  * it ignores the `args` option, this property will be true if the given executable
@@ -1677,10 +1617,15 @@ declare namespace Electron {
1677
1617
  */
1678
1618
  setJumpList(categories: (JumpListCategory[]) | (null)): ('ok' | 'error' | 'invalidSeparatorError' | 'fileTypeRegistrationError' | 'customCategoryAccessDeniedError');
1679
1619
  /**
1620
+ * Set the app's login item settings.
1621
+ *
1680
1622
  * To work with Electron's `autoUpdater` on Windows, which uses Squirrel, you'll
1681
1623
  * want to set the launch path to Update.exe, and pass arguments that specify your
1682
1624
  * application name. For example:
1683
1625
  *
1626
+ * For more information about setting different services as login items on macOS 13
1627
+ * and up, see `SMAppService`.
1628
+ *
1684
1629
  * @platform darwin,win32
1685
1630
  */
1686
1631
  setLoginItemSettings(settings: Settings): void;
@@ -1989,80 +1934,9 @@ declare namespace Electron {
1989
1934
  setFeedURL(options: FeedURLOptions): void;
1990
1935
  }
1991
1936
 
1992
- interface BluetoothDevice {
1993
-
1994
- // Docs: https://electronjs.org/docs/api/structures/bluetooth-device
1995
-
1996
- deviceId: string;
1997
- deviceName: string;
1998
- }
1999
-
2000
- class BrowserView {
2001
-
2002
- // Docs: https://electronjs.org/docs/api/browser-view
2003
-
2004
- /**
2005
- * BrowserView
2006
- */
2007
- constructor(options?: BrowserViewConstructorOptions);
2008
- /**
2009
- * The `bounds` of this BrowserView instance as `Object`.
2010
- *
2011
- * @experimental
2012
- */
2013
- getBounds(): Rectangle;
2014
- /**
2015
- * @experimental
2016
- */
2017
- setAutoResize(options: AutoResizeOptions): void;
2018
- /**
2019
- * Examples of valid `color` values:
2020
- *
2021
- * * Hex
2022
- * * #fff (RGB)
2023
- * * #ffff (ARGB)
2024
- * * #ffffff (RRGGBB)
2025
- * * #ffffffff (AARRGGBB)
2026
- * * RGB
2027
- * * rgb(([\d]+),\s*([\d]+),\s*([\d]+))
2028
- * * e.g. rgb(255, 255, 255)
2029
- * * RGBA
2030
- * * rgba(([\d]+),\s*([\d]+),\s*([\d]+),\s*([\d.]+))
2031
- * * e.g. rgba(255, 255, 255, 1.0)
2032
- * * HSL
2033
- * * hsl((-?[\d.]+),\s*([\d.]+)%,\s*([\d.]+)%)
2034
- * * e.g. hsl(200, 20%, 50%)
2035
- * * HSLA
2036
- * * hsla((-?[\d.]+),\s*([\d.]+)%,\s*([\d.]+)%,\s*([\d.]+))
2037
- * * e.g. hsla(200, 20%, 50%, 0.5)
2038
- * * Color name
2039
- * * Options are listed in SkParseColor.cpp
2040
- * * Similar to CSS Color Module Level 3 keywords, but case-sensitive.
2041
- * * e.g. `blueviolet` or `red`
2042
- *
2043
- * **Note:** Hex format with alpha takes `AARRGGBB` or `ARGB`, _not_ `RRGGBBA` or
2044
- * `RGA`.
2045
- *
2046
- * @experimental
2047
- */
2048
- setBackgroundColor(color: string): void;
2049
- /**
2050
- * Resizes and moves the view to the supplied bounds relative to the window.
2051
- *
2052
- * @experimental
2053
- */
2054
- setBounds(bounds: Rectangle): void;
2055
- /**
2056
- * A `WebContents` object owned by this view.
2057
- *
2058
- * @experimental
2059
- */
2060
- webContents: WebContents;
2061
- }
2062
-
2063
- class BrowserWindow extends NodeEventEmitter {
1937
+ class BaseWindow extends NodeEventEmitter {
2064
1938
 
2065
- // Docs: https://electronjs.org/docs/api/browser-window
1939
+ // Docs: https://electronjs.org/docs/api/base-window
2066
1940
 
2067
1941
  /**
2068
1942
  * Emitted when the window is set or unset to show always on top of other windows.
@@ -2161,14 +2035,6 @@ declare namespace Electron {
2161
2035
  once(event: 'enter-full-screen', listener: Function): this;
2162
2036
  addListener(event: 'enter-full-screen', listener: Function): this;
2163
2037
  removeListener(event: 'enter-full-screen', listener: Function): this;
2164
- /**
2165
- * Emitted when the window enters a full-screen state triggered by HTML API.
2166
- */
2167
- on(event: 'enter-html-full-screen', listener: Function): this;
2168
- off(event: 'enter-html-full-screen', listener: Function): this;
2169
- once(event: 'enter-html-full-screen', listener: Function): this;
2170
- addListener(event: 'enter-html-full-screen', listener: Function): this;
2171
- removeListener(event: 'enter-html-full-screen', listener: Function): this;
2172
2038
  /**
2173
2039
  * Emitted when the window gains focus.
2174
2040
  */
@@ -2193,14 +2059,6 @@ declare namespace Electron {
2193
2059
  once(event: 'leave-full-screen', listener: Function): this;
2194
2060
  addListener(event: 'leave-full-screen', listener: Function): this;
2195
2061
  removeListener(event: 'leave-full-screen', listener: Function): this;
2196
- /**
2197
- * Emitted when the window leaves a full-screen state triggered by HTML API.
2198
- */
2199
- on(event: 'leave-html-full-screen', listener: Function): this;
2200
- off(event: 'leave-html-full-screen', listener: Function): this;
2201
- once(event: 'leave-html-full-screen', listener: Function): this;
2202
- addListener(event: 'leave-html-full-screen', listener: Function): this;
2203
- removeListener(event: 'leave-html-full-screen', listener: Function): this;
2204
2062
  /**
2205
2063
  * Emitted when window is maximized.
2206
2064
  */
@@ -2271,39 +2129,6 @@ declare namespace Electron {
2271
2129
  * @platform darwin
2272
2130
  */
2273
2131
  removeListener(event: 'new-window-for-tab', listener: Function): this;
2274
- /**
2275
- * Emitted when the document changed its title, calling `event.preventDefault()`
2276
- * will prevent the native window's title from changing. `explicitSet` is false
2277
- * when title is synthesized from file URL.
2278
- */
2279
- on(event: 'page-title-updated', listener: (event: Event,
2280
- title: string,
2281
- explicitSet: boolean) => void): this;
2282
- off(event: 'page-title-updated', listener: (event: Event,
2283
- title: string,
2284
- explicitSet: boolean) => void): this;
2285
- once(event: 'page-title-updated', listener: (event: Event,
2286
- title: string,
2287
- explicitSet: boolean) => void): this;
2288
- addListener(event: 'page-title-updated', listener: (event: Event,
2289
- title: string,
2290
- explicitSet: boolean) => void): this;
2291
- removeListener(event: 'page-title-updated', listener: (event: Event,
2292
- title: string,
2293
- explicitSet: boolean) => void): this;
2294
- /**
2295
- * Emitted when the web page has been rendered (while not being shown) and window
2296
- * can be displayed without a visual flash.
2297
- *
2298
- * Please note that using this event implies that the renderer will be considered
2299
- * "visible" and paint even though `show` is false. This event will never fire if
2300
- * you use `paintWhenInitiallyHidden: false`
2301
- */
2302
- on(event: 'ready-to-show', listener: Function): this;
2303
- off(event: 'ready-to-show', listener: Function): this;
2304
- once(event: 'ready-to-show', listener: Function): this;
2305
- addListener(event: 'ready-to-show', listener: Function): this;
2306
- removeListener(event: 'ready-to-show', listener: Function): this;
2307
2132
  /**
2308
2133
  * Emitted after the window has been resized.
2309
2134
  */
@@ -2338,14 +2163,6 @@ declare namespace Electron {
2338
2163
  * @platform darwin,win32
2339
2164
  */
2340
2165
  removeListener(event: 'resized', listener: Function): this;
2341
- /**
2342
- * Emitted when the unresponsive web page becomes responsive again.
2343
- */
2344
- on(event: 'responsive', listener: Function): this;
2345
- off(event: 'responsive', listener: Function): this;
2346
- once(event: 'responsive', listener: Function): this;
2347
- addListener(event: 'responsive', listener: Function): this;
2348
- removeListener(event: 'responsive', listener: Function): this;
2349
2166
  /**
2350
2167
  * Emitted when the window is restored from a minimized state.
2351
2168
  */
@@ -2550,14 +2367,6 @@ declare namespace Electron {
2550
2367
  once(event: 'unmaximize', listener: Function): this;
2551
2368
  addListener(event: 'unmaximize', listener: Function): this;
2552
2369
  removeListener(event: 'unmaximize', listener: Function): this;
2553
- /**
2554
- * Emitted when the web page becomes unresponsive.
2555
- */
2556
- on(event: 'unresponsive', listener: Function): this;
2557
- off(event: 'unresponsive', listener: Function): this;
2558
- once(event: 'unresponsive', listener: Function): this;
2559
- addListener(event: 'unresponsive', listener: Function): this;
2560
- removeListener(event: 'unresponsive', listener: Function): this;
2561
2370
  /**
2562
2371
  * Emitted before the window is moved. On Windows, calling `event.preventDefault()`
2563
2372
  * will prevent the window from being moved.
@@ -2665,58 +2474,31 @@ declare namespace Electron {
2665
2474
  newBounds: Rectangle,
2666
2475
  details: WillResizeDetails) => void): this;
2667
2476
  /**
2668
- * BrowserWindow
2669
- */
2670
- constructor(options?: BrowserWindowConstructorOptions);
2671
- /**
2672
- * The window that owns the given `browserView`. If the given view is not attached
2673
- * to any window, returns `null`.
2477
+ * BaseWindow
2674
2478
  */
2675
- static fromBrowserView(browserView: BrowserView): (BrowserWindow) | (null);
2479
+ constructor(options?: BaseWindowConstructorOptions);
2676
2480
  /**
2677
2481
  * The window with the given `id`.
2678
2482
  */
2679
- static fromId(id: number): (BrowserWindow) | (null);
2680
- /**
2681
- * The window that owns the given `webContents` or `null` if the contents are not
2682
- * owned by a window.
2683
- */
2684
- static fromWebContents(webContents: WebContents): (BrowserWindow) | (null);
2483
+ static fromId(id: number): (BaseWindow) | (null);
2685
2484
  /**
2686
2485
  * An array of all opened browser windows.
2687
2486
  */
2688
- static getAllWindows(): BrowserWindow[];
2487
+ static getAllWindows(): BaseWindow[];
2689
2488
  /**
2690
2489
  * The window that is focused in this application, otherwise returns `null`.
2691
2490
  */
2692
- static getFocusedWindow(): (BrowserWindow) | (null);
2693
- /**
2694
- * Replacement API for setBrowserView supporting work with multi browser views.
2695
- *
2696
- * @experimental
2697
- */
2698
- addBrowserView(browserView: BrowserView): void;
2491
+ static getFocusedWindow(): (BaseWindow) | (null);
2699
2492
  /**
2700
2493
  * Adds a window as a tab on this window, after the tab for the window instance.
2701
2494
  *
2702
2495
  * @platform darwin
2703
2496
  */
2704
- addTabbedWindow(browserWindow: BrowserWindow): void;
2497
+ addTabbedWindow(baseWindow: BaseWindow): void;
2705
2498
  /**
2706
2499
  * Removes focus from the window.
2707
2500
  */
2708
2501
  blur(): void;
2709
- blurWebView(): void;
2710
- /**
2711
- * Resolves with a NativeImage
2712
- *
2713
- * Captures a snapshot of the page within `rect`. Omitting `rect` will capture the
2714
- * whole visible page. If the page is not visible, `rect` may be empty. The page is
2715
- * considered visible when its browser window is hidden and the capturer count is
2716
- * non-zero. If you would like the page to stay hidden, you should ensure that
2717
- * `stayHidden` is set to true.
2718
- */
2719
- capturePage(rect?: Rectangle, opts?: Opts): Promise<Electron.NativeImage>;
2720
2502
  /**
2721
2503
  * Moves window to the center of the screen.
2722
2504
  */
@@ -2747,7 +2529,6 @@ declare namespace Electron {
2747
2529
  * Focuses on the window.
2748
2530
  */
2749
2531
  focus(): void;
2750
- focusOnWebView(): void;
2751
2532
  /**
2752
2533
  * Gets the background color of the window in Hex (`#RRGGBB`) format.
2753
2534
  *
@@ -2766,28 +2547,10 @@ declare namespace Electron {
2766
2547
  * 25, y: 38, width: 800, height: 600 }`.
2767
2548
  */
2768
2549
  getBounds(): Rectangle;
2769
- /**
2770
- * The `BrowserView` attached to `win`. Returns `null` if one is not attached.
2771
- * Throws an error if multiple `BrowserView`s are attached.
2772
- *
2773
- * @experimental
2774
- */
2775
- getBrowserView(): (BrowserView) | (null);
2776
- /**
2777
- * a sorted by z-index array of all BrowserViews that have been attached with
2778
- * `addBrowserView` or `setBrowserView`. The top-most BrowserView is the last
2779
- * element of the array.
2780
- *
2781
- * **Note:** The BrowserView API is currently experimental and may change or be
2782
- * removed in future Electron releases.
2783
- *
2784
- * @experimental
2785
- */
2786
- getBrowserViews(): BrowserView[];
2787
2550
  /**
2788
2551
  * All child windows.
2789
2552
  */
2790
- getChildWindows(): BrowserWindow[];
2553
+ getChildWindows(): BaseWindow[];
2791
2554
  /**
2792
2555
  * The `bounds` of the window's client area as `Object`.
2793
2556
  */
@@ -2796,6 +2559,10 @@ declare namespace Electron {
2796
2559
  * Contains the window's client area's width and height.
2797
2560
  */
2798
2561
  getContentSize(): number[];
2562
+ /**
2563
+ * Returns View - The content view of the window.
2564
+ */
2565
+ getContentView(): void;
2799
2566
  /**
2800
2567
  * Contains the window's maximum width and height.
2801
2568
  */
@@ -2838,7 +2605,7 @@ declare namespace Electron {
2838
2605
  /**
2839
2606
  * The parent window or `null` if there is no parent.
2840
2607
  */
2841
- getParentWindow(): (BrowserWindow) | (null);
2608
+ getParentWindow(): (BaseWindow) | (null);
2842
2609
  /**
2843
2610
  * Contains the window's current position.
2844
2611
  */
@@ -2886,9 +2653,9 @@ declare namespace Electron {
2886
2653
  * Invalidates the window shadow so that it is recomputed based on the current
2887
2654
  * window shape.
2888
2655
  *
2889
- * `BrowserWindows` that are transparent can sometimes leave behind visual
2890
- * artifacts on macOS. This method can be used to clear these artifacts when, for
2891
- * example, performing an animation.
2656
+ * `BaseWindow`s that are transparent can sometimes leave behind visual artifacts
2657
+ * on macOS. This method can be used to clear these artifacts when, for example,
2658
+ * performing an animation.
2892
2659
  *
2893
2660
  * @platform darwin
2894
2661
  */
@@ -3042,31 +2809,6 @@ declare namespace Electron {
3042
2809
  * @platform win32
3043
2810
  */
3044
2811
  isWindowMessageHooked(message: number): boolean;
3045
- /**
3046
- * the promise will resolve when the page has finished loading (see
3047
- * `did-finish-load`), and rejects if the page fails to load (see `did-fail-load`).
3048
- *
3049
- * Same as `webContents.loadFile`, `filePath` should be a path to an HTML file
3050
- * relative to the root of your application. See the `webContents` docs for more
3051
- * information.
3052
- */
3053
- loadFile(filePath: string, options?: LoadFileOptions): Promise<void>;
3054
- /**
3055
- * the promise will resolve when the page has finished loading (see
3056
- * `did-finish-load`), and rejects if the page fails to load (see `did-fail-load`).
3057
- *
3058
- * Same as `webContents.loadURL(url[, options])`.
3059
- *
3060
- * The `url` can be a remote address (e.g. `http://`) or a path to a local HTML
3061
- * file using the `file://` protocol.
3062
- *
3063
- * To ensure that file URLs are properly formatted, it is recommended to use Node's
3064
- * `url.format` method:
3065
- *
3066
- * You can load a URL using a `POST` request with URL-encoded data by doing the
3067
- * following:
3068
- */
3069
- loadURL(url: string, options?: LoadURLOptions): Promise<void>;
3070
2812
  /**
3071
2813
  * Maximizes the window. This will also show (but not focus) the window if it isn't
3072
2814
  * being displayed already.
@@ -3107,14 +2849,6 @@ declare namespace Electron {
3107
2849
  * @platform darwin
3108
2850
  */
3109
2851
  previewFile(path: string, displayName?: string): void;
3110
- /**
3111
- * Same as `webContents.reload`.
3112
- */
3113
- reload(): void;
3114
- /**
3115
- * @experimental
3116
- */
3117
- removeBrowserView(browserView: BrowserView): void;
3118
2852
  /**
3119
2853
  * Remove the window's menu bar.
3120
2854
  *
@@ -3201,16 +2935,16 @@ declare namespace Electron {
3201
2935
  * * #ffffff (RGB)
3202
2936
  * * #ffffffff (ARGB)
3203
2937
  * * RGB
3204
- * * rgb(([\d]+),\s*([\d]+),\s*([\d]+))
2938
+ * * `rgb\(([\d]+),\s*([\d]+),\s*([\d]+)\)`
3205
2939
  * * e.g. rgb(255, 255, 255)
3206
2940
  * * RGBA
3207
- * * rgba(([\d]+),\s*([\d]+),\s*([\d]+),\s*([\d.]+))
2941
+ * * `rgba\(([\d]+),\s*([\d]+),\s*([\d]+),\s*([\d.]+)\)`
3208
2942
  * * e.g. rgba(255, 255, 255, 1.0)
3209
2943
  * * HSL
3210
- * * hsl((-?[\d.]+),\s*([\d.]+)%,\s*([\d.]+)%)
2944
+ * * `hsl\((-?[\d.]+),\s*([\d.]+)%,\s*([\d.]+)%\)`
3211
2945
  * * e.g. hsl(200, 20%, 50%)
3212
2946
  * * HSLA
3213
- * * hsla((-?[\d.]+),\s*([\d.]+)%,\s*([\d.]+)%,\s*([\d.]+))
2947
+ * * `hsla\((-?[\d.]+),\s*([\d.]+)%,\s*([\d.]+)%,\s*([\d.]+)\)`
3214
2948
  * * e.g. hsla(200, 20%, 50%, 0.5)
3215
2949
  * * Color name
3216
2950
  * * Options are listed in SkParseColor.cpp
@@ -3241,10 +2975,6 @@ declare namespace Electron {
3241
2975
  * result in a window that is flush to the tray.
3242
2976
  */
3243
2977
  setBounds(bounds: Partial<Rectangle>, animate?: boolean): void;
3244
- /**
3245
- * @experimental
3246
- */
3247
- setBrowserView(browserView: (BrowserView) | (null)): void;
3248
2978
  /**
3249
2979
  * Sets whether the window can be manually closed by user. On Linux does nothing.
3250
2980
  *
@@ -3271,6 +3001,10 @@ declare namespace Electron {
3271
3001
  * Resizes the window's client area (e.g. the web page) to `width` and `height`.
3272
3002
  */
3273
3003
  setContentSize(width: number, height: number, animate?: boolean): void;
3004
+ /**
3005
+ * Sets the content view of the window.
3006
+ */
3007
+ setContentView(view: View): void;
3274
3008
  /**
3275
3009
  * Specifies whether the window’s document has been edited, and the icon in title
3276
3010
  * bar will become gray when set to `true`.
@@ -3390,7 +3124,7 @@ declare namespace Electron {
3390
3124
  * Sets `parent` as current window's parent window, passing `null` will turn
3391
3125
  * current window into a top-level window.
3392
3126
  */
3393
- setParentWindow(parent: (BrowserWindow) | (null)): void;
3127
+ setParentWindow(parent: (BaseWindow) | (null)): void;
3394
3128
  /**
3395
3129
  * Moves window to `x` and `y`.
3396
3130
  */
@@ -3521,16 +3255,12 @@ declare namespace Electron {
3521
3255
  * On a Window with Window Controls Overlay already enabled, this method updates
3522
3256
  * the style of the title bar overlay.
3523
3257
  *
3524
- * @platform win32
3525
- */
3526
- setTitleBarOverlay(options: TitleBarOverlay): void;
3527
- /**
3528
- * Raises `browserView` above other `BrowserView`s attached to `win`. Throws an
3529
- * error if `browserView` is not attached to `win`.
3258
+ * On Linux, the `symbolColor` is automatically calculated to have minimum
3259
+ * accessible contrast to the `color` if not explicitly set.
3530
3260
  *
3531
- * @experimental
3261
+ * @platform win32,linux
3532
3262
  */
3533
- setTopBrowserView(browserView: BrowserView): void;
3263
+ setTitleBarOverlay(options: TitleBarOverlayOptions): void;
3534
3264
  /**
3535
3265
  * Sets the touchBar layout for the current window. Specifying `null` or
3536
3266
  * `undefined` clears the touch bar. This method only has an effect if the machine
@@ -3543,8 +3273,8 @@ declare namespace Electron {
3543
3273
  */
3544
3274
  setTouchBar(touchBar: (TouchBar) | (null)): void;
3545
3275
  /**
3546
- * Adds a vibrancy effect to the browser window. Passing `null` or an empty string
3547
- * will remove the vibrancy effect on the window.
3276
+ * Adds a vibrancy effect to the window. Passing `null` or an empty string will
3277
+ * remove the vibrancy effect on the window.
3548
3278
  *
3549
3279
  * @platform darwin
3550
3280
  */
@@ -3580,12 +3310,6 @@ declare namespace Electron {
3580
3310
  * @platform darwin
3581
3311
  */
3582
3312
  showAllTabs(): void;
3583
- /**
3584
- * Same as `webContents.showDefinitionForSelection()`.
3585
- *
3586
- * @platform darwin
3587
- */
3588
- showDefinitionForSelection(): void;
3589
3313
  /**
3590
3314
  * Shows the window but doesn't focus on it.
3591
3315
  */
@@ -3637,6 +3361,10 @@ declare namespace Electron {
3637
3361
  * @platform darwin,win32
3638
3362
  */
3639
3363
  closable: boolean;
3364
+ /**
3365
+ * A `View` property for the content view of the window.
3366
+ */
3367
+ contentView: View;
3640
3368
  /**
3641
3369
  * A `boolean` property that specifies whether the window’s document has been
3642
3370
  * edited.
@@ -3670,7 +3398,7 @@ declare namespace Electron {
3670
3398
  fullScreenable: boolean;
3671
3399
  /**
3672
3400
  * A `Integer` property representing the unique ID of the window. Each ID is unique
3673
- * among all `BrowserWindow` instances of the entire Electron application.
3401
+ * among all `BaseWindow` instances of the entire Electron application.
3674
3402
  *
3675
3403
  */
3676
3404
  readonly id: number;
@@ -3757,19 +3485,11 @@ declare namespace Electron {
3757
3485
  * @platform darwin,linux
3758
3486
  */
3759
3487
  visibleOnAllWorkspaces: boolean;
3760
- /**
3761
- * A `WebContents` object this window owns. All web page related events and
3762
- * operations will be done via it.
3763
- *
3764
- * See the `webContents` documentation for its methods and events.
3765
- *
3766
- */
3767
- readonly webContents: WebContents;
3768
3488
  }
3769
3489
 
3770
- interface BrowserWindowConstructorOptions {
3490
+ interface BaseWindowConstructorOptions {
3771
3491
 
3772
- // Docs: https://electronjs.org/docs/api/structures/browser-window-options
3492
+ // Docs: https://electronjs.org/docs/api/structures/base-window-options
3773
3493
 
3774
3494
  /**
3775
3495
  * Whether clicking an inactive window will also click through to the web contents.
@@ -3910,157 +3630,2512 @@ declare namespace Electron {
3910
3630
  */
3911
3631
  modal?: boolean;
3912
3632
  /**
3913
- * Whether window is movable. This is not implemented on Linux. Default is `true`.
3633
+ * Whether window is movable. This is not implemented on Linux. Default is `true`.
3634
+ *
3635
+ * @platform darwin,win32
3636
+ */
3637
+ movable?: boolean;
3638
+ /**
3639
+ * Set the initial opacity of the window, between 0.0 (fully transparent) and 1.0
3640
+ * (fully opaque). This is only implemented on Windows and macOS.
3641
+ *
3642
+ * @platform darwin,win32
3643
+ */
3644
+ opacity?: number;
3645
+ /**
3646
+ * Specify parent window. Default is `null`.
3647
+ */
3648
+ parent?: BaseWindow;
3649
+ /**
3650
+ * Whether window is resizable. Default is `true`.
3651
+ */
3652
+ resizable?: boolean;
3653
+ /**
3654
+ * Whether frameless window should have rounded corners on macOS. Default is
3655
+ * `true`. Setting this property to `false` will prevent the window from being
3656
+ * fullscreenable.
3657
+ *
3658
+ * @platform darwin
3659
+ */
3660
+ roundedCorners?: boolean;
3661
+ /**
3662
+ * Whether window should be shown when created. Default is `true`.
3663
+ */
3664
+ show?: boolean;
3665
+ /**
3666
+ * Use pre-Lion fullscreen on macOS. Default is `false`.
3667
+ *
3668
+ * @platform darwin
3669
+ */
3670
+ simpleFullscreen?: boolean;
3671
+ /**
3672
+ * Whether to show the window in taskbar. Default is `false`.
3673
+ *
3674
+ * @platform darwin,win32
3675
+ */
3676
+ skipTaskbar?: boolean;
3677
+ /**
3678
+ * Tab group name, allows opening the window as a native tab. Windows with the same
3679
+ * tabbing identifier will be grouped together. This also adds a native new tab
3680
+ * button to your window's tab bar and allows your `app` and window to receive the
3681
+ * `new-window-for-tab` event.
3682
+ *
3683
+ * @platform darwin
3684
+ */
3685
+ tabbingIdentifier?: string;
3686
+ /**
3687
+ * Use `WS_THICKFRAME` style for frameless windows on Windows, which adds standard
3688
+ * window frame. Setting it to `false` will remove window shadow and window
3689
+ * animations. Default is `true`.
3690
+ */
3691
+ thickFrame?: boolean;
3692
+ /**
3693
+ * Default window title. Default is `"Electron"`. If the HTML tag `<title>` is
3694
+ * defined in the HTML file loaded by `loadURL()`, this property will be ignored.
3695
+ */
3696
+ title?: string;
3697
+ /**
3698
+ * The style of window title bar. Default is `default`. Possible values are:
3699
+ */
3700
+ titleBarStyle?: ('default' | 'hidden' | 'hiddenInset' | 'customButtonsOnHover');
3701
+ /**
3702
+ * Set a custom position for the traffic light buttons in frameless windows.
3703
+ *
3704
+ * @platform darwin
3705
+ */
3706
+ trafficLightPosition?: Point;
3707
+ /**
3708
+ * Makes the window transparent. Default is `false`. On Windows, does not work
3709
+ * unless the window is frameless.
3710
+ */
3711
+ transparent?: boolean;
3712
+ /**
3713
+ * The type of window, default is normal window. See more about this below.
3714
+ */
3715
+ type?: string;
3716
+ /**
3717
+ * The `width` and `height` would be used as web page's size, which means the
3718
+ * actual window's size will include window frame's size and be slightly larger.
3719
+ * Default is `false`.
3720
+ */
3721
+ useContentSize?: boolean;
3722
+ /**
3723
+ * Add a type of vibrancy effect to the window, only on macOS. Can be
3724
+ * `appearance-based`, `titlebar`, `selection`, `menu`, `popover`, `sidebar`,
3725
+ * `header`, `sheet`, `window`, `hud`, `fullscreen-ui`, `tooltip`, `content`,
3726
+ * `under-window`, or `under-page`.
3727
+ *
3728
+ * @platform darwin
3729
+ */
3730
+ vibrancy?: ('appearance-based' | 'titlebar' | 'selection' | 'menu' | 'popover' | 'sidebar' | 'header' | 'sheet' | 'window' | 'hud' | 'fullscreen-ui' | 'tooltip' | 'content' | 'under-window' | 'under-page');
3731
+ /**
3732
+ * Specify how the material appearance should reflect window activity state on
3733
+ * macOS. Must be used with the `vibrancy` property. Possible values are:
3734
+ *
3735
+ * @platform darwin
3736
+ */
3737
+ visualEffectState?: ('followWindow' | 'active' | 'inactive');
3738
+ /**
3739
+ * Window's width in pixels. Default is `800`.
3740
+ */
3741
+ width?: number;
3742
+ /**
3743
+ * (**required** if y is used) Window's left offset from screen. Default is to
3744
+ * center the window.
3745
+ */
3746
+ x?: number;
3747
+ /**
3748
+ * (**required** if x is used) Window's top offset from screen. Default is to
3749
+ * center the window.
3750
+ */
3751
+ y?: number;
3752
+ /**
3753
+ * Controls the behavior on macOS when option-clicking the green stoplight button
3754
+ * on the toolbar or by clicking the Window > Zoom menu item. If `true`, the window
3755
+ * will grow to the preferred width of the web page when zoomed, `false` will cause
3756
+ * it to zoom to the width of the screen. This will also affect the behavior when
3757
+ * calling `maximize()` directly. Default is `false`.
3758
+ *
3759
+ * @platform darwin
3760
+ */
3761
+ zoomToPageWidth?: boolean;
3762
+ }
3763
+
3764
+ interface BluetoothDevice {
3765
+
3766
+ // Docs: https://electronjs.org/docs/api/structures/bluetooth-device
3767
+
3768
+ deviceId: string;
3769
+ deviceName: string;
3770
+ }
3771
+
3772
+ class BrowserView {
3773
+
3774
+ // Docs: https://electronjs.org/docs/api/browser-view
3775
+
3776
+ /**
3777
+ * BrowserView
3778
+ */
3779
+ constructor(options?: BrowserViewConstructorOptions);
3780
+ /**
3781
+ * The `bounds` of this BrowserView instance as `Object`.
3782
+ *
3783
+ * @experimental
3784
+ * @deprecated
3785
+ */
3786
+ getBounds(): Rectangle;
3787
+ /**
3788
+ * @experimental
3789
+ * @deprecated
3790
+ */
3791
+ setAutoResize(options: AutoResizeOptions): void;
3792
+ /**
3793
+ * Examples of valid `color` values:
3794
+ *
3795
+ * * Hex
3796
+ * * `#fff` (RGB)
3797
+ * * `#ffff` (ARGB)
3798
+ * * `#ffffff` (RRGGBB)
3799
+ * * `#ffffffff` (AARRGGBB)
3800
+ * * RGB
3801
+ * * `rgb\(([\d]+),\s*([\d]+),\s*([\d]+)\)`
3802
+ * * e.g. `rgb(255, 255, 255)`
3803
+ * * RGBA
3804
+ * * `rgba\(([\d]+),\s*([\d]+),\s*([\d]+),\s*([\d.]+)\)`
3805
+ * * e.g. `rgba(255, 255, 255, 1.0)`
3806
+ * * HSL
3807
+ * * `hsl\((-?[\d.]+),\s*([\d.]+)%,\s*([\d.]+)%\)`
3808
+ * * e.g. `hsl(200, 20%, 50%)`
3809
+ * * HSLA
3810
+ * * `hsla\((-?[\d.]+),\s*([\d.]+)%,\s*([\d.]+)%,\s*([\d.]+)\)`
3811
+ * * e.g. `hsla(200, 20%, 50%, 0.5)`
3812
+ * * Color name
3813
+ * * Options are listed in SkParseColor.cpp
3814
+ * * Similar to CSS Color Module Level 3 keywords, but case-sensitive.
3815
+ * * e.g. `blueviolet` or `red`
3816
+ *
3817
+ * **Note:** Hex format with alpha takes `AARRGGBB` or `ARGB`, _not_ `RRGGBBAA` or
3818
+ * `RGB`.
3819
+ *
3820
+ * @experimental
3821
+ * @deprecated
3822
+ */
3823
+ setBackgroundColor(color: string): void;
3824
+ /**
3825
+ * Resizes and moves the view to the supplied bounds relative to the window.
3826
+ *
3827
+ * @experimental
3828
+ * @deprecated
3829
+ */
3830
+ setBounds(bounds: Rectangle): void;
3831
+ /**
3832
+ * A `WebContents` object owned by this view.
3833
+ *
3834
+ * @experimental
3835
+ * @deprecated
3836
+ */
3837
+ webContents: WebContents;
3838
+ }
3839
+
3840
+ class BrowserWindow extends BaseWindow {
3841
+
3842
+ // Docs: https://electronjs.org/docs/api/browser-window
3843
+
3844
+ /**
3845
+ * Emitted when the window is set or unset to show always on top of other windows.
3846
+ */
3847
+ on(event: 'always-on-top-changed', listener: (event: Event,
3848
+ isAlwaysOnTop: boolean) => void): this;
3849
+ off(event: 'always-on-top-changed', listener: (event: Event,
3850
+ isAlwaysOnTop: boolean) => void): this;
3851
+ once(event: 'always-on-top-changed', listener: (event: Event,
3852
+ isAlwaysOnTop: boolean) => void): this;
3853
+ addListener(event: 'always-on-top-changed', listener: (event: Event,
3854
+ isAlwaysOnTop: boolean) => void): this;
3855
+ removeListener(event: 'always-on-top-changed', listener: (event: Event,
3856
+ isAlwaysOnTop: boolean) => void): this;
3857
+ /**
3858
+ * Emitted when the window is set or unset to show always on top of other windows.
3859
+ */
3860
+ on(event: 'always-on-top-changed', listener: (event: Event,
3861
+ isAlwaysOnTop: boolean) => void): this;
3862
+ off(event: 'always-on-top-changed', listener: (event: Event,
3863
+ isAlwaysOnTop: boolean) => void): this;
3864
+ once(event: 'always-on-top-changed', listener: (event: Event,
3865
+ isAlwaysOnTop: boolean) => void): this;
3866
+ addListener(event: 'always-on-top-changed', listener: (event: Event,
3867
+ isAlwaysOnTop: boolean) => void): this;
3868
+ removeListener(event: 'always-on-top-changed', listener: (event: Event,
3869
+ isAlwaysOnTop: boolean) => void): this;
3870
+ /**
3871
+ * Emitted when an App Command is invoked. These are typically related to keyboard
3872
+ * media keys or browser commands, as well as the "Back" button built into some
3873
+ * mice on Windows.
3874
+ *
3875
+ * Commands are lowercased, underscores are replaced with hyphens, and the
3876
+ * `APPCOMMAND_` prefix is stripped off. e.g. `APPCOMMAND_BROWSER_BACKWARD` is
3877
+ * emitted as `browser-backward`.
3878
+ *
3879
+ * The following app commands are explicitly supported on Linux:
3880
+ *
3881
+ * * `browser-backward`
3882
+ * * `browser-forward`
3883
+ *
3884
+ * @platform win32,linux
3885
+ */
3886
+ on(event: 'app-command', listener: (event: Event,
3887
+ command: string) => void): this;
3888
+ /**
3889
+ * @platform win32,linux
3890
+ */
3891
+ off(event: 'app-command', listener: (event: Event,
3892
+ command: string) => void): this;
3893
+ /**
3894
+ * @platform win32,linux
3895
+ */
3896
+ once(event: 'app-command', listener: (event: Event,
3897
+ command: string) => void): this;
3898
+ /**
3899
+ * @platform win32,linux
3900
+ */
3901
+ addListener(event: 'app-command', listener: (event: Event,
3902
+ command: string) => void): this;
3903
+ /**
3904
+ * @platform win32,linux
3905
+ */
3906
+ removeListener(event: 'app-command', listener: (event: Event,
3907
+ command: string) => void): this;
3908
+ /**
3909
+ * Emitted when an App Command is invoked. These are typically related to keyboard
3910
+ * media keys or browser commands, as well as the "Back" button built into some
3911
+ * mice on Windows.
3912
+ *
3913
+ * Commands are lowercased, underscores are replaced with hyphens, and the
3914
+ * `APPCOMMAND_` prefix is stripped off. e.g. `APPCOMMAND_BROWSER_BACKWARD` is
3915
+ * emitted as `browser-backward`.
3916
+ *
3917
+ * The following app commands are explicitly supported on Linux:
3918
+ *
3919
+ * * `browser-backward`
3920
+ * * `browser-forward`
3921
+ *
3922
+ * @platform win32,linux
3923
+ */
3924
+ on(event: 'app-command', listener: (event: Event,
3925
+ command: string) => void): this;
3926
+ /**
3927
+ * @platform win32,linux
3928
+ */
3929
+ off(event: 'app-command', listener: (event: Event,
3930
+ command: string) => void): this;
3931
+ /**
3932
+ * @platform win32,linux
3933
+ */
3934
+ once(event: 'app-command', listener: (event: Event,
3935
+ command: string) => void): this;
3936
+ /**
3937
+ * @platform win32,linux
3938
+ */
3939
+ addListener(event: 'app-command', listener: (event: Event,
3940
+ command: string) => void): this;
3941
+ /**
3942
+ * @platform win32,linux
3943
+ */
3944
+ removeListener(event: 'app-command', listener: (event: Event,
3945
+ command: string) => void): this;
3946
+ /**
3947
+ * Emitted when the window loses focus.
3948
+ */
3949
+ on(event: 'blur', listener: Function): this;
3950
+ off(event: 'blur', listener: Function): this;
3951
+ once(event: 'blur', listener: Function): this;
3952
+ addListener(event: 'blur', listener: Function): this;
3953
+ removeListener(event: 'blur', listener: Function): this;
3954
+ /**
3955
+ * Emitted when the window loses focus.
3956
+ */
3957
+ on(event: 'blur', listener: Function): this;
3958
+ off(event: 'blur', listener: Function): this;
3959
+ once(event: 'blur', listener: Function): this;
3960
+ addListener(event: 'blur', listener: Function): this;
3961
+ removeListener(event: 'blur', listener: Function): this;
3962
+ /**
3963
+ * Emitted when the window is going to be closed. It's emitted before the
3964
+ * `beforeunload` and `unload` event of the DOM. Calling `event.preventDefault()`
3965
+ * will cancel the close.
3966
+ *
3967
+ * Usually you would want to use the `beforeunload` handler to decide whether the
3968
+ * window should be closed, which will also be called when the window is reloaded.
3969
+ * In Electron, returning any value other than `undefined` would cancel the close.
3970
+ * For example:
3971
+ *
3972
+ * _**Note**: There is a subtle difference between the behaviors of
3973
+ * `window.onbeforeunload = handler` and `window.addEventListener('beforeunload',
3974
+ * handler)`. It is recommended to always set the `event.returnValue` explicitly,
3975
+ * instead of only returning a value, as the former works more consistently within
3976
+ * Electron._
3977
+ */
3978
+ on(event: 'close', listener: (event: Event) => void): this;
3979
+ off(event: 'close', listener: (event: Event) => void): this;
3980
+ once(event: 'close', listener: (event: Event) => void): this;
3981
+ addListener(event: 'close', listener: (event: Event) => void): this;
3982
+ removeListener(event: 'close', listener: (event: Event) => void): this;
3983
+ /**
3984
+ * Emitted when the window is going to be closed. It's emitted before the
3985
+ * `beforeunload` and `unload` event of the DOM. Calling `event.preventDefault()`
3986
+ * will cancel the close.
3987
+ *
3988
+ * Usually you would want to use the `beforeunload` handler to decide whether the
3989
+ * window should be closed, which will also be called when the window is reloaded.
3990
+ * In Electron, returning any value other than `undefined` would cancel the close.
3991
+ * For example:
3992
+ *
3993
+ * _**Note**: There is a subtle difference between the behaviors of
3994
+ * `window.onbeforeunload = handler` and `window.addEventListener('beforeunload',
3995
+ * handler)`. It is recommended to always set the `event.returnValue` explicitly,
3996
+ * instead of only returning a value, as the former works more consistently within
3997
+ * Electron._
3998
+ */
3999
+ on(event: 'close', listener: (event: Event) => void): this;
4000
+ off(event: 'close', listener: (event: Event) => void): this;
4001
+ once(event: 'close', listener: (event: Event) => void): this;
4002
+ addListener(event: 'close', listener: (event: Event) => void): this;
4003
+ removeListener(event: 'close', listener: (event: Event) => void): this;
4004
+ /**
4005
+ * Emitted when the window is closed. After you have received this event you should
4006
+ * remove the reference to the window and avoid using it any more.
4007
+ */
4008
+ on(event: 'closed', listener: Function): this;
4009
+ off(event: 'closed', listener: Function): this;
4010
+ once(event: 'closed', listener: Function): this;
4011
+ addListener(event: 'closed', listener: Function): this;
4012
+ removeListener(event: 'closed', listener: Function): this;
4013
+ /**
4014
+ * Emitted when the window is closed. After you have received this event you should
4015
+ * remove the reference to the window and avoid using it any more.
4016
+ */
4017
+ on(event: 'closed', listener: Function): this;
4018
+ off(event: 'closed', listener: Function): this;
4019
+ once(event: 'closed', listener: Function): this;
4020
+ addListener(event: 'closed', listener: Function): this;
4021
+ removeListener(event: 'closed', listener: Function): this;
4022
+ /**
4023
+ * Emitted when the window enters a full-screen state.
4024
+ */
4025
+ on(event: 'enter-full-screen', listener: Function): this;
4026
+ off(event: 'enter-full-screen', listener: Function): this;
4027
+ once(event: 'enter-full-screen', listener: Function): this;
4028
+ addListener(event: 'enter-full-screen', listener: Function): this;
4029
+ removeListener(event: 'enter-full-screen', listener: Function): this;
4030
+ /**
4031
+ * Emitted when the window enters a full-screen state.
4032
+ */
4033
+ on(event: 'enter-full-screen', listener: Function): this;
4034
+ off(event: 'enter-full-screen', listener: Function): this;
4035
+ once(event: 'enter-full-screen', listener: Function): this;
4036
+ addListener(event: 'enter-full-screen', listener: Function): this;
4037
+ removeListener(event: 'enter-full-screen', listener: Function): this;
4038
+ /**
4039
+ * Emitted when the window enters a full-screen state triggered by HTML API.
4040
+ */
4041
+ on(event: 'enter-html-full-screen', listener: Function): this;
4042
+ off(event: 'enter-html-full-screen', listener: Function): this;
4043
+ once(event: 'enter-html-full-screen', listener: Function): this;
4044
+ addListener(event: 'enter-html-full-screen', listener: Function): this;
4045
+ removeListener(event: 'enter-html-full-screen', listener: Function): this;
4046
+ /**
4047
+ * Emitted when the window gains focus.
4048
+ */
4049
+ on(event: 'focus', listener: Function): this;
4050
+ off(event: 'focus', listener: Function): this;
4051
+ once(event: 'focus', listener: Function): this;
4052
+ addListener(event: 'focus', listener: Function): this;
4053
+ removeListener(event: 'focus', listener: Function): this;
4054
+ /**
4055
+ * Emitted when the window gains focus.
4056
+ */
4057
+ on(event: 'focus', listener: Function): this;
4058
+ off(event: 'focus', listener: Function): this;
4059
+ once(event: 'focus', listener: Function): this;
4060
+ addListener(event: 'focus', listener: Function): this;
4061
+ removeListener(event: 'focus', listener: Function): this;
4062
+ /**
4063
+ * Emitted when the window is hidden.
4064
+ */
4065
+ on(event: 'hide', listener: Function): this;
4066
+ off(event: 'hide', listener: Function): this;
4067
+ once(event: 'hide', listener: Function): this;
4068
+ addListener(event: 'hide', listener: Function): this;
4069
+ removeListener(event: 'hide', listener: Function): this;
4070
+ /**
4071
+ * Emitted when the window is hidden.
4072
+ */
4073
+ on(event: 'hide', listener: Function): this;
4074
+ off(event: 'hide', listener: Function): this;
4075
+ once(event: 'hide', listener: Function): this;
4076
+ addListener(event: 'hide', listener: Function): this;
4077
+ removeListener(event: 'hide', listener: Function): this;
4078
+ /**
4079
+ * Emitted when the window leaves a full-screen state.
4080
+ */
4081
+ on(event: 'leave-full-screen', listener: Function): this;
4082
+ off(event: 'leave-full-screen', listener: Function): this;
4083
+ once(event: 'leave-full-screen', listener: Function): this;
4084
+ addListener(event: 'leave-full-screen', listener: Function): this;
4085
+ removeListener(event: 'leave-full-screen', listener: Function): this;
4086
+ /**
4087
+ * Emitted when the window leaves a full-screen state.
4088
+ */
4089
+ on(event: 'leave-full-screen', listener: Function): this;
4090
+ off(event: 'leave-full-screen', listener: Function): this;
4091
+ once(event: 'leave-full-screen', listener: Function): this;
4092
+ addListener(event: 'leave-full-screen', listener: Function): this;
4093
+ removeListener(event: 'leave-full-screen', listener: Function): this;
4094
+ /**
4095
+ * Emitted when the window leaves a full-screen state triggered by HTML API.
4096
+ */
4097
+ on(event: 'leave-html-full-screen', listener: Function): this;
4098
+ off(event: 'leave-html-full-screen', listener: Function): this;
4099
+ once(event: 'leave-html-full-screen', listener: Function): this;
4100
+ addListener(event: 'leave-html-full-screen', listener: Function): this;
4101
+ removeListener(event: 'leave-html-full-screen', listener: Function): this;
4102
+ /**
4103
+ * Emitted when window is maximized.
4104
+ */
4105
+ on(event: 'maximize', listener: Function): this;
4106
+ off(event: 'maximize', listener: Function): this;
4107
+ once(event: 'maximize', listener: Function): this;
4108
+ addListener(event: 'maximize', listener: Function): this;
4109
+ removeListener(event: 'maximize', listener: Function): this;
4110
+ /**
4111
+ * Emitted when window is maximized.
4112
+ */
4113
+ on(event: 'maximize', listener: Function): this;
4114
+ off(event: 'maximize', listener: Function): this;
4115
+ once(event: 'maximize', listener: Function): this;
4116
+ addListener(event: 'maximize', listener: Function): this;
4117
+ removeListener(event: 'maximize', listener: Function): this;
4118
+ /**
4119
+ * Emitted when the window is minimized.
4120
+ */
4121
+ on(event: 'minimize', listener: Function): this;
4122
+ off(event: 'minimize', listener: Function): this;
4123
+ once(event: 'minimize', listener: Function): this;
4124
+ addListener(event: 'minimize', listener: Function): this;
4125
+ removeListener(event: 'minimize', listener: Function): this;
4126
+ /**
4127
+ * Emitted when the window is minimized.
4128
+ */
4129
+ on(event: 'minimize', listener: Function): this;
4130
+ off(event: 'minimize', listener: Function): this;
4131
+ once(event: 'minimize', listener: Function): this;
4132
+ addListener(event: 'minimize', listener: Function): this;
4133
+ removeListener(event: 'minimize', listener: Function): this;
4134
+ /**
4135
+ * Emitted when the window is being moved to a new position.
4136
+ */
4137
+ on(event: 'move', listener: Function): this;
4138
+ off(event: 'move', listener: Function): this;
4139
+ once(event: 'move', listener: Function): this;
4140
+ addListener(event: 'move', listener: Function): this;
4141
+ removeListener(event: 'move', listener: Function): this;
4142
+ /**
4143
+ * Emitted when the window is being moved to a new position.
4144
+ */
4145
+ on(event: 'move', listener: Function): this;
4146
+ off(event: 'move', listener: Function): this;
4147
+ once(event: 'move', listener: Function): this;
4148
+ addListener(event: 'move', listener: Function): this;
4149
+ removeListener(event: 'move', listener: Function): this;
4150
+ /**
4151
+ * Emitted once when the window is moved to a new position.
4152
+ *
4153
+ * **Note**: On macOS this event is an alias of `move`.
4154
+ *
4155
+ * @platform darwin,win32
4156
+ */
4157
+ on(event: 'moved', listener: Function): this;
4158
+ /**
4159
+ * @platform darwin,win32
4160
+ */
4161
+ off(event: 'moved', listener: Function): this;
4162
+ /**
4163
+ * @platform darwin,win32
4164
+ */
4165
+ once(event: 'moved', listener: Function): this;
4166
+ /**
4167
+ * @platform darwin,win32
4168
+ */
4169
+ addListener(event: 'moved', listener: Function): this;
4170
+ /**
4171
+ * @platform darwin,win32
4172
+ */
4173
+ removeListener(event: 'moved', listener: Function): this;
4174
+ /**
4175
+ * Emitted once when the window is moved to a new position.
4176
+ *
4177
+ * **Note**: On macOS this event is an alias of `move`.
4178
+ *
4179
+ * @platform darwin,win32
4180
+ */
4181
+ on(event: 'moved', listener: Function): this;
4182
+ /**
4183
+ * @platform darwin,win32
4184
+ */
4185
+ off(event: 'moved', listener: Function): this;
4186
+ /**
4187
+ * @platform darwin,win32
4188
+ */
4189
+ once(event: 'moved', listener: Function): this;
4190
+ /**
4191
+ * @platform darwin,win32
4192
+ */
4193
+ addListener(event: 'moved', listener: Function): this;
4194
+ /**
4195
+ * @platform darwin,win32
4196
+ */
4197
+ removeListener(event: 'moved', listener: Function): this;
4198
+ /**
4199
+ * Emitted when the native new tab button is clicked.
4200
+ *
4201
+ * @platform darwin
4202
+ */
4203
+ on(event: 'new-window-for-tab', listener: Function): this;
4204
+ /**
4205
+ * @platform darwin
4206
+ */
4207
+ off(event: 'new-window-for-tab', listener: Function): this;
4208
+ /**
4209
+ * @platform darwin
4210
+ */
4211
+ once(event: 'new-window-for-tab', listener: Function): this;
4212
+ /**
4213
+ * @platform darwin
4214
+ */
4215
+ addListener(event: 'new-window-for-tab', listener: Function): this;
4216
+ /**
4217
+ * @platform darwin
4218
+ */
4219
+ removeListener(event: 'new-window-for-tab', listener: Function): this;
4220
+ /**
4221
+ * Emitted when the native new tab button is clicked.
4222
+ *
4223
+ * @platform darwin
4224
+ */
4225
+ on(event: 'new-window-for-tab', listener: Function): this;
4226
+ /**
4227
+ * @platform darwin
4228
+ */
4229
+ off(event: 'new-window-for-tab', listener: Function): this;
4230
+ /**
4231
+ * @platform darwin
4232
+ */
4233
+ once(event: 'new-window-for-tab', listener: Function): this;
4234
+ /**
4235
+ * @platform darwin
4236
+ */
4237
+ addListener(event: 'new-window-for-tab', listener: Function): this;
4238
+ /**
4239
+ * @platform darwin
4240
+ */
4241
+ removeListener(event: 'new-window-for-tab', listener: Function): this;
4242
+ /**
4243
+ * Emitted when the document changed its title, calling `event.preventDefault()`
4244
+ * will prevent the native window's title from changing. `explicitSet` is false
4245
+ * when title is synthesized from file URL.
4246
+ */
4247
+ on(event: 'page-title-updated', listener: (event: Event,
4248
+ title: string,
4249
+ explicitSet: boolean) => void): this;
4250
+ off(event: 'page-title-updated', listener: (event: Event,
4251
+ title: string,
4252
+ explicitSet: boolean) => void): this;
4253
+ once(event: 'page-title-updated', listener: (event: Event,
4254
+ title: string,
4255
+ explicitSet: boolean) => void): this;
4256
+ addListener(event: 'page-title-updated', listener: (event: Event,
4257
+ title: string,
4258
+ explicitSet: boolean) => void): this;
4259
+ removeListener(event: 'page-title-updated', listener: (event: Event,
4260
+ title: string,
4261
+ explicitSet: boolean) => void): this;
4262
+ /**
4263
+ * Emitted when the web page has been rendered (while not being shown) and window
4264
+ * can be displayed without a visual flash.
4265
+ *
4266
+ * Please note that using this event implies that the renderer will be considered
4267
+ * "visible" and paint even though `show` is false. This event will never fire if
4268
+ * you use `paintWhenInitiallyHidden: false`
4269
+ */
4270
+ on(event: 'ready-to-show', listener: Function): this;
4271
+ off(event: 'ready-to-show', listener: Function): this;
4272
+ once(event: 'ready-to-show', listener: Function): this;
4273
+ addListener(event: 'ready-to-show', listener: Function): this;
4274
+ removeListener(event: 'ready-to-show', listener: Function): this;
4275
+ /**
4276
+ * Emitted after the window has been resized.
4277
+ */
4278
+ on(event: 'resize', listener: Function): this;
4279
+ off(event: 'resize', listener: Function): this;
4280
+ once(event: 'resize', listener: Function): this;
4281
+ addListener(event: 'resize', listener: Function): this;
4282
+ removeListener(event: 'resize', listener: Function): this;
4283
+ /**
4284
+ * Emitted after the window has been resized.
4285
+ */
4286
+ on(event: 'resize', listener: Function): this;
4287
+ off(event: 'resize', listener: Function): this;
4288
+ once(event: 'resize', listener: Function): this;
4289
+ addListener(event: 'resize', listener: Function): this;
4290
+ removeListener(event: 'resize', listener: Function): this;
4291
+ /**
4292
+ * Emitted once when the window has finished being resized.
4293
+ *
4294
+ * This is usually emitted when the window has been resized manually. On macOS,
4295
+ * resizing the window with `setBounds`/`setSize` and setting the `animate`
4296
+ * parameter to `true` will also emit this event once resizing has finished.
4297
+ *
4298
+ * @platform darwin,win32
4299
+ */
4300
+ on(event: 'resized', listener: Function): this;
4301
+ /**
4302
+ * @platform darwin,win32
4303
+ */
4304
+ off(event: 'resized', listener: Function): this;
4305
+ /**
4306
+ * @platform darwin,win32
4307
+ */
4308
+ once(event: 'resized', listener: Function): this;
4309
+ /**
4310
+ * @platform darwin,win32
4311
+ */
4312
+ addListener(event: 'resized', listener: Function): this;
4313
+ /**
4314
+ * @platform darwin,win32
4315
+ */
4316
+ removeListener(event: 'resized', listener: Function): this;
4317
+ /**
4318
+ * Emitted once when the window has finished being resized.
4319
+ *
4320
+ * This is usually emitted when the window has been resized manually. On macOS,
4321
+ * resizing the window with `setBounds`/`setSize` and setting the `animate`
4322
+ * parameter to `true` will also emit this event once resizing has finished.
4323
+ *
4324
+ * @platform darwin,win32
4325
+ */
4326
+ on(event: 'resized', listener: Function): this;
4327
+ /**
4328
+ * @platform darwin,win32
4329
+ */
4330
+ off(event: 'resized', listener: Function): this;
4331
+ /**
4332
+ * @platform darwin,win32
4333
+ */
4334
+ once(event: 'resized', listener: Function): this;
4335
+ /**
4336
+ * @platform darwin,win32
4337
+ */
4338
+ addListener(event: 'resized', listener: Function): this;
4339
+ /**
4340
+ * @platform darwin,win32
4341
+ */
4342
+ removeListener(event: 'resized', listener: Function): this;
4343
+ /**
4344
+ * Emitted when the unresponsive web page becomes responsive again.
4345
+ */
4346
+ on(event: 'responsive', listener: Function): this;
4347
+ off(event: 'responsive', listener: Function): this;
4348
+ once(event: 'responsive', listener: Function): this;
4349
+ addListener(event: 'responsive', listener: Function): this;
4350
+ removeListener(event: 'responsive', listener: Function): this;
4351
+ /**
4352
+ * Emitted when the window is restored from a minimized state.
4353
+ */
4354
+ on(event: 'restore', listener: Function): this;
4355
+ off(event: 'restore', listener: Function): this;
4356
+ once(event: 'restore', listener: Function): this;
4357
+ addListener(event: 'restore', listener: Function): this;
4358
+ removeListener(event: 'restore', listener: Function): this;
4359
+ /**
4360
+ * Emitted when the window is restored from a minimized state.
4361
+ */
4362
+ on(event: 'restore', listener: Function): this;
4363
+ off(event: 'restore', listener: Function): this;
4364
+ once(event: 'restore', listener: Function): this;
4365
+ addListener(event: 'restore', listener: Function): this;
4366
+ removeListener(event: 'restore', listener: Function): this;
4367
+ /**
4368
+ * Emitted on trackpad rotation gesture. Continually emitted until rotation gesture
4369
+ * is ended. The `rotation` value on each emission is the angle in degrees rotated
4370
+ * since the last emission. The last emitted event upon a rotation gesture will
4371
+ * always be of value `0`. Counter-clockwise rotation values are positive, while
4372
+ * clockwise ones are negative.
4373
+ *
4374
+ * @platform darwin
4375
+ */
4376
+ on(event: 'rotate-gesture', listener: (event: Event,
4377
+ rotation: number) => void): this;
4378
+ /**
4379
+ * @platform darwin
4380
+ */
4381
+ off(event: 'rotate-gesture', listener: (event: Event,
4382
+ rotation: number) => void): this;
4383
+ /**
4384
+ * @platform darwin
4385
+ */
4386
+ once(event: 'rotate-gesture', listener: (event: Event,
4387
+ rotation: number) => void): this;
4388
+ /**
4389
+ * @platform darwin
4390
+ */
4391
+ addListener(event: 'rotate-gesture', listener: (event: Event,
4392
+ rotation: number) => void): this;
4393
+ /**
4394
+ * @platform darwin
4395
+ */
4396
+ removeListener(event: 'rotate-gesture', listener: (event: Event,
4397
+ rotation: number) => void): this;
4398
+ /**
4399
+ * Emitted on trackpad rotation gesture. Continually emitted until rotation gesture
4400
+ * is ended. The `rotation` value on each emission is the angle in degrees rotated
4401
+ * since the last emission. The last emitted event upon a rotation gesture will
4402
+ * always be of value `0`. Counter-clockwise rotation values are positive, while
4403
+ * clockwise ones are negative.
4404
+ *
4405
+ * @platform darwin
4406
+ */
4407
+ on(event: 'rotate-gesture', listener: (event: Event,
4408
+ rotation: number) => void): this;
4409
+ /**
4410
+ * @platform darwin
4411
+ */
4412
+ off(event: 'rotate-gesture', listener: (event: Event,
4413
+ rotation: number) => void): this;
4414
+ /**
4415
+ * @platform darwin
4416
+ */
4417
+ once(event: 'rotate-gesture', listener: (event: Event,
4418
+ rotation: number) => void): this;
4419
+ /**
4420
+ * @platform darwin
4421
+ */
4422
+ addListener(event: 'rotate-gesture', listener: (event: Event,
4423
+ rotation: number) => void): this;
4424
+ /**
4425
+ * @platform darwin
4426
+ */
4427
+ removeListener(event: 'rotate-gesture', listener: (event: Event,
4428
+ rotation: number) => void): this;
4429
+ /**
4430
+ * Emitted when window session is going to end due to force shutdown or machine
4431
+ * restart or session log off.
4432
+ *
4433
+ * @platform win32
4434
+ */
4435
+ on(event: 'session-end', listener: Function): this;
4436
+ /**
4437
+ * @platform win32
4438
+ */
4439
+ off(event: 'session-end', listener: Function): this;
4440
+ /**
4441
+ * @platform win32
4442
+ */
4443
+ once(event: 'session-end', listener: Function): this;
4444
+ /**
4445
+ * @platform win32
4446
+ */
4447
+ addListener(event: 'session-end', listener: Function): this;
4448
+ /**
4449
+ * @platform win32
4450
+ */
4451
+ removeListener(event: 'session-end', listener: Function): this;
4452
+ /**
4453
+ * Emitted when window session is going to end due to force shutdown or machine
4454
+ * restart or session log off.
4455
+ *
4456
+ * @platform win32
4457
+ */
4458
+ on(event: 'session-end', listener: Function): this;
4459
+ /**
4460
+ * @platform win32
4461
+ */
4462
+ off(event: 'session-end', listener: Function): this;
4463
+ /**
4464
+ * @platform win32
4465
+ */
4466
+ once(event: 'session-end', listener: Function): this;
4467
+ /**
4468
+ * @platform win32
4469
+ */
4470
+ addListener(event: 'session-end', listener: Function): this;
4471
+ /**
4472
+ * @platform win32
4473
+ */
4474
+ removeListener(event: 'session-end', listener: Function): this;
4475
+ /**
4476
+ * Emitted when the window opens a sheet.
4477
+ *
4478
+ * @platform darwin
4479
+ */
4480
+ on(event: 'sheet-begin', listener: Function): this;
4481
+ /**
4482
+ * @platform darwin
4483
+ */
4484
+ off(event: 'sheet-begin', listener: Function): this;
4485
+ /**
4486
+ * @platform darwin
4487
+ */
4488
+ once(event: 'sheet-begin', listener: Function): this;
4489
+ /**
4490
+ * @platform darwin
4491
+ */
4492
+ addListener(event: 'sheet-begin', listener: Function): this;
4493
+ /**
4494
+ * @platform darwin
4495
+ */
4496
+ removeListener(event: 'sheet-begin', listener: Function): this;
4497
+ /**
4498
+ * Emitted when the window opens a sheet.
4499
+ *
4500
+ * @platform darwin
4501
+ */
4502
+ on(event: 'sheet-begin', listener: Function): this;
4503
+ /**
4504
+ * @platform darwin
4505
+ */
4506
+ off(event: 'sheet-begin', listener: Function): this;
4507
+ /**
4508
+ * @platform darwin
4509
+ */
4510
+ once(event: 'sheet-begin', listener: Function): this;
4511
+ /**
4512
+ * @platform darwin
4513
+ */
4514
+ addListener(event: 'sheet-begin', listener: Function): this;
4515
+ /**
4516
+ * @platform darwin
4517
+ */
4518
+ removeListener(event: 'sheet-begin', listener: Function): this;
4519
+ /**
4520
+ * Emitted when the window has closed a sheet.
4521
+ *
4522
+ * @platform darwin
4523
+ */
4524
+ on(event: 'sheet-end', listener: Function): this;
4525
+ /**
4526
+ * @platform darwin
4527
+ */
4528
+ off(event: 'sheet-end', listener: Function): this;
4529
+ /**
4530
+ * @platform darwin
4531
+ */
4532
+ once(event: 'sheet-end', listener: Function): this;
4533
+ /**
4534
+ * @platform darwin
4535
+ */
4536
+ addListener(event: 'sheet-end', listener: Function): this;
4537
+ /**
4538
+ * @platform darwin
4539
+ */
4540
+ removeListener(event: 'sheet-end', listener: Function): this;
4541
+ /**
4542
+ * Emitted when the window has closed a sheet.
4543
+ *
4544
+ * @platform darwin
4545
+ */
4546
+ on(event: 'sheet-end', listener: Function): this;
4547
+ /**
4548
+ * @platform darwin
4549
+ */
4550
+ off(event: 'sheet-end', listener: Function): this;
4551
+ /**
4552
+ * @platform darwin
4553
+ */
4554
+ once(event: 'sheet-end', listener: Function): this;
4555
+ /**
4556
+ * @platform darwin
4557
+ */
4558
+ addListener(event: 'sheet-end', listener: Function): this;
4559
+ /**
4560
+ * @platform darwin
4561
+ */
4562
+ removeListener(event: 'sheet-end', listener: Function): this;
4563
+ /**
4564
+ * Emitted when the window is shown.
4565
+ */
4566
+ on(event: 'show', listener: Function): this;
4567
+ off(event: 'show', listener: Function): this;
4568
+ once(event: 'show', listener: Function): this;
4569
+ addListener(event: 'show', listener: Function): this;
4570
+ removeListener(event: 'show', listener: Function): this;
4571
+ /**
4572
+ * Emitted when the window is shown.
4573
+ */
4574
+ on(event: 'show', listener: Function): this;
4575
+ off(event: 'show', listener: Function): this;
4576
+ once(event: 'show', listener: Function): this;
4577
+ addListener(event: 'show', listener: Function): this;
4578
+ removeListener(event: 'show', listener: Function): this;
4579
+ /**
4580
+ * Emitted on 3-finger swipe. Possible directions are `up`, `right`, `down`,
4581
+ * `left`.
4582
+ *
4583
+ * The method underlying this event is built to handle older macOS-style trackpad
4584
+ * swiping, where the content on the screen doesn't move with the swipe. Most macOS
4585
+ * trackpads are not configured to allow this kind of swiping anymore, so in order
4586
+ * for it to emit properly the 'Swipe between pages' preference in `System
4587
+ * Preferences > Trackpad > More Gestures` must be set to 'Swipe with two or three
4588
+ * fingers'.
4589
+ *
4590
+ * @platform darwin
4591
+ */
4592
+ on(event: 'swipe', listener: (event: Event,
4593
+ direction: string) => void): this;
4594
+ /**
4595
+ * @platform darwin
4596
+ */
4597
+ off(event: 'swipe', listener: (event: Event,
4598
+ direction: string) => void): this;
4599
+ /**
4600
+ * @platform darwin
4601
+ */
4602
+ once(event: 'swipe', listener: (event: Event,
4603
+ direction: string) => void): this;
4604
+ /**
4605
+ * @platform darwin
4606
+ */
4607
+ addListener(event: 'swipe', listener: (event: Event,
4608
+ direction: string) => void): this;
4609
+ /**
4610
+ * @platform darwin
4611
+ */
4612
+ removeListener(event: 'swipe', listener: (event: Event,
4613
+ direction: string) => void): this;
4614
+ /**
4615
+ * Emitted on 3-finger swipe. Possible directions are `up`, `right`, `down`,
4616
+ * `left`.
4617
+ *
4618
+ * The method underlying this event is built to handle older macOS-style trackpad
4619
+ * swiping, where the content on the screen doesn't move with the swipe. Most macOS
4620
+ * trackpads are not configured to allow this kind of swiping anymore, so in order
4621
+ * for it to emit properly the 'Swipe between pages' preference in `System
4622
+ * Preferences > Trackpad > More Gestures` must be set to 'Swipe with two or three
4623
+ * fingers'.
4624
+ *
4625
+ * @platform darwin
4626
+ */
4627
+ on(event: 'swipe', listener: (event: Event,
4628
+ direction: string) => void): this;
4629
+ /**
4630
+ * @platform darwin
4631
+ */
4632
+ off(event: 'swipe', listener: (event: Event,
4633
+ direction: string) => void): this;
4634
+ /**
4635
+ * @platform darwin
4636
+ */
4637
+ once(event: 'swipe', listener: (event: Event,
4638
+ direction: string) => void): this;
4639
+ /**
4640
+ * @platform darwin
4641
+ */
4642
+ addListener(event: 'swipe', listener: (event: Event,
4643
+ direction: string) => void): this;
4644
+ /**
4645
+ * @platform darwin
4646
+ */
4647
+ removeListener(event: 'swipe', listener: (event: Event,
4648
+ direction: string) => void): this;
4649
+ /**
4650
+ * Emitted when the system context menu is triggered on the window, this is
4651
+ * normally only triggered when the user right clicks on the non-client area of
4652
+ * your window. This is the window titlebar or any area you have declared as
4653
+ * `-webkit-app-region: drag` in a frameless window.
4654
+ *
4655
+ * Calling `event.preventDefault()` will prevent the menu from being displayed.
4656
+ *
4657
+ * @platform win32
4658
+ */
4659
+ on(event: 'system-context-menu', listener: (event: Event,
4660
+ /**
4661
+ * The screen coordinates the context menu was triggered at
4662
+ */
4663
+ point: Point) => void): this;
4664
+ /**
4665
+ * @platform win32
4666
+ */
4667
+ off(event: 'system-context-menu', listener: (event: Event,
4668
+ /**
4669
+ * The screen coordinates the context menu was triggered at
4670
+ */
4671
+ point: Point) => void): this;
4672
+ /**
4673
+ * @platform win32
4674
+ */
4675
+ once(event: 'system-context-menu', listener: (event: Event,
4676
+ /**
4677
+ * The screen coordinates the context menu was triggered at
4678
+ */
4679
+ point: Point) => void): this;
4680
+ /**
4681
+ * @platform win32
4682
+ */
4683
+ addListener(event: 'system-context-menu', listener: (event: Event,
4684
+ /**
4685
+ * The screen coordinates the context menu was triggered at
4686
+ */
4687
+ point: Point) => void): this;
4688
+ /**
4689
+ * @platform win32
4690
+ */
4691
+ removeListener(event: 'system-context-menu', listener: (event: Event,
4692
+ /**
4693
+ * The screen coordinates the context menu was triggered at
4694
+ */
4695
+ point: Point) => void): this;
4696
+ /**
4697
+ * Emitted when the system context menu is triggered on the window, this is
4698
+ * normally only triggered when the user right clicks on the non-client area of
4699
+ * your window. This is the window titlebar or any area you have declared as
4700
+ * `-webkit-app-region: drag` in a frameless window.
4701
+ *
4702
+ * Calling `event.preventDefault()` will prevent the menu from being displayed.
4703
+ *
4704
+ * @platform win32
4705
+ */
4706
+ on(event: 'system-context-menu', listener: (event: Event,
4707
+ /**
4708
+ * The screen coordinates the context menu was triggered at
4709
+ */
4710
+ point: Point) => void): this;
4711
+ /**
4712
+ * @platform win32
4713
+ */
4714
+ off(event: 'system-context-menu', listener: (event: Event,
4715
+ /**
4716
+ * The screen coordinates the context menu was triggered at
4717
+ */
4718
+ point: Point) => void): this;
4719
+ /**
4720
+ * @platform win32
4721
+ */
4722
+ once(event: 'system-context-menu', listener: (event: Event,
4723
+ /**
4724
+ * The screen coordinates the context menu was triggered at
4725
+ */
4726
+ point: Point) => void): this;
4727
+ /**
4728
+ * @platform win32
4729
+ */
4730
+ addListener(event: 'system-context-menu', listener: (event: Event,
4731
+ /**
4732
+ * The screen coordinates the context menu was triggered at
4733
+ */
4734
+ point: Point) => void): this;
4735
+ /**
4736
+ * @platform win32
4737
+ */
4738
+ removeListener(event: 'system-context-menu', listener: (event: Event,
4739
+ /**
4740
+ * The screen coordinates the context menu was triggered at
4741
+ */
4742
+ point: Point) => void): this;
4743
+ /**
4744
+ * Emitted when the window exits from a maximized state.
4745
+ */
4746
+ on(event: 'unmaximize', listener: Function): this;
4747
+ off(event: 'unmaximize', listener: Function): this;
4748
+ once(event: 'unmaximize', listener: Function): this;
4749
+ addListener(event: 'unmaximize', listener: Function): this;
4750
+ removeListener(event: 'unmaximize', listener: Function): this;
4751
+ /**
4752
+ * Emitted when the window exits from a maximized state.
4753
+ */
4754
+ on(event: 'unmaximize', listener: Function): this;
4755
+ off(event: 'unmaximize', listener: Function): this;
4756
+ once(event: 'unmaximize', listener: Function): this;
4757
+ addListener(event: 'unmaximize', listener: Function): this;
4758
+ removeListener(event: 'unmaximize', listener: Function): this;
4759
+ /**
4760
+ * Emitted when the web page becomes unresponsive.
4761
+ */
4762
+ on(event: 'unresponsive', listener: Function): this;
4763
+ off(event: 'unresponsive', listener: Function): this;
4764
+ once(event: 'unresponsive', listener: Function): this;
4765
+ addListener(event: 'unresponsive', listener: Function): this;
4766
+ removeListener(event: 'unresponsive', listener: Function): this;
4767
+ /**
4768
+ * Emitted before the window is moved. On Windows, calling `event.preventDefault()`
4769
+ * will prevent the window from being moved.
4770
+ *
4771
+ * Note that this is only emitted when the window is being moved manually. Moving
4772
+ * the window with `setPosition`/`setBounds`/`center` will not emit this event.
4773
+ *
4774
+ * @platform darwin,win32
4775
+ */
4776
+ on(event: 'will-move', listener: (event: Event,
4777
+ /**
4778
+ * Location the window is being moved to.
4779
+ */
4780
+ newBounds: Rectangle) => void): this;
4781
+ /**
4782
+ * @platform darwin,win32
4783
+ */
4784
+ off(event: 'will-move', listener: (event: Event,
4785
+ /**
4786
+ * Location the window is being moved to.
4787
+ */
4788
+ newBounds: Rectangle) => void): this;
4789
+ /**
4790
+ * @platform darwin,win32
4791
+ */
4792
+ once(event: 'will-move', listener: (event: Event,
4793
+ /**
4794
+ * Location the window is being moved to.
4795
+ */
4796
+ newBounds: Rectangle) => void): this;
4797
+ /**
4798
+ * @platform darwin,win32
4799
+ */
4800
+ addListener(event: 'will-move', listener: (event: Event,
4801
+ /**
4802
+ * Location the window is being moved to.
4803
+ */
4804
+ newBounds: Rectangle) => void): this;
4805
+ /**
4806
+ * @platform darwin,win32
4807
+ */
4808
+ removeListener(event: 'will-move', listener: (event: Event,
4809
+ /**
4810
+ * Location the window is being moved to.
4811
+ */
4812
+ newBounds: Rectangle) => void): this;
4813
+ /**
4814
+ * Emitted before the window is moved. On Windows, calling `event.preventDefault()`
4815
+ * will prevent the window from being moved.
4816
+ *
4817
+ * Note that this is only emitted when the window is being moved manually. Moving
4818
+ * the window with `setPosition`/`setBounds`/`center` will not emit this event.
4819
+ *
4820
+ * @platform darwin,win32
4821
+ */
4822
+ on(event: 'will-move', listener: (event: Event,
4823
+ /**
4824
+ * Location the window is being moved to.
4825
+ */
4826
+ newBounds: Rectangle) => void): this;
4827
+ /**
4828
+ * @platform darwin,win32
4829
+ */
4830
+ off(event: 'will-move', listener: (event: Event,
4831
+ /**
4832
+ * Location the window is being moved to.
4833
+ */
4834
+ newBounds: Rectangle) => void): this;
4835
+ /**
4836
+ * @platform darwin,win32
4837
+ */
4838
+ once(event: 'will-move', listener: (event: Event,
4839
+ /**
4840
+ * Location the window is being moved to.
4841
+ */
4842
+ newBounds: Rectangle) => void): this;
4843
+ /**
4844
+ * @platform darwin,win32
4845
+ */
4846
+ addListener(event: 'will-move', listener: (event: Event,
4847
+ /**
4848
+ * Location the window is being moved to.
4849
+ */
4850
+ newBounds: Rectangle) => void): this;
4851
+ /**
4852
+ * @platform darwin,win32
4853
+ */
4854
+ removeListener(event: 'will-move', listener: (event: Event,
4855
+ /**
4856
+ * Location the window is being moved to.
4857
+ */
4858
+ newBounds: Rectangle) => void): this;
4859
+ /**
4860
+ * Emitted before the window is resized. Calling `event.preventDefault()` will
4861
+ * prevent the window from being resized.
4862
+ *
4863
+ * Note that this is only emitted when the window is being resized manually.
4864
+ * Resizing the window with `setBounds`/`setSize` will not emit this event.
4865
+ *
4866
+ * The possible values and behaviors of the `edge` option are platform dependent.
4867
+ * Possible values are:
4868
+ *
4869
+ * * On Windows, possible values are `bottom`, `top`, `left`, `right`, `top-left`,
4870
+ * `top-right`, `bottom-left`, `bottom-right`.
4871
+ * * On macOS, possible values are `bottom` and `right`.
4872
+ * * The value `bottom` is used to denote vertical resizing.
4873
+ * * The value `right` is used to denote horizontal resizing.
4874
+ *
4875
+ * @platform darwin,win32
4876
+ */
4877
+ on(event: 'will-resize', listener: (event: Event,
4878
+ /**
4879
+ * Size the window is being resized to.
4880
+ */
4881
+ newBounds: Rectangle,
4882
+ details: WillResizeDetails) => void): this;
4883
+ /**
4884
+ * @platform darwin,win32
4885
+ */
4886
+ off(event: 'will-resize', listener: (event: Event,
4887
+ /**
4888
+ * Size the window is being resized to.
4889
+ */
4890
+ newBounds: Rectangle,
4891
+ details: WillResizeDetails) => void): this;
4892
+ /**
4893
+ * @platform darwin,win32
4894
+ */
4895
+ once(event: 'will-resize', listener: (event: Event,
4896
+ /**
4897
+ * Size the window is being resized to.
4898
+ */
4899
+ newBounds: Rectangle,
4900
+ details: WillResizeDetails) => void): this;
4901
+ /**
4902
+ * @platform darwin,win32
4903
+ */
4904
+ addListener(event: 'will-resize', listener: (event: Event,
4905
+ /**
4906
+ * Size the window is being resized to.
4907
+ */
4908
+ newBounds: Rectangle,
4909
+ details: WillResizeDetails) => void): this;
4910
+ /**
4911
+ * @platform darwin,win32
4912
+ */
4913
+ removeListener(event: 'will-resize', listener: (event: Event,
4914
+ /**
4915
+ * Size the window is being resized to.
4916
+ */
4917
+ newBounds: Rectangle,
4918
+ details: WillResizeDetails) => void): this;
4919
+ /**
4920
+ * Emitted before the window is resized. Calling `event.preventDefault()` will
4921
+ * prevent the window from being resized.
4922
+ *
4923
+ * Note that this is only emitted when the window is being resized manually.
4924
+ * Resizing the window with `setBounds`/`setSize` will not emit this event.
4925
+ *
4926
+ * The possible values and behaviors of the `edge` option are platform dependent.
4927
+ * Possible values are:
4928
+ *
4929
+ * * On Windows, possible values are `bottom`, `top`, `left`, `right`, `top-left`,
4930
+ * `top-right`, `bottom-left`, `bottom-right`.
4931
+ * * On macOS, possible values are `bottom` and `right`.
4932
+ * * The value `bottom` is used to denote vertical resizing.
4933
+ * * The value `right` is used to denote horizontal resizing.
4934
+ *
4935
+ * @platform darwin,win32
4936
+ */
4937
+ on(event: 'will-resize', listener: (event: Event,
4938
+ /**
4939
+ * Size the window is being resized to.
4940
+ */
4941
+ newBounds: Rectangle,
4942
+ details: WillResizeDetails) => void): this;
4943
+ /**
4944
+ * @platform darwin,win32
4945
+ */
4946
+ off(event: 'will-resize', listener: (event: Event,
4947
+ /**
4948
+ * Size the window is being resized to.
4949
+ */
4950
+ newBounds: Rectangle,
4951
+ details: WillResizeDetails) => void): this;
4952
+ /**
4953
+ * @platform darwin,win32
4954
+ */
4955
+ once(event: 'will-resize', listener: (event: Event,
4956
+ /**
4957
+ * Size the window is being resized to.
4958
+ */
4959
+ newBounds: Rectangle,
4960
+ details: WillResizeDetails) => void): this;
4961
+ /**
4962
+ * @platform darwin,win32
4963
+ */
4964
+ addListener(event: 'will-resize', listener: (event: Event,
4965
+ /**
4966
+ * Size the window is being resized to.
4967
+ */
4968
+ newBounds: Rectangle,
4969
+ details: WillResizeDetails) => void): this;
4970
+ /**
4971
+ * @platform darwin,win32
4972
+ */
4973
+ removeListener(event: 'will-resize', listener: (event: Event,
4974
+ /**
4975
+ * Size the window is being resized to.
4976
+ */
4977
+ newBounds: Rectangle,
4978
+ details: WillResizeDetails) => void): this;
4979
+ /**
4980
+ * BrowserWindow
4981
+ */
4982
+ constructor(options?: BrowserWindowConstructorOptions);
4983
+ /**
4984
+ * > **Note** The `BrowserView` class is deprecated, and replaced by the new
4985
+ * `WebContentsView` class.
4986
+ *
4987
+ * The window that owns the given `browserView`. If the given view is not attached
4988
+ * to any window, returns `null`.
4989
+ *
4990
+ * @deprecated
4991
+ */
4992
+ static fromBrowserView(browserView: BrowserView): (BrowserWindow) | (null);
4993
+ /**
4994
+ * The window with the given `id`.
4995
+ */
4996
+ static fromId(id: number): (BrowserWindow) | (null);
4997
+ /**
4998
+ * The window that owns the given `webContents` or `null` if the contents are not
4999
+ * owned by a window.
5000
+ */
5001
+ static fromWebContents(webContents: WebContents): (BrowserWindow) | (null);
5002
+ /**
5003
+ * An array of all opened browser windows.
5004
+ */
5005
+ static getAllWindows(): BrowserWindow[];
5006
+ /**
5007
+ * The window that is focused in this application, otherwise returns `null`.
5008
+ */
5009
+ static getFocusedWindow(): (BrowserWindow) | (null);
5010
+ /**
5011
+ * Replacement API for setBrowserView supporting work with multi browser views.
5012
+ *
5013
+ * > **Note** The `BrowserView` class is deprecated, and replaced by the new
5014
+ * `WebContentsView` class.
5015
+ *
5016
+ * @experimental
5017
+ * @deprecated
5018
+ */
5019
+ addBrowserView(browserView: BrowserView): void;
5020
+ /**
5021
+ * Adds a window as a tab on this window, after the tab for the window instance.
5022
+ *
5023
+ * @platform darwin
5024
+ */
5025
+ addTabbedWindow(browserWindow: BrowserWindow): void;
5026
+ /**
5027
+ * Removes focus from the window.
5028
+ */
5029
+ blur(): void;
5030
+ blurWebView(): void;
5031
+ /**
5032
+ * Resolves with a NativeImage
5033
+ *
5034
+ * Captures a snapshot of the page within `rect`. Omitting `rect` will capture the
5035
+ * whole visible page. If the page is not visible, `rect` may be empty. The page is
5036
+ * considered visible when its browser window is hidden and the capturer count is
5037
+ * non-zero. If you would like the page to stay hidden, you should ensure that
5038
+ * `stayHidden` is set to true.
5039
+ */
5040
+ capturePage(rect?: Rectangle, opts?: Opts): Promise<Electron.NativeImage>;
5041
+ /**
5042
+ * Moves window to the center of the screen.
5043
+ */
5044
+ center(): void;
5045
+ /**
5046
+ * Try to close the window. This has the same effect as a user manually clicking
5047
+ * the close button of the window. The web page may cancel the close though. See
5048
+ * the close event.
5049
+ */
5050
+ close(): void;
5051
+ /**
5052
+ * Closes the currently open Quick Look panel.
5053
+ *
5054
+ * @platform darwin
5055
+ */
5056
+ closeFilePreview(): void;
5057
+ /**
5058
+ * Force closing the window, the `unload` and `beforeunload` event won't be emitted
5059
+ * for the web page, and `close` event will also not be emitted for this window,
5060
+ * but it guarantees the `closed` event will be emitted.
5061
+ */
5062
+ destroy(): void;
5063
+ /**
5064
+ * Starts or stops flashing the window to attract user's attention.
5065
+ */
5066
+ flashFrame(flag: boolean): void;
5067
+ /**
5068
+ * Focuses on the window.
5069
+ */
5070
+ focus(): void;
5071
+ focusOnWebView(): void;
5072
+ /**
5073
+ * Gets the background color of the window in Hex (`#RRGGBB`) format.
5074
+ *
5075
+ * See Setting `backgroundColor`.
5076
+ *
5077
+ * **Note:** The alpha value is _not_ returned alongside the red, green, and blue
5078
+ * values.
5079
+ */
5080
+ getBackgroundColor(): string;
5081
+ /**
5082
+ * The `bounds` of the window as `Object`.
5083
+ *
5084
+ * **Note:** On macOS, the y-coordinate value returned will be at minimum the Tray
5085
+ * height. For example, calling `win.setBounds({ x: 25, y: 20, width: 800, height:
5086
+ * 600 })` with a tray height of 38 means that `win.getBounds()` will return `{ x:
5087
+ * 25, y: 38, width: 800, height: 600 }`.
5088
+ */
5089
+ getBounds(): Rectangle;
5090
+ /**
5091
+ * The `BrowserView` attached to `win`. Returns `null` if one is not attached.
5092
+ * Throws an error if multiple `BrowserView`s are attached.
5093
+ *
5094
+ * > **Note** The `BrowserView` class is deprecated, and replaced by the new
5095
+ * `WebContentsView` class.
5096
+ *
5097
+ * @experimental
5098
+ * @deprecated
5099
+ */
5100
+ getBrowserView(): (BrowserView) | (null);
5101
+ /**
5102
+ * a sorted by z-index array of all BrowserViews that have been attached with
5103
+ * `addBrowserView` or `setBrowserView`. The top-most BrowserView is the last
5104
+ * element of the array.
5105
+ *
5106
+ * > **Note** The `BrowserView` class is deprecated, and replaced by the new
5107
+ * `WebContentsView` class.
5108
+ *
5109
+ * @experimental
5110
+ * @deprecated
5111
+ */
5112
+ getBrowserViews(): BrowserView[];
5113
+ /**
5114
+ * All child windows.
5115
+ */
5116
+ getChildWindows(): BrowserWindow[];
5117
+ /**
5118
+ * The `bounds` of the window's client area as `Object`.
5119
+ */
5120
+ getContentBounds(): Rectangle;
5121
+ /**
5122
+ * Contains the window's client area's width and height.
5123
+ */
5124
+ getContentSize(): number[];
5125
+ /**
5126
+ * Contains the window's maximum width and height.
5127
+ */
5128
+ getMaximumSize(): number[];
5129
+ /**
5130
+ * Window id in the format of DesktopCapturerSource's id. For example
5131
+ * "window:1324:0".
5132
+ *
5133
+ * More precisely the format is `window:id:other_id` where `id` is `HWND` on
5134
+ * Windows, `CGWindowID` (`uint64_t`) on macOS and `Window` (`unsigned long`) on
5135
+ * Linux. `other_id` is used to identify web contents (tabs) so within the same top
5136
+ * level window.
5137
+ */
5138
+ getMediaSourceId(): string;
5139
+ /**
5140
+ * Contains the window's minimum width and height.
5141
+ */
5142
+ getMinimumSize(): number[];
5143
+ /**
5144
+ * The platform-specific handle of the window.
5145
+ *
5146
+ * The native type of the handle is `HWND` on Windows, `NSView*` on macOS, and
5147
+ * `Window` (`unsigned long`) on Linux.
5148
+ */
5149
+ getNativeWindowHandle(): Buffer;
5150
+ /**
5151
+ * Contains the window bounds of the normal state
5152
+ *
5153
+ * **Note:** whatever the current state of the window : maximized, minimized or in
5154
+ * fullscreen, this function always returns the position and size of the window in
5155
+ * normal state. In normal state, getBounds and getNormalBounds returns the same
5156
+ * `Rectangle`.
5157
+ */
5158
+ getNormalBounds(): Rectangle;
5159
+ /**
5160
+ * between 0.0 (fully transparent) and 1.0 (fully opaque). On Linux, always returns
5161
+ * 1.
5162
+ */
5163
+ getOpacity(): number;
5164
+ /**
5165
+ * The parent window or `null` if there is no parent.
5166
+ */
5167
+ getParentWindow(): (BrowserWindow) | (null);
5168
+ /**
5169
+ * Contains the window's current position.
5170
+ */
5171
+ getPosition(): number[];
5172
+ /**
5173
+ * The pathname of the file the window represents.
5174
+ *
5175
+ * @platform darwin
5176
+ */
5177
+ getRepresentedFilename(): string;
5178
+ /**
5179
+ * Contains the window's width and height.
5180
+ */
5181
+ getSize(): number[];
5182
+ /**
5183
+ * The title of the native window.
5184
+ *
5185
+ * **Note:** The title of the web page can be different from the title of the
5186
+ * native window.
5187
+ */
5188
+ getTitle(): string;
5189
+ /**
5190
+ * The custom position for the traffic light buttons in frameless window, `null`
5191
+ * will be returned when there is no custom position.
5192
+ *
5193
+ * @platform darwin
5194
+ */
5195
+ getWindowButtonPosition(): (Point) | (null);
5196
+ /**
5197
+ * Whether the window has a shadow.
5198
+ */
5199
+ hasShadow(): boolean;
5200
+ /**
5201
+ * Hides the window.
5202
+ */
5203
+ hide(): void;
5204
+ /**
5205
+ * Hooks a windows message. The `callback` is called when the message is received
5206
+ * in the WndProc.
5207
+ *
5208
+ * @platform win32
5209
+ */
5210
+ hookWindowMessage(message: number, callback: (wParam: Buffer, lParam: Buffer) => void): void;
5211
+ /**
5212
+ * Invalidates the window shadow so that it is recomputed based on the current
5213
+ * window shape.
5214
+ *
5215
+ * `BrowserWindows` that are transparent can sometimes leave behind visual
5216
+ * artifacts on macOS. This method can be used to clear these artifacts when, for
5217
+ * example, performing an animation.
5218
+ *
5219
+ * @platform darwin
5220
+ */
5221
+ invalidateShadow(): void;
5222
+ /**
5223
+ * Whether the window is always on top of other windows.
5224
+ */
5225
+ isAlwaysOnTop(): boolean;
5226
+ /**
5227
+ * Whether the window can be manually closed by user.
5228
+ *
5229
+ * On Linux always returns `true`.
5230
+ *
5231
+ * @platform darwin,win32
5232
+ */
5233
+ isClosable(): boolean;
5234
+ /**
5235
+ * Whether the window is destroyed.
5236
+ */
5237
+ isDestroyed(): boolean;
5238
+ /**
5239
+ * Whether the window's document has been edited.
5240
+ *
5241
+ * @platform darwin
5242
+ */
5243
+ isDocumentEdited(): boolean;
5244
+ /**
5245
+ * whether the window is enabled.
5246
+ */
5247
+ isEnabled(): boolean;
5248
+ /**
5249
+ * Whether the window can be focused.
5250
+ *
5251
+ * @platform darwin,win32
5252
+ */
5253
+ isFocusable(): boolean;
5254
+ /**
5255
+ * Whether the window is focused.
5256
+ */
5257
+ isFocused(): boolean;
5258
+ /**
5259
+ * Whether the window is in fullscreen mode.
5260
+ *
5261
+ * **Note:** On macOS, fullscreen transitions take place asynchronously. When
5262
+ * querying for a BrowserWindow's fullscreen status, you should ensure that either
5263
+ * the 'enter-full-screen' or 'leave-full-screen' events have been emitted.
5264
+ */
5265
+ isFullScreen(): boolean;
5266
+ /**
5267
+ * Whether the maximize/zoom window button toggles fullscreen mode or maximizes the
5268
+ * window.
5269
+ */
5270
+ isFullScreenable(): boolean;
5271
+ /**
5272
+ * Whether the window will be hidden when the user toggles into mission control.
5273
+ *
5274
+ * @platform darwin
5275
+ */
5276
+ isHiddenInMissionControl(): boolean;
5277
+ /**
5278
+ * Whether the window is in kiosk mode.
5279
+ */
5280
+ isKiosk(): boolean;
5281
+ /**
5282
+ * Whether the window can be manually maximized by user.
5283
+ *
5284
+ * On Linux always returns `true`.
5285
+ *
5286
+ * @platform darwin,win32
5287
+ */
5288
+ isMaximizable(): boolean;
5289
+ /**
5290
+ * Whether the window is maximized.
5291
+ */
5292
+ isMaximized(): boolean;
5293
+ /**
5294
+ * Whether menu bar automatically hides itself.
5295
+ *
5296
+ * @platform win32,linux
5297
+ */
5298
+ isMenuBarAutoHide(): boolean;
5299
+ /**
5300
+ * Whether the menu bar is visible.
5301
+ *
5302
+ * @platform win32,linux
5303
+ */
5304
+ isMenuBarVisible(): boolean;
5305
+ /**
5306
+ * Whether the window can be manually minimized by the user.
5307
+ *
5308
+ * On Linux always returns `true`.
5309
+ *
5310
+ * @platform darwin,win32
5311
+ */
5312
+ isMinimizable(): boolean;
5313
+ /**
5314
+ * Whether the window is minimized.
5315
+ */
5316
+ isMinimized(): boolean;
5317
+ /**
5318
+ * Whether current window is a modal window.
5319
+ */
5320
+ isModal(): boolean;
5321
+ /**
5322
+ * Whether the window can be moved by user.
5323
+ *
5324
+ * On Linux always returns `true`.
5325
+ *
5326
+ * @platform darwin,win32
5327
+ */
5328
+ isMovable(): boolean;
5329
+ /**
5330
+ * Whether the window is in normal state (not maximized, not minimized, not in
5331
+ * fullscreen mode).
5332
+ */
5333
+ isNormal(): boolean;
5334
+ /**
5335
+ * Whether the window can be manually resized by the user.
5336
+ */
5337
+ isResizable(): boolean;
5338
+ /**
5339
+ * Whether the window is in simple (pre-Lion) fullscreen mode.
5340
+ *
5341
+ * @platform darwin
5342
+ */
5343
+ isSimpleFullScreen(): boolean;
5344
+ /**
5345
+ * Whether the window is in Windows 10 tablet mode.
5346
+ *
5347
+ * Since Windows 10 users can use their PC as tablet, under this mode apps can
5348
+ * choose to optimize their UI for tablets, such as enlarging the titlebar and
5349
+ * hiding titlebar buttons.
5350
+ *
5351
+ * This API returns whether the window is in tablet mode, and the `resize` event
5352
+ * can be be used to listen to changes to tablet mode.
5353
+ *
5354
+ * @platform win32
5355
+ */
5356
+ isTabletMode(): boolean;
5357
+ /**
5358
+ * Whether the window is visible to the user in the foreground of the app.
5359
+ */
5360
+ isVisible(): boolean;
5361
+ /**
5362
+ * Whether the window is visible on all workspaces.
5363
+ *
5364
+ * **Note:** This API always returns false on Windows.
5365
+ *
5366
+ * @platform darwin,linux
5367
+ */
5368
+ isVisibleOnAllWorkspaces(): boolean;
5369
+ /**
5370
+ * `true` or `false` depending on whether the message is hooked.
5371
+ *
5372
+ * @platform win32
5373
+ */
5374
+ isWindowMessageHooked(message: number): boolean;
5375
+ /**
5376
+ * the promise will resolve when the page has finished loading (see
5377
+ * `did-finish-load`), and rejects if the page fails to load (see `did-fail-load`).
5378
+ *
5379
+ * Same as `webContents.loadFile`, `filePath` should be a path to an HTML file
5380
+ * relative to the root of your application. See the `webContents` docs for more
5381
+ * information.
5382
+ */
5383
+ loadFile(filePath: string, options?: LoadFileOptions): Promise<void>;
5384
+ /**
5385
+ * the promise will resolve when the page has finished loading (see
5386
+ * `did-finish-load`), and rejects if the page fails to load (see `did-fail-load`).
5387
+ *
5388
+ * Same as `webContents.loadURL(url[, options])`.
5389
+ *
5390
+ * The `url` can be a remote address (e.g. `http://`) or a path to a local HTML
5391
+ * file using the `file://` protocol.
5392
+ *
5393
+ * To ensure that file URLs are properly formatted, it is recommended to use Node's
5394
+ * `url.format` method:
5395
+ *
5396
+ * You can load a URL using a `POST` request with URL-encoded data by doing the
5397
+ * following:
5398
+ */
5399
+ loadURL(url: string, options?: LoadURLOptions): Promise<void>;
5400
+ /**
5401
+ * Maximizes the window. This will also show (but not focus) the window if it isn't
5402
+ * being displayed already.
5403
+ */
5404
+ maximize(): void;
5405
+ /**
5406
+ * Merges all windows into one window with multiple tabs when native tabs are
5407
+ * enabled and there is more than one open window.
5408
+ *
5409
+ * @platform darwin
5410
+ */
5411
+ mergeAllWindows(): void;
5412
+ /**
5413
+ * Minimizes the window. On some platforms the minimized window will be shown in
5414
+ * the Dock.
5415
+ */
5416
+ minimize(): void;
5417
+ /**
5418
+ * Moves window above the source window in the sense of z-order. If the
5419
+ * `mediaSourceId` is not of type window or if the window does not exist then this
5420
+ * method throws an error.
5421
+ */
5422
+ moveAbove(mediaSourceId: string): void;
5423
+ /**
5424
+ * Moves the current tab into a new window if native tabs are enabled and there is
5425
+ * more than one tab in the current window.
5426
+ *
5427
+ * @platform darwin
5428
+ */
5429
+ moveTabToNewWindow(): void;
5430
+ /**
5431
+ * Moves window to top(z-order) regardless of focus
5432
+ */
5433
+ moveTop(): void;
5434
+ /**
5435
+ * Uses Quick Look to preview a file at a given path.
5436
+ *
5437
+ * @platform darwin
5438
+ */
5439
+ previewFile(path: string, displayName?: string): void;
5440
+ /**
5441
+ * Same as `webContents.reload`.
5442
+ */
5443
+ reload(): void;
5444
+ /**
5445
+ * > **Note** The `BrowserView` class is deprecated, and replaced by the new
5446
+ * `WebContentsView` class.
5447
+ *
5448
+ * @experimental
5449
+ * @deprecated
5450
+ */
5451
+ removeBrowserView(browserView: BrowserView): void;
5452
+ /**
5453
+ * Remove the window's menu bar.
5454
+ *
5455
+ * @platform linux,win32
5456
+ */
5457
+ removeMenu(): void;
5458
+ /**
5459
+ * Restores the window from minimized state to its previous state.
5460
+ */
5461
+ restore(): void;
5462
+ /**
5463
+ * Selects the next tab when native tabs are enabled and there are other tabs in
5464
+ * the window.
5465
+ *
5466
+ * @platform darwin
5467
+ */
5468
+ selectNextTab(): void;
5469
+ /**
5470
+ * Selects the previous tab when native tabs are enabled and there are other tabs
5471
+ * in the window.
5472
+ *
5473
+ * @platform darwin
5474
+ */
5475
+ selectPreviousTab(): void;
5476
+ /**
5477
+ * Sets whether the window should show always on top of other windows. After
5478
+ * setting this, the window is still a normal window, not a toolbox window which
5479
+ * can not be focused on.
5480
+ */
5481
+ setAlwaysOnTop(flag: boolean, level?: 'normal' | 'floating' | 'torn-off-menu' | 'modal-panel' | 'main-menu' | 'status' | 'pop-up-menu' | 'screen-saver', relativeLevel?: number): void;
5482
+ /**
5483
+ * Sets the properties for the window's taskbar button.
5484
+ *
5485
+ * **Note:** `relaunchCommand` and `relaunchDisplayName` must always be set
5486
+ * together. If one of those properties is not set, then neither will be used.
5487
+ *
5488
+ * @platform win32
5489
+ */
5490
+ setAppDetails(options: AppDetailsOptions): void;
5491
+ /**
5492
+ * This will make a window maintain an aspect ratio. The extra size allows a
5493
+ * developer to have space, specified in pixels, not included within the aspect
5494
+ * ratio calculations. This API already takes into account the difference between a
5495
+ * window's size and its content size.
5496
+ *
5497
+ * Consider a normal window with an HD video player and associated controls.
5498
+ * Perhaps there are 15 pixels of controls on the left edge, 25 pixels of controls
5499
+ * on the right edge and 50 pixels of controls below the player. In order to
5500
+ * maintain a 16:9 aspect ratio (standard aspect ratio for HD @1920x1080) within
5501
+ * the player itself we would call this function with arguments of 16/9 and {
5502
+ * width: 40, height: 50 }. The second argument doesn't care where the extra width
5503
+ * and height are within the content view--only that they exist. Sum any extra
5504
+ * width and height areas you have within the overall content view.
5505
+ *
5506
+ * The aspect ratio is not respected when window is resized programmatically with
5507
+ * APIs like `win.setSize`.
5508
+ *
5509
+ * To reset an aspect ratio, pass 0 as the `aspectRatio` value:
5510
+ * `win.setAspectRatio(0)`.
5511
+ */
5512
+ setAspectRatio(aspectRatio: number, extraSize?: Size): void;
5513
+ /**
5514
+ * Controls whether to hide cursor when typing.
5515
+ *
5516
+ * @platform darwin
5517
+ */
5518
+ setAutoHideCursor(autoHide: boolean): void;
5519
+ /**
5520
+ * Sets whether the window menu bar should hide itself automatically. Once set the
5521
+ * menu bar will only show when users press the single `Alt` key.
5522
+ *
5523
+ * If the menu bar is already visible, calling `setAutoHideMenuBar(true)` won't
5524
+ * hide it immediately.
5525
+ *
5526
+ * @platform win32,linux
5527
+ */
5528
+ setAutoHideMenuBar(hide: boolean): void;
5529
+ /**
5530
+ * Examples of valid `backgroundColor` values:
5531
+ *
5532
+ * * Hex
5533
+ * * #fff (shorthand RGB)
5534
+ * * #ffff (shorthand ARGB)
5535
+ * * #ffffff (RGB)
5536
+ * * #ffffffff (ARGB)
5537
+ * * RGB
5538
+ * * `rgb\(([\d]+),\s*([\d]+),\s*([\d]+)\)`
5539
+ * * e.g. rgb(255, 255, 255)
5540
+ * * RGBA
5541
+ * * `rgba\(([\d]+),\s*([\d]+),\s*([\d]+),\s*([\d.]+)\)`
5542
+ * * e.g. rgba(255, 255, 255, 1.0)
5543
+ * * HSL
5544
+ * * `hsl\((-?[\d.]+),\s*([\d.]+)%,\s*([\d.]+)%\)`
5545
+ * * e.g. hsl(200, 20%, 50%)
5546
+ * * HSLA
5547
+ * * `hsla\((-?[\d.]+),\s*([\d.]+)%,\s*([\d.]+)%,\s*([\d.]+)\)`
5548
+ * * e.g. hsla(200, 20%, 50%, 0.5)
5549
+ * * Color name
5550
+ * * Options are listed in SkParseColor.cpp
5551
+ * * Similar to CSS Color Module Level 3 keywords, but case-sensitive.
5552
+ * * e.g. `blueviolet` or `red`
5553
+ *
5554
+ * Sets the background color of the window. See Setting `backgroundColor`.
5555
+ */
5556
+ setBackgroundColor(backgroundColor: string): void;
5557
+ /**
5558
+ * This method sets the browser window's system-drawn background material,
5559
+ * including behind the non-client area.
5560
+ *
5561
+ * See the Windows documentation for more details.
5562
+ *
5563
+ * **Note:** This method is only supported on Windows 11 22H2 and up.
5564
+ *
5565
+ * @platform win32
5566
+ */
5567
+ setBackgroundMaterial(material: 'auto' | 'none' | 'mica' | 'acrylic' | 'tabbed'): void;
5568
+ /**
5569
+ * Resizes and moves the window to the supplied bounds. Any properties that are not
5570
+ * supplied will default to their current values.
5571
+ *
5572
+ * **Note:** On macOS, the y-coordinate value cannot be smaller than the Tray
5573
+ * height. The tray height has changed over time and depends on the operating
5574
+ * system, but is between 20-40px. Passing a value lower than the tray height will
5575
+ * result in a window that is flush to the tray.
5576
+ */
5577
+ setBounds(bounds: Partial<Rectangle>, animate?: boolean): void;
5578
+ /**
5579
+ * > **Note** The `BrowserView` class is deprecated, and replaced by the new
5580
+ * `WebContentsView` class.
5581
+ *
5582
+ * @experimental
5583
+ * @deprecated
5584
+ */
5585
+ setBrowserView(browserView: (BrowserView) | (null)): void;
5586
+ /**
5587
+ * Sets whether the window can be manually closed by user. On Linux does nothing.
5588
+ *
5589
+ * @platform darwin,win32
5590
+ */
5591
+ setClosable(closable: boolean): void;
5592
+ /**
5593
+ * Resizes and moves the window's client area (e.g. the web page) to the supplied
5594
+ * bounds.
5595
+ */
5596
+ setContentBounds(bounds: Rectangle, animate?: boolean): void;
5597
+ /**
5598
+ * Prevents the window contents from being captured by other apps.
5599
+ *
5600
+ * On macOS it sets the NSWindow's sharingType to NSWindowSharingNone. On Windows
5601
+ * it calls SetWindowDisplayAffinity with `WDA_EXCLUDEFROMCAPTURE`. For Windows 10
5602
+ * version 2004 and up the window will be removed from capture entirely, older
5603
+ * Windows versions behave as if `WDA_MONITOR` is applied capturing a black window.
5604
+ *
5605
+ * @platform darwin,win32
5606
+ */
5607
+ setContentProtection(enable: boolean): void;
5608
+ /**
5609
+ * Resizes the window's client area (e.g. the web page) to `width` and `height`.
5610
+ */
5611
+ setContentSize(width: number, height: number, animate?: boolean): void;
5612
+ /**
5613
+ * Specifies whether the window’s document has been edited, and the icon in title
5614
+ * bar will become gray when set to `true`.
5615
+ *
5616
+ * @platform darwin
5617
+ */
5618
+ setDocumentEdited(edited: boolean): void;
5619
+ /**
5620
+ * Disable or enable the window.
5621
+ */
5622
+ setEnabled(enable: boolean): void;
5623
+ /**
5624
+ * Changes whether the window can be focused.
5625
+ *
5626
+ * On macOS it does not remove the focus from the window.
5627
+ *
5628
+ * @platform darwin,win32
5629
+ */
5630
+ setFocusable(focusable: boolean): void;
5631
+ /**
5632
+ * Sets whether the window should be in fullscreen mode.
5633
+ *
5634
+ * **Note:** On macOS, fullscreen transitions take place asynchronously. If further
5635
+ * actions depend on the fullscreen state, use the 'enter-full-screen' or
5636
+ * 'leave-full-screen' events.
5637
+ */
5638
+ setFullScreen(flag: boolean): void;
5639
+ /**
5640
+ * Sets whether the maximize/zoom window button toggles fullscreen mode or
5641
+ * maximizes the window.
5642
+ */
5643
+ setFullScreenable(fullscreenable: boolean): void;
5644
+ /**
5645
+ * Sets whether the window should have a shadow.
5646
+ */
5647
+ setHasShadow(hasShadow: boolean): void;
5648
+ /**
5649
+ * Sets whether the window will be hidden when the user toggles into mission
5650
+ * control.
5651
+ *
5652
+ * @platform darwin
5653
+ */
5654
+ setHiddenInMissionControl(hidden: boolean): void;
5655
+ /**
5656
+ * Changes window icon.
5657
+ *
5658
+ * @platform win32,linux
5659
+ */
5660
+ setIcon(icon: (NativeImage) | (string)): void;
5661
+ /**
5662
+ * Makes the window ignore all mouse events.
5663
+ *
5664
+ * All mouse events happened in this window will be passed to the window below this
5665
+ * window, but if this window has focus, it will still receive keyboard events.
5666
+ */
5667
+ setIgnoreMouseEvents(ignore: boolean, options?: IgnoreMouseEventsOptions): void;
5668
+ /**
5669
+ * Enters or leaves kiosk mode.
5670
+ */
5671
+ setKiosk(flag: boolean): void;
5672
+ /**
5673
+ * Sets whether the window can be manually maximized by user. On Linux does
5674
+ * nothing.
5675
+ *
5676
+ * @platform darwin,win32
5677
+ */
5678
+ setMaximizable(maximizable: boolean): void;
5679
+ /**
5680
+ * Sets the maximum size of window to `width` and `height`.
5681
+ */
5682
+ setMaximumSize(width: number, height: number): void;
5683
+ /**
5684
+ * Sets the `menu` as the window's menu bar.
5685
+ *
5686
+ * @platform linux,win32
5687
+ */
5688
+ setMenu(menu: (Menu) | (null)): void;
5689
+ /**
5690
+ * Sets whether the menu bar should be visible. If the menu bar is auto-hide, users
5691
+ * can still bring up the menu bar by pressing the single `Alt` key.
5692
+ *
5693
+ * @platform win32,linux
5694
+ */
5695
+ setMenuBarVisibility(visible: boolean): void;
5696
+ /**
5697
+ * Sets whether the window can be manually minimized by user. On Linux does
5698
+ * nothing.
5699
+ *
5700
+ * @platform darwin,win32
5701
+ */
5702
+ setMinimizable(minimizable: boolean): void;
5703
+ /**
5704
+ * Sets the minimum size of window to `width` and `height`.
5705
+ */
5706
+ setMinimumSize(width: number, height: number): void;
5707
+ /**
5708
+ * Sets whether the window can be moved by user. On Linux does nothing.
5709
+ *
5710
+ * @platform darwin,win32
5711
+ */
5712
+ setMovable(movable: boolean): void;
5713
+ /**
5714
+ * Sets the opacity of the window. On Linux, does nothing. Out of bound number
5715
+ * values are clamped to the [0, 1] range.
5716
+ *
5717
+ * @platform win32,darwin
5718
+ */
5719
+ setOpacity(opacity: number): void;
5720
+ /**
5721
+ * Sets a 16 x 16 pixel overlay onto the current taskbar icon, usually used to
5722
+ * convey some sort of application status or to passively notify the user.
5723
+ *
5724
+ * @platform win32
5725
+ */
5726
+ setOverlayIcon(overlay: (NativeImage) | (null), description: string): void;
5727
+ /**
5728
+ * Sets `parent` as current window's parent window, passing `null` will turn
5729
+ * current window into a top-level window.
5730
+ */
5731
+ setParentWindow(parent: (BrowserWindow) | (null)): void;
5732
+ /**
5733
+ * Moves window to `x` and `y`.
5734
+ */
5735
+ setPosition(x: number, y: number, animate?: boolean): void;
5736
+ /**
5737
+ * Sets progress value in progress bar. Valid range is [0, 1.0].
5738
+ *
5739
+ * Remove progress bar when progress < 0; Change to indeterminate mode when
5740
+ * progress > 1.
5741
+ *
5742
+ * On Linux platform, only supports Unity desktop environment, you need to specify
5743
+ * the `*.desktop` file name to `desktopName` field in `package.json`. By default,
5744
+ * it will assume `{app.name}.desktop`.
5745
+ *
5746
+ * On Windows, a mode can be passed. Accepted values are `none`, `normal`,
5747
+ * `indeterminate`, `error`, and `paused`. If you call `setProgressBar` without a
5748
+ * mode set (but with a value within the valid range), `normal` will be assumed.
5749
+ */
5750
+ setProgressBar(progress: number, options?: ProgressBarOptions): void;
5751
+ /**
5752
+ * Sets the pathname of the file the window represents, and the icon of the file
5753
+ * will show in window's title bar.
5754
+ *
5755
+ * @platform darwin
5756
+ */
5757
+ setRepresentedFilename(filename: string): void;
5758
+ /**
5759
+ * Sets whether the window can be manually resized by the user.
5760
+ */
5761
+ setResizable(resizable: boolean): void;
5762
+ /**
5763
+ * Setting a window shape determines the area within the window where the system
5764
+ * permits drawing and user interaction. Outside of the given region, no pixels
5765
+ * will be drawn and no mouse events will be registered. Mouse events outside of
5766
+ * the region will not be received by that window, but will fall through to
5767
+ * whatever is behind the window.
5768
+ *
5769
+ * @experimental
5770
+ * @platform win32,linux
5771
+ */
5772
+ setShape(rects: Rectangle[]): void;
5773
+ /**
5774
+ * Changes the attachment point for sheets on macOS. By default, sheets are
5775
+ * attached just below the window frame, but you may want to display them beneath a
5776
+ * HTML-rendered toolbar. For example:
5777
+ *
5778
+ * @platform darwin
5779
+ */
5780
+ setSheetOffset(offsetY: number, offsetX?: number): void;
5781
+ /**
5782
+ * Enters or leaves simple fullscreen mode.
5783
+ *
5784
+ * Simple fullscreen mode emulates the native fullscreen behavior found in versions
5785
+ * of macOS prior to Lion (10.7).
5786
+ *
5787
+ * @platform darwin
5788
+ */
5789
+ setSimpleFullScreen(flag: boolean): void;
5790
+ /**
5791
+ * Resizes the window to `width` and `height`. If `width` or `height` are below any
5792
+ * set minimum size constraints the window will snap to its minimum size.
5793
+ */
5794
+ setSize(width: number, height: number, animate?: boolean): void;
5795
+ /**
5796
+ * Makes the window not show in the taskbar.
5797
+ *
5798
+ * @platform darwin,win32
5799
+ */
5800
+ setSkipTaskbar(skip: boolean): void;
5801
+ /**
5802
+ * Whether the buttons were added successfully
5803
+ *
5804
+ * Add a thumbnail toolbar with a specified set of buttons to the thumbnail image
5805
+ * of a window in a taskbar button layout. Returns a `boolean` object indicates
5806
+ * whether the thumbnail has been added successfully.
5807
+ *
5808
+ * The number of buttons in thumbnail toolbar should be no greater than 7 due to
5809
+ * the limited room. Once you setup the thumbnail toolbar, the toolbar cannot be
5810
+ * removed due to the platform's limitation. But you can call the API with an empty
5811
+ * array to clean the buttons.
5812
+ *
5813
+ * The `buttons` is an array of `Button` objects:
5814
+ *
5815
+ * * `Button` Object
5816
+ * * `icon` NativeImage - The icon showing in thumbnail toolbar.
5817
+ * * `click` Function
5818
+ * * `tooltip` string (optional) - The text of the button's tooltip.
5819
+ * * `flags` string[] (optional) - Control specific states and behaviors of the
5820
+ * button. By default, it is `['enabled']`.
5821
+ *
5822
+ * The `flags` is an array that can include following `string`s:
5823
+ *
5824
+ * * `enabled` - The button is active and available to the user.
5825
+ * * `disabled` - The button is disabled. It is present, but has a visual state
5826
+ * indicating it will not respond to user action.
5827
+ * * `dismissonclick` - When the button is clicked, the thumbnail window closes
5828
+ * immediately.
5829
+ * * `nobackground` - Do not draw a button border, use only the image.
5830
+ * * `hidden` - The button is not shown to the user.
5831
+ * * `noninteractive` - The button is enabled but not interactive; no pressed
5832
+ * button state is drawn. This value is intended for instances where the button is
5833
+ * used in a notification.
5834
+ *
5835
+ * @platform win32
5836
+ */
5837
+ setThumbarButtons(buttons: ThumbarButton[]): boolean;
5838
+ /**
5839
+ * Sets the region of the window to show as the thumbnail image displayed when
5840
+ * hovering over the window in the taskbar. You can reset the thumbnail to be the
5841
+ * entire window by specifying an empty region: `{ x: 0, y: 0, width: 0, height: 0
5842
+ * }`.
5843
+ *
5844
+ * @platform win32
5845
+ */
5846
+ setThumbnailClip(region: Rectangle): void;
5847
+ /**
5848
+ * Sets the toolTip that is displayed when hovering over the window thumbnail in
5849
+ * the taskbar.
5850
+ *
5851
+ * @platform win32
5852
+ */
5853
+ setThumbnailToolTip(toolTip: string): void;
5854
+ /**
5855
+ * Changes the title of native window to `title`.
5856
+ */
5857
+ setTitle(title: string): void;
5858
+ /**
5859
+ * On a window with Window Controls Overlay already enabled, this method updates
5860
+ * the style of the title bar overlay.
5861
+ *
5862
+ * On Linux, the `symbolColor` is automatically calculated to have minimum
5863
+ * accessible contrast to the `color` if not explicitly set.
5864
+ *
5865
+ * @platform win32,linux
5866
+ */
5867
+ setTitleBarOverlay(options: TitleBarOverlayOptions): void;
5868
+ /**
5869
+ * Raises `browserView` above other `BrowserView`s attached to `win`. Throws an
5870
+ * error if `browserView` is not attached to `win`.
5871
+ *
5872
+ * > **Note** The `BrowserView` class is deprecated, and replaced by the new
5873
+ * `WebContentsView` class.
5874
+ *
5875
+ * @experimental
5876
+ * @deprecated
5877
+ */
5878
+ setTopBrowserView(browserView: BrowserView): void;
5879
+ /**
5880
+ * Sets the touchBar layout for the current window. Specifying `null` or
5881
+ * `undefined` clears the touch bar. This method only has an effect if the machine
5882
+ * has a touch bar.
5883
+ *
5884
+ * **Note:** The TouchBar API is currently experimental and may change or be
5885
+ * removed in future Electron releases.
5886
+ *
5887
+ * @platform darwin
5888
+ */
5889
+ setTouchBar(touchBar: (TouchBar) | (null)): void;
5890
+ /**
5891
+ * Adds a vibrancy effect to the browser window. Passing `null` or an empty string
5892
+ * will remove the vibrancy effect on the window.
5893
+ *
5894
+ * @platform darwin
5895
+ */
5896
+ setVibrancy(type: (('titlebar' | 'selection' | 'menu' | 'popover' | 'sidebar' | 'header' | 'sheet' | 'window' | 'hud' | 'fullscreen-ui' | 'tooltip' | 'content' | 'under-window' | 'under-page')) | (null)): void;
5897
+ /**
5898
+ * Sets whether the window should be visible on all workspaces.
5899
+ *
5900
+ * **Note:** This API does nothing on Windows.
5901
+ *
5902
+ * @platform darwin,linux
5903
+ */
5904
+ setVisibleOnAllWorkspaces(visible: boolean, options?: VisibleOnAllWorkspacesOptions): void;
5905
+ /**
5906
+ * Set a custom position for the traffic light buttons in frameless window. Passing
5907
+ * `null` will reset the position to default.
5908
+ *
5909
+ * @platform darwin
5910
+ */
5911
+ setWindowButtonPosition(position: (Point) | (null)): void;
5912
+ /**
5913
+ * Sets whether the window traffic light buttons should be visible.
5914
+ *
5915
+ * @platform darwin
5916
+ */
5917
+ setWindowButtonVisibility(visible: boolean): void;
5918
+ /**
5919
+ * Shows and gives focus to the window.
5920
+ */
5921
+ show(): void;
5922
+ /**
5923
+ * Shows or hides the tab overview when native tabs are enabled.
5924
+ *
5925
+ * @platform darwin
5926
+ */
5927
+ showAllTabs(): void;
5928
+ /**
5929
+ * Same as `webContents.showDefinitionForSelection()`.
5930
+ *
5931
+ * @platform darwin
5932
+ */
5933
+ showDefinitionForSelection(): void;
5934
+ /**
5935
+ * Shows the window but doesn't focus on it.
5936
+ */
5937
+ showInactive(): void;
5938
+ /**
5939
+ * Toggles the visibility of the tab bar if native tabs are enabled and there is
5940
+ * only one tab in the current window.
5941
+ *
5942
+ * @platform darwin
5943
+ */
5944
+ toggleTabBar(): void;
5945
+ /**
5946
+ * Unhooks all of the window messages.
5947
+ *
5948
+ * @platform win32
5949
+ */
5950
+ unhookAllWindowMessages(): void;
5951
+ /**
5952
+ * Unhook the window message.
5953
+ *
5954
+ * @platform win32
5955
+ */
5956
+ unhookWindowMessage(message: number): void;
5957
+ /**
5958
+ * Unmaximizes the window.
5959
+ */
5960
+ unmaximize(): void;
5961
+ /**
5962
+ * A `string` property that defines an alternative title provided only to
5963
+ * accessibility tools such as screen readers. This string is not directly visible
5964
+ * to users.
5965
+ */
5966
+ accessibleTitle: string;
5967
+ /**
5968
+ * A `boolean` property that determines whether the window menu bar should hide
5969
+ * itself automatically. Once set, the menu bar will only show when users press the
5970
+ * single `Alt` key.
5971
+ *
5972
+ * If the menu bar is already visible, setting this property to `true` won't hide
5973
+ * it immediately.
5974
+ */
5975
+ autoHideMenuBar: boolean;
5976
+ /**
5977
+ * A `boolean` property that determines whether the window can be manually closed
5978
+ * by user.
5979
+ *
5980
+ * On Linux the setter is a no-op, although the getter returns `true`.
5981
+ *
5982
+ * @platform darwin,win32
5983
+ */
5984
+ closable: boolean;
5985
+ /**
5986
+ * A `boolean` property that specifies whether the window’s document has been
5987
+ * edited.
3914
5988
  *
3915
- * @platform darwin,win32
5989
+ * The icon in title bar will become gray when set to `true`.
5990
+ *
5991
+ * @platform darwin
3916
5992
  */
3917
- movable?: boolean;
5993
+ documentEdited: boolean;
3918
5994
  /**
3919
- * Set the initial opacity of the window, between 0.0 (fully transparent) and 1.0
3920
- * (fully opaque). This is only implemented on Windows and macOS.
5995
+ * A `boolean` property that determines whether the window is excluded from the
5996
+ * application’s Windows menu. `false` by default.
3921
5997
  *
3922
- * @platform darwin,win32
5998
+ * @platform darwin
3923
5999
  */
3924
- opacity?: number;
6000
+ excludedFromShownWindowsMenu: boolean;
3925
6001
  /**
3926
- * Whether the renderer should be active when `show` is `false` and it has just
3927
- * been created. In order for `document.visibilityState` to work correctly on
3928
- * first load with `show: false` you should set this to `false`. Setting this to
3929
- * `false` will cause the `ready-to-show` event to not fire. Default is `true`.
6002
+ * A `boolean` property that determines whether the window is focusable.
6003
+ *
6004
+ * @platform win32,darwin
3930
6005
  */
3931
- paintWhenInitiallyHidden?: boolean;
6006
+ focusable: boolean;
3932
6007
  /**
3933
- * Specify parent window. Default is `null`.
6008
+ * A `boolean` property that determines whether the window is in fullscreen mode.
3934
6009
  */
3935
- parent?: BrowserWindow;
6010
+ fullScreen: boolean;
3936
6011
  /**
3937
- * Whether window is resizable. Default is `true`.
6012
+ * A `boolean` property that determines whether the maximize/zoom window button
6013
+ * toggles fullscreen mode or maximizes the window.
3938
6014
  */
3939
- resizable?: boolean;
6015
+ fullScreenable: boolean;
3940
6016
  /**
3941
- * Whether frameless window should have rounded corners on macOS. Default is
3942
- * `true`. Setting this property to `false` will prevent the window from being
3943
- * fullscreenable.
6017
+ * A `Integer` property representing the unique ID of the window. Each ID is unique
6018
+ * among all `BrowserWindow` instances of the entire Electron application.
3944
6019
  *
3945
- * @platform darwin
3946
6020
  */
3947
- roundedCorners?: boolean;
6021
+ readonly id: number;
3948
6022
  /**
3949
- * Whether window should be shown when created. Default is `true`.
6023
+ * A `boolean` property that determines whether the window is in kiosk mode.
3950
6024
  */
3951
- show?: boolean;
6025
+ kiosk: boolean;
3952
6026
  /**
3953
- * Use pre-Lion fullscreen on macOS. Default is `false`.
6027
+ * A `boolean` property that determines whether the window can be manually
6028
+ * maximized by user.
3954
6029
  *
3955
- * @platform darwin
3956
- */
3957
- simpleFullscreen?: boolean;
3958
- /**
3959
- * Whether to show the window in taskbar. Default is `false`.
6030
+ * On Linux the setter is a no-op, although the getter returns `true`.
3960
6031
  *
3961
6032
  * @platform darwin,win32
3962
6033
  */
3963
- skipTaskbar?: boolean;
6034
+ maximizable: boolean;
3964
6035
  /**
3965
- * Tab group name, allows opening the window as a native tab. Windows with the same
3966
- * tabbing identifier will be grouped together. This also adds a native new tab
3967
- * button to your window's tab bar and allows your `app` and window to receive the
3968
- * `new-window-for-tab` event.
6036
+ * A `boolean` property that determines whether the menu bar should be visible.
3969
6037
  *
3970
- * @platform darwin
3971
- */
3972
- tabbingIdentifier?: string;
3973
- /**
3974
- * Use `WS_THICKFRAME` style for frameless windows on Windows, which adds standard
3975
- * window frame. Setting it to `false` will remove window shadow and window
3976
- * animations. Default is `true`.
3977
- */
3978
- thickFrame?: boolean;
3979
- /**
3980
- * Default window title. Default is `"Electron"`. If the HTML tag `<title>` is
3981
- * defined in the HTML file loaded by `loadURL()`, this property will be ignored.
6038
+ * **Note:** If the menu bar is auto-hide, users can still bring up the menu bar by
6039
+ * pressing the single `Alt` key.
6040
+ *
6041
+ * @platform win32,linux
3982
6042
  */
3983
- title?: string;
6043
+ menuBarVisible: boolean;
3984
6044
  /**
3985
- * When using a frameless window in conjunction with
3986
- * `win.setWindowButtonVisibility(true)` on macOS or using a `titleBarStyle` so
3987
- * that the standard window controls ("traffic lights" on macOS) are visible, this
3988
- * property enables the Window Controls Overlay JavaScript APIs and CSS Environment
3989
- * Variables. Specifying `true` will result in an overlay with default system
3990
- * colors. Default is `false`.
6045
+ * A `boolean` property that determines whether the window can be manually
6046
+ * minimized by user.
6047
+ *
6048
+ * On Linux the setter is a no-op, although the getter returns `true`.
6049
+ *
6050
+ * @platform darwin,win32
3991
6051
  */
3992
- titleBarOverlay?: (TitleBarOverlay) | (boolean);
6052
+ minimizable: boolean;
3993
6053
  /**
3994
- * The style of window title bar. Default is `default`. Possible values are:
6054
+ * A `boolean` property that determines Whether the window can be moved by user.
6055
+ *
6056
+ * On Linux the setter is a no-op, although the getter returns `true`.
3995
6057
  *
3996
6058
  * @platform darwin,win32
3997
6059
  */
3998
- titleBarStyle?: ('default' | 'hidden' | 'hiddenInset' | 'customButtonsOnHover');
6060
+ movable: boolean;
3999
6061
  /**
4000
- * Set a custom position for the traffic light buttons in frameless windows.
6062
+ * A `string` property that determines the pathname of the file the window
6063
+ * represents, and the icon of the file will show in window's title bar.
4001
6064
  *
4002
6065
  * @platform darwin
4003
6066
  */
4004
- trafficLightPosition?: Point;
6067
+ representedFilename: string;
4005
6068
  /**
4006
- * Makes the window transparent. Default is `false`. On Windows, does not work
4007
- * unless the window is frameless.
6069
+ * A `boolean` property that determines whether the window can be manually resized
6070
+ * by user.
4008
6071
  */
4009
- transparent?: boolean;
6072
+ resizable: boolean;
4010
6073
  /**
4011
- * The type of window, default is normal window. See more about this below.
6074
+ * A `boolean` property that determines whether the window has a shadow.
4012
6075
  */
4013
- type?: string;
6076
+ shadow: boolean;
4014
6077
  /**
4015
- * The `width` and `height` would be used as web page's size, which means the
4016
- * actual window's size will include window frame's size and be slightly larger.
4017
- * Default is `false`.
6078
+ * A `boolean` property that determines whether the window is in simple (pre-Lion)
6079
+ * fullscreen mode.
4018
6080
  */
4019
- useContentSize?: boolean;
6081
+ simpleFullScreen: boolean;
4020
6082
  /**
4021
- * Add a type of vibrancy effect to the window, only on macOS. Can be
4022
- * `appearance-based`, `titlebar`, `selection`, `menu`, `popover`, `sidebar`,
4023
- * `header`, `sheet`, `window`, `hud`, `fullscreen-ui`, `tooltip`, `content`,
4024
- * `under-window`, or `under-page`.
6083
+ * A `string` (optional) property that is equal to the `tabbingIdentifier` passed
6084
+ * to the `BrowserWindow` constructor or `undefined` if none was set.
4025
6085
  *
4026
6086
  * @platform darwin
4027
6087
  */
4028
- vibrancy?: ('appearance-based' | 'titlebar' | 'selection' | 'menu' | 'popover' | 'sidebar' | 'header' | 'sheet' | 'window' | 'hud' | 'fullscreen-ui' | 'tooltip' | 'content' | 'under-window' | 'under-page');
6088
+ readonly tabbingIdentifier?: string;
4029
6089
  /**
4030
- * Specify how the material appearance should reflect window activity state on
4031
- * macOS. Must be used with the `vibrancy` property. Possible values are:
6090
+ * A `string` property that determines the title of the native window.
4032
6091
  *
4033
- * @platform darwin
6092
+ * **Note:** The title of the web page can be different from the title of the
6093
+ * native window.
4034
6094
  */
4035
- visualEffectState?: ('followWindow' | 'active' | 'inactive');
6095
+ title: string;
4036
6096
  /**
4037
- * Settings of web page's features.
6097
+ * A `boolean` property that determines whether the window is visible on all
6098
+ * workspaces.
6099
+ *
6100
+ * **Note:** Always returns false on Windows.
6101
+ *
6102
+ * @platform darwin,linux
4038
6103
  */
4039
- webPreferences?: WebPreferences;
6104
+ visibleOnAllWorkspaces: boolean;
4040
6105
  /**
4041
- * Window's width in pixels. Default is `800`.
6106
+ * A `WebContents` object this window owns. All web page related events and
6107
+ * operations will be done via it.
6108
+ *
6109
+ * See the `webContents` documentation for its methods and events.
6110
+ *
4042
6111
  */
4043
- width?: number;
6112
+ readonly webContents: WebContents;
6113
+ }
6114
+
6115
+ interface BrowserWindowConstructorOptions extends BaseWindowConstructorOptions {
6116
+
6117
+ // Docs: https://electronjs.org/docs/api/structures/browser-window-options
6118
+
4044
6119
  /**
4045
- * (**required** if y is used) Window's left offset from screen. Default is to
4046
- * center the window.
6120
+ * Whether the renderer should be active when `show` is `false` and it has just
6121
+ * been created. In order for `document.visibilityState` to work correctly on
6122
+ * first load with `show: false` you should set this to `false`. Setting this to
6123
+ * `false` will cause the `ready-to-show` event to not fire. Default is `true`.
4047
6124
  */
4048
- x?: number;
6125
+ paintWhenInitiallyHidden?: boolean;
4049
6126
  /**
4050
- * (**required** if x is used) Window's top offset from screen. Default is to
4051
- * center the window.
6127
+ * When using a frameless window in conjunction with
6128
+ * `win.setWindowButtonVisibility(true)` on macOS or using a `titleBarStyle` so
6129
+ * that the standard window controls ("traffic lights" on macOS) are visible, this
6130
+ * property enables the Window Controls Overlay JavaScript APIs and CSS Environment
6131
+ * Variables. Specifying `true` will result in an overlay with default system
6132
+ * colors. Default is `false`.
4052
6133
  */
4053
- y?: number;
6134
+ titleBarOverlay?: (TitleBarOverlay) | (boolean);
4054
6135
  /**
4055
- * Controls the behavior on macOS when option-clicking the green stoplight button
4056
- * on the toolbar or by clicking the Window > Zoom menu item. If `true`, the window
4057
- * will grow to the preferred width of the web page when zoomed, `false` will cause
4058
- * it to zoom to the width of the screen. This will also affect the behavior when
4059
- * calling `maximize()` directly. Default is `false`.
4060
- *
4061
- * @platform darwin
6136
+ * Settings of web page's features.
4062
6137
  */
4063
- zoomToPageWidth?: boolean;
6138
+ webPreferences?: WebPreferences;
4064
6139
  }
4065
6140
 
4066
6141
  interface Certificate {
@@ -4798,7 +6873,7 @@ declare namespace Electron {
4798
6873
  *
4799
6874
  * **Note:** This method is only available in the main process.
4800
6875
  */
4801
- getLastCrashReport(): CrashReport;
6876
+ getLastCrashReport(): (CrashReport) | (null);
4802
6877
  /**
4803
6878
  * The current 'extra' parameters of the crash reporter.
4804
6879
  */
@@ -5557,6 +7632,14 @@ declare namespace Electron {
5557
7632
  * The Content-Disposition field from the response header.
5558
7633
  */
5559
7634
  getContentDisposition(): string;
7635
+ /**
7636
+ * The current download speed in bytes per second.
7637
+ */
7638
+ getCurrentBytesPerSecond(): number;
7639
+ /**
7640
+ * Number of seconds since the UNIX epoch when the download ended.
7641
+ */
7642
+ getEndTime(): number;
5560
7643
  /**
5561
7644
  * ETag header value.
5562
7645
  */
@@ -5577,6 +7660,10 @@ declare namespace Electron {
5577
7660
  * The files mime type.
5578
7661
  */
5579
7662
  getMimeType(): string;
7663
+ /**
7664
+ * The download completion in percent.
7665
+ */
7666
+ getPercentComplete(): number;
5580
7667
  /**
5581
7668
  * The received bytes of the download item.
5582
7669
  */
@@ -5713,6 +7800,24 @@ declare namespace Electron {
5713
7800
  path: string;
5714
7801
  }
5715
7802
 
7803
+ interface FilesystemPermissionRequest extends PermissionRequest {
7804
+
7805
+ // Docs: https://electronjs.org/docs/api/structures/filesystem-permission-request
7806
+
7807
+ /**
7808
+ * The access type of the `fileSystem` request. Can be `writable` or `readable`.
7809
+ */
7810
+ fileAccessType?: ('writable' | 'readable');
7811
+ /**
7812
+ * The path of the `fileSystem` request.
7813
+ */
7814
+ filePath?: string;
7815
+ /**
7816
+ * Whether the `fileSystem` request is a directory.
7817
+ */
7818
+ isDirectory?: boolean;
7819
+ }
7820
+
5716
7821
  interface GlobalShortcut {
5717
7822
 
5718
7823
  // Docs: https://electronjs.org/docs/api/global-shortcut
@@ -6047,36 +8152,6 @@ declare namespace Electron {
6047
8152
  type: ('undefined' | 'mouseDown' | 'mouseUp' | 'mouseMove' | 'mouseEnter' | 'mouseLeave' | 'contextMenu' | 'mouseWheel' | 'rawKeyDown' | 'keyDown' | 'keyUp' | 'char' | 'gestureScrollBegin' | 'gestureScrollEnd' | 'gestureScrollUpdate' | 'gestureFlingStart' | 'gestureFlingCancel' | 'gesturePinchBegin' | 'gesturePinchEnd' | 'gesturePinchUpdate' | 'gestureTapDown' | 'gestureShowPress' | 'gestureTap' | 'gestureTapCancel' | 'gestureShortPress' | 'gestureLongPress' | 'gestureLongTap' | 'gestureTwoFingerTap' | 'gestureTapUnconfirmed' | 'gestureDoubleTap' | 'touchStart' | 'touchMove' | 'touchEnd' | 'touchCancel' | 'touchScrollStarted' | 'pointerDown' | 'pointerUp' | 'pointerMove' | 'pointerRawUpdate' | 'pointerCancel' | 'pointerCausedUaAction');
6048
8153
  }
6049
8154
 
6050
- interface IOCounters {
6051
-
6052
- // Docs: https://electronjs.org/docs/api/structures/io-counters
6053
-
6054
- /**
6055
- * Then number of I/O other operations.
6056
- */
6057
- otherOperationCount: number;
6058
- /**
6059
- * Then number of I/O other transfers.
6060
- */
6061
- otherTransferCount: number;
6062
- /**
6063
- * The number of I/O read operations.
6064
- */
6065
- readOperationCount: number;
6066
- /**
6067
- * The number of I/O read transfers.
6068
- */
6069
- readTransferCount: number;
6070
- /**
6071
- * The number of I/O write operations.
6072
- */
6073
- writeOperationCount: number;
6074
- /**
6075
- * The number of I/O write transfers.
6076
- */
6077
- writeTransferCount: number;
6078
- }
6079
-
6080
8155
  interface IpcMain extends NodeJS.EventEmitter {
6081
8156
 
6082
8157
  // Docs: https://electronjs.org/docs/api/ipc-main
@@ -6448,6 +8523,20 @@ declare namespace Electron {
6448
8523
  type: ('rawKeyDown' | 'keyDown' | 'keyUp' | 'char');
6449
8524
  }
6450
8525
 
8526
+ interface MediaAccessPermissionRequest extends PermissionRequest {
8527
+
8528
+ // Docs: https://electronjs.org/docs/api/structures/media-access-permission-request
8529
+
8530
+ /**
8531
+ * The types of media access being requested - elements can be `video` or `audio`.
8532
+ */
8533
+ mediaTypes?: Array<'video' | 'audio'>;
8534
+ /**
8535
+ * The security origin of the request.
8536
+ */
8537
+ securityOrigin?: string;
8538
+ }
8539
+
6451
8540
  interface MemoryInfo {
6452
8541
 
6453
8542
  // Docs: https://electronjs.org/docs/api/structures/memory-info
@@ -6703,7 +8792,7 @@ declare namespace Electron {
6703
8792
  visible: boolean;
6704
8793
  }
6705
8794
 
6706
- class MessageChannelMain {
8795
+ class MessageChannelMain extends NodeEventEmitter {
6707
8796
 
6708
8797
  // Docs: https://electronjs.org/docs/api/message-channel-main
6709
8798
 
@@ -6830,12 +8919,14 @@ declare namespace Electron {
6830
8919
  */
6831
8920
  static createFromBuffer(buffer: Buffer, options?: CreateFromBufferOptions): NativeImage;
6832
8921
  /**
6833
- * Creates a new `NativeImage` instance from `dataURL`.
8922
+ * Creates a new `NativeImage` instance from `dataUrl`, a base 64 encoded Data URL
8923
+ * string.
6834
8924
  */
6835
8925
  static createFromDataURL(dataURL: string): NativeImage;
6836
8926
  /**
6837
- * Creates a new `NativeImage` instance from the NSImage that maps to the given
6838
- * image name. See `System Icons` for a list of possible values.
8927
+ * Creates a new `NativeImage` instance from the `NSImage` that maps to the given
8928
+ * image name. See Apple's `NSImageName` documentation for a list of possible
8929
+ * values.
6839
8930
  *
6840
8931
  * The `hslShift` is applied to the image with the following rules:
6841
8932
  *
@@ -6857,9 +8948,6 @@ declare namespace Electron {
6857
8948
  * representation for your image before passing it in. This can be done with the
6858
8949
  * following:
6859
8950
  *
6860
- * `echo -e '#import <Cocoa/Cocoa.h>\nint main() { NSLog(@"%@", SYSTEM_IMAGE_NAME);
6861
- * }' | clang -otest -x objective-c -framework Cocoa - && ./test`
6862
- *
6863
8951
  * where `SYSTEM_IMAGE_NAME` should be replaced with any value from this list.
6864
8952
  *
6865
8953
  * @platform darwin
@@ -6882,8 +8970,8 @@ declare namespace Electron {
6882
8970
  static createThumbnailFromPath(path: string, size: Size): Promise<Electron.NativeImage>;
6883
8971
  /**
6884
8972
  * Add an image representation for a specific scale factor. This can be used to
6885
- * explicitly add different scale factor representations to an image. This can be
6886
- * called on empty images.
8973
+ * programmatically add different scale factor representations to an image. This
8974
+ * can be called on empty images.
6887
8975
  */
6888
8976
  addRepresentation(options: AddRepresentationOptions): void;
6889
8977
  /**
@@ -6891,7 +8979,7 @@ declare namespace Electron {
6891
8979
  */
6892
8980
  crop(rect: Rectangle): NativeImage;
6893
8981
  /**
6894
- * The image's aspect ratio.
8982
+ * The image's aspect ratio (width divided by height).
6895
8983
  *
6896
8984
  * If `scaleFactor` is passed, this will return the aspect ratio corresponding to
6897
8985
  * the image representation most closely matching the passed value.
@@ -6907,7 +8995,7 @@ declare namespace Electron {
6907
8995
  getBitmap(options?: BitmapOptions): Buffer;
6908
8996
  /**
6909
8997
  * A Buffer that stores C pointer to underlying native handle of the image. On
6910
- * macOS, a pointer to `NSImage` instance would be returned.
8998
+ * macOS, a pointer to `NSImage` instance is returned.
6911
8999
  *
6912
9000
  * Notice that the returned pointer is a weak pointer to the underlying native
6913
9001
  * image instead of a copy, so you _must_ ensure that the associated `nativeImage`
@@ -6918,7 +9006,7 @@ declare namespace Electron {
6918
9006
  getNativeHandle(): Buffer;
6919
9007
  /**
6920
9008
  * An array of all scale factors corresponding to representations for a given
6921
- * nativeImage.
9009
+ * `NativeImage`.
6922
9010
  */
6923
9011
  getScaleFactors(): number[];
6924
9012
  /**
@@ -6931,7 +9019,7 @@ declare namespace Electron {
6931
9019
  */
6932
9020
  isEmpty(): boolean;
6933
9021
  /**
6934
- * Whether the image is a template image.
9022
+ * Whether the image is a macOS template image.
6935
9023
  */
6936
9024
  isTemplateImage(): boolean;
6937
9025
  /**
@@ -6942,7 +9030,7 @@ declare namespace Electron {
6942
9030
  */
6943
9031
  resize(options: ResizeOptions): NativeImage;
6944
9032
  /**
6945
- * Marks the image as a template image.
9033
+ * Marks the image as a macOS template image.
6946
9034
  */
6947
9035
  setTemplateImage(option: boolean): void;
6948
9036
  /**
@@ -6950,7 +9038,7 @@ declare namespace Electron {
6950
9038
  */
6951
9039
  toBitmap(options?: ToBitmapOptions): Buffer;
6952
9040
  /**
6953
- * The data URL of the image.
9041
+ * The Data URL of the image.
6954
9042
  */
6955
9043
  toDataURL(options?: ToDataURLOptions): string;
6956
9044
  /**
@@ -6995,6 +9083,12 @@ declare namespace Electron {
6995
9083
  * @platform win32
6996
9084
  */
6997
9085
  readonly inForcedColorsMode: boolean;
9086
+ /**
9087
+ * A `boolean` that indicates the whether the user has chosen via system
9088
+ * accessibility settings to reduce transparency at the OS level.
9089
+ *
9090
+ */
9091
+ readonly prefersReducedTransparency: boolean;
6998
9092
  /**
6999
9093
  * A `boolean` for if the OS / Chromium currently has a dark mode enabled or is
7000
9094
  * being instructed to show a dark-style UI. If you want to modify this value you
@@ -7056,6 +9150,28 @@ declare namespace Electron {
7056
9150
  themeSource: ('system' | 'light' | 'dark');
7057
9151
  }
7058
9152
 
9153
+ class NavigationHistory extends NodeEventEmitter {
9154
+
9155
+ // Docs: https://electronjs.org/docs/api/navigation-history
9156
+
9157
+ /**
9158
+ * The index of the current page, from which we would go back/forward or reload.
9159
+ */
9160
+ getActiveIndex(): number;
9161
+ /**
9162
+ * * `url` string - The URL of the navigation entry at the given index.
9163
+ * * `title` string - The page title of the navigation entry at the given index.
9164
+ *
9165
+ * If index is out of bounds (greater than history length or less than 0), null
9166
+ * will be returned.
9167
+ */
9168
+ getEntryAtIndex(index: number): EntryAtIndex;
9169
+ /**
9170
+ * History length.
9171
+ */
9172
+ length(): number;
9173
+ }
9174
+
7059
9175
  interface Net {
7060
9176
 
7061
9177
  // Docs: https://electronjs.org/docs/api/net
@@ -7441,9 +9557,19 @@ declare namespace Electron {
7441
9557
  */
7442
9558
  userInfo: Record<string, any>;
7443
9559
  /**
7444
- * The text entered or chosen by the user.
9560
+ * The text entered or chosen by the user.
9561
+ */
9562
+ userText?: string;
9563
+ }
9564
+
9565
+ interface OpenExternalPermissionRequest extends PermissionRequest {
9566
+
9567
+ // Docs: https://electronjs.org/docs/api/structures/open-external-permission-request
9568
+
9569
+ /**
9570
+ * The url of the `openExternal` request.
7445
9571
  */
7446
- userText?: string;
9572
+ externalURL?: string;
7447
9573
  }
7448
9574
 
7449
9575
  interface ParentPort extends NodeJS.EventEmitter {
@@ -7493,6 +9619,20 @@ declare namespace Electron {
7493
9619
  timestamp: number;
7494
9620
  }
7495
9621
 
9622
+ interface PermissionRequest {
9623
+
9624
+ // Docs: https://electronjs.org/docs/api/structures/permission-request
9625
+
9626
+ /**
9627
+ * Whether the frame making the request is the main frame.
9628
+ */
9629
+ isMainFrame: boolean;
9630
+ /**
9631
+ * The last URL the requesting frame loaded.
9632
+ */
9633
+ requestingUrl: string;
9634
+ }
9635
+
7496
9636
  interface Point {
7497
9637
 
7498
9638
  // Docs: https://electronjs.org/docs/api/structures/point
@@ -8898,6 +11038,21 @@ declare namespace Electron {
8898
11038
  extension: Extension) => void): this;
8899
11039
  removeListener(event: 'extension-unloaded', listener: (event: Event,
8900
11040
  extension: Extension) => void): this;
11041
+ on(event: 'file-system-access-restricted', listener: (event: Event,
11042
+ details: FileSystemAccessRestrictedDetails,
11043
+ callback: (action: 'allow' | 'deny' | 'tryAgain') => void) => void): this;
11044
+ off(event: 'file-system-access-restricted', listener: (event: Event,
11045
+ details: FileSystemAccessRestrictedDetails,
11046
+ callback: (action: 'allow' | 'deny' | 'tryAgain') => void) => void): this;
11047
+ once(event: 'file-system-access-restricted', listener: (event: Event,
11048
+ details: FileSystemAccessRestrictedDetails,
11049
+ callback: (action: 'allow' | 'deny' | 'tryAgain') => void) => void): this;
11050
+ addListener(event: 'file-system-access-restricted', listener: (event: Event,
11051
+ details: FileSystemAccessRestrictedDetails,
11052
+ callback: (action: 'allow' | 'deny' | 'tryAgain') => void) => void): this;
11053
+ removeListener(event: 'file-system-access-restricted', listener: (event: Event,
11054
+ details: FileSystemAccessRestrictedDetails,
11055
+ callback: (action: 'allow' | 'deny' | 'tryAgain') => void) => void): this;
8901
11056
  /**
8902
11057
  * Emitted after `navigator.hid.requestDevice` has been called and
8903
11058
  * `select-hid-device` has fired if a new device becomes available before the
@@ -9354,6 +11509,25 @@ declare namespace Electron {
9354
11509
  * resolves when the code cache clear operation is complete.
9355
11510
  */
9356
11511
  clearCodeCaches(options: ClearCodeCachesOptions): Promise<void>;
11512
+ /**
11513
+ * resolves when all data has been cleared.
11514
+ *
11515
+ * Clears various different types of data.
11516
+ *
11517
+ * This method clears more types of data and is more thourough than the
11518
+ * `clearStorageData` method.
11519
+ *
11520
+ * **Note:** Cookies are stored at a broader scope than origins. When removing
11521
+ * cookies and filtering by `origins` (or `excludeOrigins`), the cookies will be
11522
+ * removed at the registrable domain level. For example, clearing cookies for the
11523
+ * origin `https://really.specific.origin.example.com/` will end up clearing all
11524
+ * cookies for `example.com`. Clearing cookies for the origin
11525
+ * `https://my.website.example.co.uk/` will end up clearing all cookies for
11526
+ * `example.co.uk`.
11527
+ *
11528
+ * For more information, refer to Chromium's `BrowsingDataRemover` interface.
11529
+ */
11530
+ clearData(options?: ClearDataOptions): Promise<void>;
9357
11531
  /**
9358
11532
  * Resolves when the operation is complete.
9359
11533
  *
@@ -9631,7 +11805,7 @@ declare namespace Electron {
9631
11805
  * `setPermissionCheckHandler` to get complete permission handling. Most web APIs
9632
11806
  * do a permission check and then make a permission request if the check is denied.
9633
11807
  */
9634
- setPermissionRequestHandler(handler: ((webContents: WebContents, permission: 'clipboard-read' | 'clipboard-sanitized-write' | 'display-capture' | 'fullscreen' | 'geolocation' | 'idle-detection' | 'media' | 'mediaKeySystem' | 'midi' | 'midiSysex' | 'notifications' | 'pointerLock' | 'keyboardLock' | 'openExternal' | 'storage-access' | 'top-level-storage-access' | 'window-management' | 'unknown', callback: (permissionGranted: boolean) => void, details: PermissionRequestHandlerHandlerDetails) => void) | (null)): void;
11808
+ 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;
9635
11809
  /**
9636
11810
  * Adds scripts that will be executed on ALL web contents that are associated with
9637
11811
  * this session just before normal `preload` scripts run.
@@ -11717,6 +13891,71 @@ declare namespace Electron {
11717
13891
  stdout: (NodeJS.ReadableStream) | (null);
11718
13892
  }
11719
13893
 
13894
+ class View extends NodeEventEmitter {
13895
+
13896
+ // Docs: https://electronjs.org/docs/api/view
13897
+
13898
+ /**
13899
+ * Emitted when the view's bounds have changed in response to being laid out. The
13900
+ * new bounds can be retrieved with `view.getBounds()`.
13901
+ */
13902
+ on(event: 'bounds-changed', listener: Function): this;
13903
+ off(event: 'bounds-changed', listener: Function): this;
13904
+ once(event: 'bounds-changed', listener: Function): this;
13905
+ addListener(event: 'bounds-changed', listener: Function): this;
13906
+ removeListener(event: 'bounds-changed', listener: Function): this;
13907
+ /**
13908
+ * View
13909
+ */
13910
+ constructor();
13911
+ /**
13912
+ * If the same View is added to a parent which already contains it, it will be
13913
+ * reordered such that it becomes the topmost view.
13914
+ */
13915
+ addChildView(view: View, index?: number): void;
13916
+ /**
13917
+ * The bounds of this View, relative to its parent.
13918
+ */
13919
+ getBounds(): Rectangle;
13920
+ removeChildView(view: View): void;
13921
+ /**
13922
+ * Examples of valid `color` values:
13923
+ *
13924
+ * * Hex
13925
+ * * `#fff` (RGB)
13926
+ * * `#ffff` (ARGB)
13927
+ * * `#ffffff` (RRGGBB)
13928
+ * * `#ffffffff` (AARRGGBB)
13929
+ * * RGB
13930
+ * * `rgb\(([\d]+),\s*([\d]+),\s*([\d]+)\)`
13931
+ * * e.g. `rgb(255, 255, 255)`
13932
+ * * RGBA
13933
+ * * `rgba\(([\d]+),\s*([\d]+),\s*([\d]+),\s*([\d.]+)\)`
13934
+ * * e.g. `rgba(255, 255, 255, 1.0)`
13935
+ * * HSL
13936
+ * * `hsl\((-?[\d.]+),\s*([\d.]+)%,\s*([\d.]+)%\)`
13937
+ * * e.g. `hsl(200, 20%, 50%)`
13938
+ * * HSLA
13939
+ * * `hsla\((-?[\d.]+),\s*([\d.]+)%,\s*([\d.]+)%,\s*([\d.]+)\)`
13940
+ * * e.g. `hsla(200, 20%, 50%, 0.5)`
13941
+ * * Color name
13942
+ * * Options are listed in SkParseColor.cpp
13943
+ * * Similar to CSS Color Module Level 3 keywords, but case-sensitive.
13944
+ * * e.g. `blueviolet` or `red`
13945
+ *
13946
+ * **Note:** Hex format with alpha takes `AARRGGBB` or `ARGB`, _not_ `RRGGBBAA` or
13947
+ * `RGB`.
13948
+ */
13949
+ setBackgroundColor(color: string): void;
13950
+ setBounds(bounds: Rectangle): void;
13951
+ setVisible(visible: boolean): void;
13952
+ /**
13953
+ * A `View[]` property representing the child views of this view.
13954
+ *
13955
+ */
13956
+ readonly children: View[];
13957
+ }
13958
+
11720
13959
  class WebContents extends NodeEventEmitter {
11721
13960
 
11722
13961
  // Docs: https://electronjs.org/docs/api/web-contents
@@ -11968,38 +14207,6 @@ declare namespace Electron {
11968
14207
  params: ContextMenuParams) => void): this;
11969
14208
  removeListener(event: 'context-menu', listener: (event: Event,
11970
14209
  params: ContextMenuParams) => void): this;
11971
- /**
11972
- * Emitted when the renderer process crashes or is killed.
11973
- *
11974
- * **Deprecated:** This event is superceded by the `render-process-gone` event
11975
- * which contains more information about why the render process disappeared. It
11976
- * isn't always because it crashed. The `killed` boolean can be replaced by
11977
- * checking `reason === 'killed'` when you switch to that event.
11978
- *
11979
- * @deprecated
11980
- */
11981
- on(event: 'crashed', listener: (event: Event,
11982
- killed: boolean) => void): this;
11983
- /**
11984
- * @deprecated
11985
- */
11986
- off(event: 'crashed', listener: (event: Event,
11987
- killed: boolean) => void): this;
11988
- /**
11989
- * @deprecated
11990
- */
11991
- once(event: 'crashed', listener: (event: Event,
11992
- killed: boolean) => void): this;
11993
- /**
11994
- * @deprecated
11995
- */
11996
- addListener(event: 'crashed', listener: (event: Event,
11997
- killed: boolean) => void): this;
11998
- /**
11999
- * @deprecated
12000
- */
12001
- removeListener(event: 'crashed', listener: (event: Event,
12002
- killed: boolean) => void): this;
12003
14210
  /**
12004
14211
  * Emitted when the cursor's type changes. The `type` parameter can be `pointer`,
12005
14212
  * `crosshair`, `hand`, `text`, `wait`, `help`, `e-resize`, `n-resize`,
@@ -12161,6 +14368,34 @@ declare namespace Electron {
12161
14368
  once(event: 'devtools-reload-page', listener: Function): this;
12162
14369
  addListener(event: 'devtools-reload-page', listener: Function): this;
12163
14370
  removeListener(event: 'devtools-reload-page', listener: Function): this;
14371
+ /**
14372
+ * Emitted when 'Search' is selected for text in its context menu.
14373
+ */
14374
+ on(event: 'devtools-search-query', listener: (event: Event,
14375
+ /**
14376
+ * text to query for.
14377
+ */
14378
+ query: string) => void): this;
14379
+ off(event: 'devtools-search-query', listener: (event: Event,
14380
+ /**
14381
+ * text to query for.
14382
+ */
14383
+ query: string) => void): this;
14384
+ once(event: 'devtools-search-query', listener: (event: Event,
14385
+ /**
14386
+ * text to query for.
14387
+ */
14388
+ query: string) => void): this;
14389
+ addListener(event: 'devtools-search-query', listener: (event: Event,
14390
+ /**
14391
+ * text to query for.
14392
+ */
14393
+ query: string) => void): this;
14394
+ removeListener(event: 'devtools-search-query', listener: (event: Event,
14395
+ /**
14396
+ * text to query for.
14397
+ */
14398
+ query: string) => void): this;
12164
14399
  /**
12165
14400
  * Emitted when a `<webview>` has been attached to this web contents.
12166
14401
  */
@@ -14123,8 +16358,11 @@ declare namespace Electron {
14123
16358
  * by `window.open()`, a link with `target="_blank"`, shift+clicking on a link, or
14124
16359
  * submitting a form with `<form target="_blank">`. See `window.open()` for more
14125
16360
  * details and how to use this in conjunction with `did-create-window`.
16361
+ *
16362
+ * An example showing how to customize the process of new `BrowserWindow` creation
16363
+ * to be `BrowserView` attached to main window instead:
14126
16364
  */
14127
- setWindowOpenHandler(handler: (details: HandlerDetails) => ({action: 'deny'}) | ({action: 'allow', outlivesOpener?: boolean, overrideBrowserWindowOptions?: BrowserWindowConstructorOptions})): void;
16365
+ setWindowOpenHandler(handler: (details: HandlerDetails) => WindowOpenHandlerResponse): void;
14128
16366
  /**
14129
16367
  * Changes the zoom factor to the specified factor. Zoom factor is zoom percent
14130
16368
  * divided by 100, so 300% = 3.0.
@@ -14267,6 +16505,11 @@ declare namespace Electron {
14267
16505
  *
14268
16506
  */
14269
16507
  readonly mainFrame: WebFrameMain;
16508
+ /**
16509
+ * A `NavigationHistory` used by this webContents.
16510
+ *
16511
+ */
16512
+ readonly navigationHistory: NavigationHistory;
14270
16513
  /**
14271
16514
  * A `WebFrameMain` property that represents the frame that opened this
14272
16515
  * WebContents, either with open(), or by navigating a link with a target
@@ -14299,6 +16542,31 @@ declare namespace Electron {
14299
16542
  zoomLevel: number;
14300
16543
  }
14301
16544
 
16545
+ class WebContentsView extends View {
16546
+
16547
+ // Docs: https://electronjs.org/docs/api/web-contents-view
16548
+
16549
+ /**
16550
+ * Emitted when the view's bounds have changed in response to being laid out. The
16551
+ * new bounds can be retrieved with `view.getBounds()`.
16552
+ */
16553
+ on(event: 'bounds-changed', listener: Function): this;
16554
+ off(event: 'bounds-changed', listener: Function): this;
16555
+ once(event: 'bounds-changed', listener: Function): this;
16556
+ addListener(event: 'bounds-changed', listener: Function): this;
16557
+ removeListener(event: 'bounds-changed', listener: Function): this;
16558
+ /**
16559
+ * WebContentsView
16560
+ */
16561
+ constructor(options?: WebContentsViewConstructorOptions);
16562
+ /**
16563
+ * A `WebContents` property containing a reference to the displayed `WebContents`.
16564
+ * Use this to interact with the `WebContents`, for instance to load a URL.
16565
+ *
16566
+ */
16567
+ readonly webContents: WebContents;
16568
+ }
16569
+
14302
16570
  interface WebFrame {
14303
16571
 
14304
16572
  // Docs: https://electronjs.org/docs/api/web-frame
@@ -14862,6 +17130,13 @@ declare namespace Electron {
14862
17130
  * Make TextArea elements resizable. Default is `true`.
14863
17131
  */
14864
17132
  textAreasAreResizable?: boolean;
17133
+ /**
17134
+ * Whether to enable background transparency for the guest page. Default is `true`.
17135
+ * **Note:** The guest page's text and background colors are derived from the color
17136
+ * scheme of its root element. When transparency is enabled, the text color will
17137
+ * still change accordingly but the background will remain transparent.
17138
+ */
17139
+ transparent?: boolean;
14865
17140
  /**
14866
17141
  * Enforces the v8 code caching policy used by blink. Accepted values are
14867
17142
  */
@@ -15027,6 +17302,22 @@ declare namespace Electron {
15027
17302
  url?: string;
15028
17303
  }
15029
17304
 
17305
+ interface WebUtils extends NodeJS.EventEmitter {
17306
+
17307
+ // Docs: https://electronjs.org/docs/api/web-utils
17308
+
17309
+ /**
17310
+ * The file system path that this `File` object points to. In the case where the
17311
+ * object passed in is not a `File` object an exception is thrown. In the case
17312
+ * where the File object passed in was constructed in JS and is not backed by a
17313
+ * file on disk an empty string is returned.
17314
+ *
17315
+ * This method superceded the previous augmentation to the `File` object with the
17316
+ * `path` property. An example is included below.
17317
+ */
17318
+ getPathForFile(file: File): string;
17319
+ }
17320
+
15030
17321
  interface WebviewTag extends HTMLElement {
15031
17322
 
15032
17323
  // Docs: https://electronjs.org/docs/api/webview-tag
@@ -15195,20 +17486,6 @@ declare namespace Electron {
15195
17486
  */
15196
17487
  addEventListener(event: 'ipc-message', listener: (event: IpcMessageEvent) => void, useCapture?: boolean): this;
15197
17488
  removeEventListener(event: 'ipc-message', listener: (event: IpcMessageEvent) => void): this;
15198
- /**
15199
- * Fired when the renderer process crashes or is killed.
15200
- *
15201
- * **Deprecated:** This event is superceded by the `render-process-gone` event
15202
- * which contains more information about why the render process disappeared. It
15203
- * isn't always because it crashed.
15204
- *
15205
- * @deprecated
15206
- */
15207
- addEventListener(event: 'crashed', listener: (event: DOMEvent) => void, useCapture?: boolean): this;
15208
- /**
15209
- * @deprecated
15210
- */
15211
- removeEventListener(event: 'crashed', listener: (event: DOMEvent) => void): this;
15212
17489
  /**
15213
17490
  * Fired when the renderer process unexpectedly disappears. This is normally
15214
17491
  * because it was crashed or killed.
@@ -15246,12 +17523,13 @@ declare namespace Electron {
15246
17523
  */
15247
17524
  addEventListener(event: 'update-target-url', listener: (event: UpdateTargetUrlEvent) => void, useCapture?: boolean): this;
15248
17525
  removeEventListener(event: 'update-target-url', listener: (event: UpdateTargetUrlEvent) => void): this;
15249
- /**
15250
- * Emitted when a link is clicked in DevTools or 'Open in new tab' is selected for
15251
- * a link in its context menu.
15252
- */
15253
17526
  addEventListener(event: 'devtools-open-url', listener: (event: DevtoolsOpenUrlEvent) => void, useCapture?: boolean): this;
15254
17527
  removeEventListener(event: 'devtools-open-url', listener: (event: DevtoolsOpenUrlEvent) => void): this;
17528
+ /**
17529
+ * Emitted when 'Search' is selected for text in its context menu.
17530
+ */
17531
+ addEventListener(event: 'devtools-search-query', listener: (event: DevtoolsSearchQueryEvent) => void, useCapture?: boolean): this;
17532
+ removeEventListener(event: 'devtools-search-query', listener: (event: DevtoolsSearchQueryEvent) => void): this;
15255
17533
  /**
15256
17534
  * Emitted when DevTools is opened.
15257
17535
  */
@@ -15689,6 +17967,33 @@ declare namespace Electron {
15689
17967
  webpreferences: string;
15690
17968
  }
15691
17969
 
17970
+ interface WindowOpenHandlerResponse {
17971
+
17972
+ // Docs: https://electronjs.org/docs/api/structures/window-open-handler-response
17973
+
17974
+ /**
17975
+ * Can be `allow` or `deny`. Controls whether new window should be created.
17976
+ */
17977
+ action: ('allow' | 'deny');
17978
+ /**
17979
+ * If specified, will be called instead of `new BrowserWindow` to create the new
17980
+ * child window and event `did-create-window` will not be emitted. Constructed
17981
+ * child window should use passed `options` object. This can be used for example to
17982
+ * have the new window open as a BrowserView instead of in a separate window.
17983
+ */
17984
+ createWindow?: (options: BrowserWindowConstructorOptions) => WebContents;
17985
+ /**
17986
+ * By default, child windows are closed when their opener is closed. This can be
17987
+ * changed by specifying `outlivesOpener: true`, in which case the opened window
17988
+ * will not be closed when its opener is closed.
17989
+ */
17990
+ outlivesOpener?: boolean;
17991
+ /**
17992
+ * Allows customization of the created window.
17993
+ */
17994
+ overrideBrowserWindowOptions?: BrowserWindowConstructorOptions;
17995
+ }
17996
+
15692
17997
  interface AboutPanelOptionsOptions {
15693
17998
  /**
15694
17999
  * The app's name.
@@ -15728,7 +18033,8 @@ declare namespace Electron {
15728
18033
  website?: string;
15729
18034
  /**
15730
18035
  * Path to the app's icon in a JPEG or PNG file format. On Linux, will be shown as
15731
- * 64x64 pixels while retaining aspect ratio.
18036
+ * 64x64 pixels while retaining aspect ratio. On Windows, a 48x48 PNG will result
18037
+ * in the best visual quality.
15732
18038
  *
15733
18039
  * @platform linux,win32
15734
18040
  */
@@ -15937,6 +18243,30 @@ declare namespace Electron {
15937
18243
  urls?: string[];
15938
18244
  }
15939
18245
 
18246
+ interface ClearDataOptions {
18247
+ /**
18248
+ * The types of data to clear. By default, this will clear all types of data.
18249
+ */
18250
+ dataTypes?: Array<'backgroundFetch' | 'cache' | 'cookies' | 'downloads' | 'fileSystems' | 'indexedDB' | 'localStorage' | 'serviceWorkers' | 'webSQL'>;
18251
+ /**
18252
+ * Clear data for only these origins. Cannot be used with `excludeOrigins`.
18253
+ */
18254
+ origins?: string[];
18255
+ /**
18256
+ * Clear data for all origins except these ones. Cannot be used with `origins`.
18257
+ */
18258
+ excludeOrigins?: string[];
18259
+ /**
18260
+ * Skips deleting cookies that would close current network connections. (Default:
18261
+ * `false`)
18262
+ */
18263
+ avoidClosingConnections?: boolean;
18264
+ /**
18265
+ * The behavior for matching data to origins.
18266
+ */
18267
+ originMatchingMode?: ('third-parties-included' | 'origin-in-all-contexts');
18268
+ }
18269
+
15940
18270
  interface ClearStorageDataOptions {
15941
18271
  /**
15942
18272
  * Should follow `window.location.origin`’s representation `scheme://host:port`.
@@ -16229,13 +18559,6 @@ declare namespace Electron {
16229
18559
  * `select-one`, `submit-button`, and `text-area`,
16230
18560
  */
16231
18561
  formControlType: ('none' | 'button-button' | 'field-set' | 'input-button' | 'input-checkbox' | 'input-color' | 'input-date' | 'input-datetime-local' | 'input-email' | 'input-file' | 'input-hidden' | 'input-image' | 'input-month' | 'input-number' | 'input-password' | 'input-radio' | 'input-range' | 'input-reset' | 'input-search' | 'input-submit' | 'input-telephone' | 'input-text' | 'input-time' | 'input-url' | 'input-week' | 'output' | 'reset-button' | 'select-list' | 'select-list' | 'select-multiple' | 'select-one' | 'submit-button' | 'text-area');
16232
- /**
16233
- * If the context menu was invoked on an input field, the type of that field.
16234
- * Possible values include `none`, `plainText`, `password`, `other`.
16235
- *
16236
- * @deprecated
16237
- */
16238
- inputFieldType: ('none' | 'plainText' | 'password' | 'other');
16239
18562
  /**
16240
18563
  * If the context is editable, whether or not spellchecking is enabled.
16241
18564
  */
@@ -16545,6 +18868,14 @@ declare namespace Electron {
16545
18868
  url: string;
16546
18869
  }
16547
18870
 
18871
+ interface DevtoolsSearchQueryEvent extends DOMEvent {
18872
+ event: Event;
18873
+ /**
18874
+ * text to query for.
18875
+ */
18876
+ query: string;
18877
+ }
18878
+
16548
18879
  interface DidChangeThemeColorEvent extends DOMEvent {
16549
18880
  themeColor: string;
16550
18881
  }
@@ -16710,6 +19041,17 @@ declare namespace Electron {
16710
19041
  uploadThroughput?: number;
16711
19042
  }
16712
19043
 
19044
+ interface EntryAtIndex {
19045
+ /**
19046
+ * The URL of the navigation entry at the given index.
19047
+ */
19048
+ url: string;
19049
+ /**
19050
+ * The page title of the navigation entry at the given index.
19051
+ */
19052
+ title: string;
19053
+ }
19054
+
16713
19055
  interface FeedURLOptions {
16714
19056
  url: string;
16715
19057
  /**
@@ -16730,6 +19072,21 @@ declare namespace Electron {
16730
19072
  size: ('small' | 'normal' | 'large');
16731
19073
  }
16732
19074
 
19075
+ interface FileSystemAccessRestrictedDetails {
19076
+ /**
19077
+ * The origin that initiated access to the blocked path.
19078
+ */
19079
+ origin: string;
19080
+ /**
19081
+ * Whether or not the path is a directory.
19082
+ */
19083
+ isDirectory: boolean;
19084
+ /**
19085
+ * The blocked path attempting to be accessed.
19086
+ */
19087
+ path: string;
19088
+ }
19089
+
16733
19090
  interface FindInPageOptions {
16734
19091
  /**
16735
19092
  * Whether to search forward or backward, defaults to `true`.
@@ -16773,9 +19130,9 @@ declare namespace Electron {
16773
19130
  * Default is `inherit`. String value can be one of `pipe`, `ignore`, `inherit`,
16774
19131
  * for more details on these values you can refer to stdio documentation from
16775
19132
  * Node.js. Currently this option only supports configuring `stdout` and `stderr`
16776
- * to either `pipe`, `inherit` or `ignore`. Configuring `stdin` is not supported;
16777
- * `stdin` will always be ignored. For example, the supported values will be
16778
- * processed as following:
19133
+ * to either `pipe`, `inherit` or `ignore`. Configuring `stdin` to any property
19134
+ * other than `ignore` is not supported and will result in an error. For example,
19135
+ * the supported values will be processed as following:
16779
19136
  */
16780
19137
  stdio?: (Array<'pipe' | 'ignore' | 'inherit'>) | (string);
16781
19138
  /**
@@ -17084,15 +19441,15 @@ declare namespace Electron {
17084
19441
  */
17085
19442
  openAtLogin: boolean;
17086
19443
  /**
17087
- * `true` if the app is set to open as hidden at login. This setting is not
17088
- * available on MAS builds.
19444
+ * `true` if the app is set to open as hidden at login. This does not work on macOS
19445
+ * 13 and up.
17089
19446
  *
19447
+ * @deprecated
17090
19448
  * @platform darwin
17091
19449
  */
17092
19450
  openAsHidden: boolean;
17093
19451
  /**
17094
- * `true` if the app was opened at login automatically. This setting is not
17095
- * available on MAS builds.
19452
+ * `true` if the app was opened at login automatically.
17096
19453
  *
17097
19454
  * @platform darwin
17098
19455
  */
@@ -17100,8 +19457,9 @@ declare namespace Electron {
17100
19457
  /**
17101
19458
  * `true` if the app was opened as a hidden login item. This indicates that the app
17102
19459
  * should not open any windows at startup. This setting is not available on MAS
17103
- * builds.
19460
+ * builds or on macOS 13 and up.
17104
19461
  *
19462
+ * @deprecated
17105
19463
  * @platform darwin
17106
19464
  */
17107
19465
  wasOpenedAsHidden: boolean;
@@ -17109,11 +19467,18 @@ declare namespace Electron {
17109
19467
  * `true` if the app was opened as a login item that should restore the state from
17110
19468
  * the previous session. This indicates that the app should restore the windows
17111
19469
  * that were open the last time the app was closed. This setting is not available
17112
- * on MAS builds.
19470
+ * on MAS builds or on macOS 13 and up.
17113
19471
  *
19472
+ * @deprecated
17114
19473
  * @platform darwin
17115
19474
  */
17116
19475
  restoreState: boolean;
19476
+ /**
19477
+ * can be one of `not-registered`, `enabled`, `requires-approval`, or `not-found`.
19478
+ *
19479
+ * @platform darwin
19480
+ */
19481
+ status: string;
17117
19482
  /**
17118
19483
  * `true` if app is set to open at login and its run key is not deactivated. This
17119
19484
  * differs from `openAtLogin` as it ignores the `args` option, this property will
@@ -17127,6 +19492,21 @@ declare namespace Electron {
17127
19492
  }
17128
19493
 
17129
19494
  interface LoginItemSettingsOptions {
19495
+ /**
19496
+ * Can be one of `mainAppService`, `agentService`, `daemonService`, or
19497
+ * `loginItemService`. Defaults to `mainAppService`. Only available on macOS 13 and
19498
+ * up. See app.setLoginItemSettings for more information about each type.
19499
+ *
19500
+ * @platform darwin
19501
+ */
19502
+ type?: string;
19503
+ /**
19504
+ * The name of the service. Required if `type` is non-default. Only available on
19505
+ * macOS 13 and up.
19506
+ *
19507
+ * @platform darwin
19508
+ */
19509
+ serviceName?: string;
17130
19510
  /**
17131
19511
  * The executable path to compare against. Defaults to `process.execPath`.
17132
19512
  *
@@ -17219,27 +19599,24 @@ declare namespace Electron {
17219
19599
  */
17220
19600
  id?: string;
17221
19601
  /**
17222
- * Inserts this item before the item with the specified label. If the referenced
17223
- * item doesn't exist the item will be inserted at the end of the menu. Also
17224
- * implies that the menu item in question should be placed in the same “group” as
17225
- * the item.
19602
+ * Inserts this item before the item with the specified id. If the referenced item
19603
+ * doesn't exist the item will be inserted at the end of the menu. Also implies
19604
+ * that the menu item in question should be placed in the same “group” as the item.
17226
19605
  */
17227
19606
  before?: string[];
17228
19607
  /**
17229
- * Inserts this item after the item with the specified label. If the referenced
17230
- * item doesn't exist the item will be inserted at the end of the menu.
19608
+ * Inserts this item after the item with the specified id. If the referenced item
19609
+ * doesn't exist the item will be inserted at the end of the menu.
17231
19610
  */
17232
19611
  after?: string[];
17233
19612
  /**
17234
19613
  * Provides a means for a single context menu to declare the placement of their
17235
- * containing group before the containing group of the item with the specified
17236
- * label.
19614
+ * containing group before the containing group of the item with the specified id.
17237
19615
  */
17238
19616
  beforeGroupContaining?: string[];
17239
19617
  /**
17240
19618
  * Provides a means for a single context menu to declare the placement of their
17241
- * containing group after the containing group of the item with the specified
17242
- * label.
19619
+ * containing group after the containing group of the item with the specified id.
17243
19620
  */
17244
19621
  afterGroupContaining?: string[];
17245
19622
  }
@@ -17892,29 +20269,6 @@ declare namespace Electron {
17892
20269
  isMainFrame: boolean;
17893
20270
  }
17894
20271
 
17895
- interface PermissionRequestHandlerHandlerDetails {
17896
- /**
17897
- * The url of the `openExternal` request.
17898
- */
17899
- externalURL?: string;
17900
- /**
17901
- * The security origin of the `media` request.
17902
- */
17903
- securityOrigin?: string;
17904
- /**
17905
- * The types of media access being requested, elements can be `video` or `audio`
17906
- */
17907
- mediaTypes?: Array<'video' | 'audio'>;
17908
- /**
17909
- * The last URL the requesting frame loaded
17910
- */
17911
- requestingUrl: string;
17912
- /**
17913
- * Whether the frame making the request is the main frame
17914
- */
17915
- isMainFrame: boolean;
17916
- }
17917
-
17918
20272
  interface PluginCrashedEvent extends DOMEvent {
17919
20273
  name: string;
17920
20274
  version: string;
@@ -18024,6 +20378,13 @@ declare namespace Electron {
18024
20378
  * @experimental
18025
20379
  */
18026
20380
  generateTaggedPDF?: boolean;
20381
+ /**
20382
+ * Whether or not to generate a PDF document outline from content headers. Defaults
20383
+ * to false.
20384
+ *
20385
+ * @experimental
20386
+ */
20387
+ generateDocumentOutline?: boolean;
18027
20388
  }
18028
20389
 
18029
20390
  interface Privileges {
@@ -18353,11 +20714,27 @@ declare namespace Electron {
18353
20714
  * `true` to open the app as hidden. Defaults to `false`. The user can edit this
18354
20715
  * setting from the System Preferences so
18355
20716
  * `app.getLoginItemSettings().wasOpenedAsHidden` should be checked when the app is
18356
- * opened to know the current value. This setting is not available on MAS builds.
20717
+ * opened to know the current value. This setting is not available on MAS builds or
20718
+ * on macOS 13 and up.
18357
20719
  *
20720
+ * @deprecated
18358
20721
  * @platform darwin
18359
20722
  */
18360
20723
  openAsHidden?: boolean;
20724
+ /**
20725
+ * The type of service to add as a login item. Defaults to `mainAppService`. Only
20726
+ * available on macOS 13 and up.
20727
+ *
20728
+ * @platform darwin
20729
+ */
20730
+ type?: ('mainAppService' | 'agentService' | 'daemonService' | 'loginItemService');
20731
+ /**
20732
+ * The name of the service. Required if `type` is non-default. Only available on
20733
+ * macOS 13 and up.
20734
+ *
20735
+ * @platform darwin
20736
+ */
20737
+ serviceName?: string;
18361
20738
  /**
18362
20739
  * The executable to launch at login. Defaults to `process.execPath`.
18363
20740
  *
@@ -18379,8 +20756,7 @@ declare namespace Electron {
18379
20756
  */
18380
20757
  enabled?: boolean;
18381
20758
  /**
18382
- * value name to write into registry. Defaults to the app's AppUserModelId(). Set
18383
- * the app's login item settings.
20759
+ * value name to write into registry. Defaults to the app's AppUserModelId().
18384
20760
  *
18385
20761
  * @platform win32
18386
20762
  */
@@ -18468,7 +20844,7 @@ declare namespace Electron {
18468
20844
  * The CSS color of the Window Controls Overlay when enabled. Default is the system
18469
20845
  * color.
18470
20846
  *
18471
- * @platform win32
20847
+ * @platform win32,linux
18472
20848
  */
18473
20849
  color?: string;
18474
20850
  /**
@@ -18481,8 +20857,21 @@ declare namespace Electron {
18481
20857
  /**
18482
20858
  * The height of the title bar and Window Controls Overlay in pixels. Default is
18483
20859
  * system height.
18484
- *
18485
- * @platform darwin,win32
20860
+ */
20861
+ height?: number;
20862
+ }
20863
+
20864
+ interface TitleBarOverlayOptions {
20865
+ /**
20866
+ * The CSS color of the Window Controls Overlay when enabled.
20867
+ */
20868
+ color?: string;
20869
+ /**
20870
+ * The CSS color of the symbols on the Window Controls Overlay when enabled.
20871
+ */
20872
+ symbolColor?: string;
20873
+ /**
20874
+ * The height of the title bar and Window Controls Overlay in pixels.
18486
20875
  */
18487
20876
  height?: number;
18488
20877
  }
@@ -18906,6 +21295,18 @@ declare namespace Electron {
18906
21295
  pageSize?: (('A0' | 'A1' | 'A2' | 'A3' | 'A4' | 'A5' | 'A6' | 'Legal' | 'Letter' | 'Tabloid')) | (Size);
18907
21296
  }
18908
21297
 
21298
+ interface WebContentsViewConstructorOptions {
21299
+ /**
21300
+ * Settings of web page's features.
21301
+ */
21302
+ webPreferences?: WebPreferences;
21303
+ /**
21304
+ * If present, the given WebContents will be adopted by the WebContentsView. A
21305
+ * WebContents may only be presented in one WebContentsView at a time.
21306
+ */
21307
+ webContents?: WebContents;
21308
+ }
21309
+
18909
21310
  interface WebContentsWillFrameNavigateEventParams {
18910
21311
  /**
18911
21312
  * The URL the frame is navigating to.
@@ -19362,13 +21763,6 @@ declare namespace Electron {
19362
21763
  * `select-one`, `submit-button`, and `text-area`,
19363
21764
  */
19364
21765
  formControlType: ('none' | 'button-button' | 'field-set' | 'input-button' | 'input-checkbox' | 'input-color' | 'input-date' | 'input-datetime-local' | 'input-email' | 'input-file' | 'input-hidden' | 'input-image' | 'input-month' | 'input-number' | 'input-password' | 'input-radio' | 'input-range' | 'input-reset' | 'input-search' | 'input-submit' | 'input-telephone' | 'input-text' | 'input-time' | 'input-url' | 'input-week' | 'output' | 'reset-button' | 'select-list' | 'select-list' | 'select-multiple' | 'select-one' | 'submit-button' | 'text-area');
19365
- /**
19366
- * If the context menu was invoked on an input field, the type of that field.
19367
- * Possible values include `none`, `plainText`, `password`, `other`.
19368
- *
19369
- * @deprecated
19370
- */
19371
- inputFieldType: ('none' | 'plainText' | 'password' | 'other');
19372
21766
  /**
19373
21767
  * If the context is editable, whether or not spellchecking is enabled.
19374
21768
  */
@@ -19432,6 +21826,7 @@ declare namespace Electron {
19432
21826
  type CallbackResponse = Electron.CallbackResponse;
19433
21827
  type CertificateTrustDialogOptions = Electron.CertificateTrustDialogOptions;
19434
21828
  type ClearCodeCachesOptions = Electron.ClearCodeCachesOptions;
21829
+ type ClearDataOptions = Electron.ClearDataOptions;
19435
21830
  type ClearStorageDataOptions = Electron.ClearStorageDataOptions;
19436
21831
  type ClientRequestConstructorOptions = Electron.ClientRequestConstructorOptions;
19437
21832
  type CloseOpts = Electron.CloseOpts;
@@ -19452,6 +21847,7 @@ declare namespace Electron {
19452
21847
  type Details = Electron.Details;
19453
21848
  type DevicePermissionHandlerHandlerDetails = Electron.DevicePermissionHandlerHandlerDetails;
19454
21849
  type DevtoolsOpenUrlEvent = Electron.DevtoolsOpenUrlEvent;
21850
+ type DevtoolsSearchQueryEvent = Electron.DevtoolsSearchQueryEvent;
19455
21851
  type DidChangeThemeColorEvent = Electron.DidChangeThemeColorEvent;
19456
21852
  type DidCreateWindowDetails = Electron.DidCreateWindowDetails;
19457
21853
  type DidFailLoadEvent = Electron.DidFailLoadEvent;
@@ -19465,8 +21861,10 @@ declare namespace Electron {
19465
21861
  type DisplayMediaRequestHandlerHandlerRequest = Electron.DisplayMediaRequestHandlerHandlerRequest;
19466
21862
  type DownloadURLOptions = Electron.DownloadURLOptions;
19467
21863
  type EnableNetworkEmulationOptions = Electron.EnableNetworkEmulationOptions;
21864
+ type EntryAtIndex = Electron.EntryAtIndex;
19468
21865
  type FeedURLOptions = Electron.FeedURLOptions;
19469
21866
  type FileIconOptions = Electron.FileIconOptions;
21867
+ type FileSystemAccessRestrictedDetails = Electron.FileSystemAccessRestrictedDetails;
19470
21868
  type FindInPageOptions = Electron.FindInPageOptions;
19471
21869
  type FocusOptions = Electron.FocusOptions;
19472
21870
  type ForkOptions = Electron.ForkOptions;
@@ -19522,7 +21920,6 @@ declare namespace Electron {
19522
21920
  type Parameters = Electron.Parameters;
19523
21921
  type Payment = Electron.Payment;
19524
21922
  type PermissionCheckHandlerHandlerDetails = Electron.PermissionCheckHandlerHandlerDetails;
19525
- type PermissionRequestHandlerHandlerDetails = Electron.PermissionRequestHandlerHandlerDetails;
19526
21923
  type PluginCrashedEvent = Electron.PluginCrashedEvent;
19527
21924
  type PopupOptions = Electron.PopupOptions;
19528
21925
  type PreconnectOptions = Electron.PreconnectOptions;
@@ -19553,6 +21950,7 @@ declare namespace Electron {
19553
21950
  type Streams = Electron.Streams;
19554
21951
  type SystemMemoryInfo = Electron.SystemMemoryInfo;
19555
21952
  type TitleBarOverlay = Electron.TitleBarOverlay;
21953
+ type TitleBarOverlayOptions = Electron.TitleBarOverlayOptions;
19556
21954
  type TitleOptions = Electron.TitleOptions;
19557
21955
  type ToBitmapOptions = Electron.ToBitmapOptions;
19558
21956
  type ToDataURLOptions = Electron.ToDataURLOptions;
@@ -19578,6 +21976,7 @@ declare namespace Electron {
19578
21976
  type WebContentsDidRedirectNavigationEventParams = Electron.WebContentsDidRedirectNavigationEventParams;
19579
21977
  type WebContentsDidStartNavigationEventParams = Electron.WebContentsDidStartNavigationEventParams;
19580
21978
  type WebContentsPrintOptions = Electron.WebContentsPrintOptions;
21979
+ type WebContentsViewConstructorOptions = Electron.WebContentsViewConstructorOptions;
19581
21980
  type WebContentsWillFrameNavigateEventParams = Electron.WebContentsWillFrameNavigateEventParams;
19582
21981
  type WebContentsWillNavigateEventParams = Electron.WebContentsWillNavigateEventParams;
19583
21982
  type WebContentsWillRedirectEventParams = Electron.WebContentsWillRedirectEventParams;
@@ -19595,6 +21994,7 @@ declare namespace Electron {
19595
21994
  type PageRanges = Electron.PageRanges;
19596
21995
  type Params = Electron.Params;
19597
21996
  type Video = Electron.Video;
21997
+ type BaseWindowConstructorOptions = Electron.BaseWindowConstructorOptions;
19598
21998
  type BrowserWindowConstructorOptions = Electron.BrowserWindowConstructorOptions;
19599
21999
  type BluetoothDevice = Electron.BluetoothDevice;
19600
22000
  type Certificate = Electron.Certificate;
@@ -19609,10 +22009,10 @@ declare namespace Electron {
19609
22009
  type ExtensionInfo = Electron.ExtensionInfo;
19610
22010
  type FileFilter = Electron.FileFilter;
19611
22011
  type FilePathWithHeaders = Electron.FilePathWithHeaders;
22012
+ type FilesystemPermissionRequest = Electron.FilesystemPermissionRequest;
19612
22013
  type GPUFeatureStatus = Electron.GPUFeatureStatus;
19613
22014
  type HIDDevice = Electron.HIDDevice;
19614
22015
  type InputEvent = Electron.InputEvent;
19615
- type IOCounters = Electron.IOCounters;
19616
22016
  type IpcMainEvent = Electron.IpcMainEvent;
19617
22017
  type IpcMainInvokeEvent = Electron.IpcMainInvokeEvent;
19618
22018
  type IpcRendererEvent = Electron.IpcRendererEvent;
@@ -19620,6 +22020,7 @@ declare namespace Electron {
19620
22020
  type JumpListItem = Electron.JumpListItem;
19621
22021
  type KeyboardEvent = Electron.KeyboardEvent;
19622
22022
  type KeyboardInputEvent = Electron.KeyboardInputEvent;
22023
+ type MediaAccessPermissionRequest = Electron.MediaAccessPermissionRequest;
19623
22024
  type MemoryInfo = Electron.MemoryInfo;
19624
22025
  type MemoryUsageDetails = Electron.MemoryUsageDetails;
19625
22026
  type MimeTypedBuffer = Electron.MimeTypedBuffer;
@@ -19627,7 +22028,9 @@ declare namespace Electron {
19627
22028
  type MouseWheelInputEvent = Electron.MouseWheelInputEvent;
19628
22029
  type NotificationAction = Electron.NotificationAction;
19629
22030
  type NotificationResponse = Electron.NotificationResponse;
22031
+ type OpenExternalPermissionRequest = Electron.OpenExternalPermissionRequest;
19630
22032
  type PaymentDiscount = Electron.PaymentDiscount;
22033
+ type PermissionRequest = Electron.PermissionRequest;
19631
22034
  type Point = Electron.Point;
19632
22035
  type PostBody = Electron.PostBody;
19633
22036
  type PrinterInfo = Electron.PrinterInfo;
@@ -19666,6 +22069,7 @@ declare namespace Electron {
19666
22069
  type WebPreferences = Electron.WebPreferences;
19667
22070
  type WebRequestFilter = Electron.WebRequestFilter;
19668
22071
  type WebSource = Electron.WebSource;
22072
+ type WindowOpenHandlerResponse = Electron.WindowOpenHandlerResponse;
19669
22073
  }
19670
22074
 
19671
22075
  namespace Main {
@@ -19674,6 +22078,7 @@ declare namespace Electron {
19674
22078
  type App = Electron.App;
19675
22079
  const autoUpdater: AutoUpdater;
19676
22080
  type AutoUpdater = Electron.AutoUpdater;
22081
+ class BaseWindow extends Electron.BaseWindow {}
19677
22082
  class BrowserView extends Electron.BrowserView {}
19678
22083
  class BrowserWindow extends Electron.BrowserWindow {}
19679
22084
  type ClientRequest = Electron.ClientRequest;
@@ -19701,6 +22106,7 @@ declare namespace Electron {
19701
22106
  type MessagePortMain = Electron.MessagePortMain;
19702
22107
  const nativeTheme: NativeTheme;
19703
22108
  type NativeTheme = Electron.NativeTheme;
22109
+ type NavigationHistory = Electron.NavigationHistory;
19704
22110
  const net: Net;
19705
22111
  type Net = Electron.Net;
19706
22112
  const netLog: NetLog;
@@ -19738,8 +22144,10 @@ declare namespace Electron {
19738
22144
  class Tray extends Electron.Tray {}
19739
22145
  const utilityProcess: typeof UtilityProcess;
19740
22146
  type UtilityProcess = Electron.UtilityProcess;
22147
+ class View extends Electron.View {}
19741
22148
  const webContents: typeof WebContents;
19742
22149
  type WebContents = Electron.WebContents;
22150
+ class WebContentsView extends Electron.WebContentsView {}
19743
22151
  const webFrameMain: typeof WebFrameMain;
19744
22152
  type WebFrameMain = Electron.WebFrameMain;
19745
22153
  type WebRequest = Electron.WebRequest;
@@ -19760,6 +22168,7 @@ declare namespace Electron {
19760
22168
  type CallbackResponse = Electron.CallbackResponse;
19761
22169
  type CertificateTrustDialogOptions = Electron.CertificateTrustDialogOptions;
19762
22170
  type ClearCodeCachesOptions = Electron.ClearCodeCachesOptions;
22171
+ type ClearDataOptions = Electron.ClearDataOptions;
19763
22172
  type ClearStorageDataOptions = Electron.ClearStorageDataOptions;
19764
22173
  type ClientRequestConstructorOptions = Electron.ClientRequestConstructorOptions;
19765
22174
  type CloseOpts = Electron.CloseOpts;
@@ -19780,6 +22189,7 @@ declare namespace Electron {
19780
22189
  type Details = Electron.Details;
19781
22190
  type DevicePermissionHandlerHandlerDetails = Electron.DevicePermissionHandlerHandlerDetails;
19782
22191
  type DevtoolsOpenUrlEvent = Electron.DevtoolsOpenUrlEvent;
22192
+ type DevtoolsSearchQueryEvent = Electron.DevtoolsSearchQueryEvent;
19783
22193
  type DidChangeThemeColorEvent = Electron.DidChangeThemeColorEvent;
19784
22194
  type DidCreateWindowDetails = Electron.DidCreateWindowDetails;
19785
22195
  type DidFailLoadEvent = Electron.DidFailLoadEvent;
@@ -19793,8 +22203,10 @@ declare namespace Electron {
19793
22203
  type DisplayMediaRequestHandlerHandlerRequest = Electron.DisplayMediaRequestHandlerHandlerRequest;
19794
22204
  type DownloadURLOptions = Electron.DownloadURLOptions;
19795
22205
  type EnableNetworkEmulationOptions = Electron.EnableNetworkEmulationOptions;
22206
+ type EntryAtIndex = Electron.EntryAtIndex;
19796
22207
  type FeedURLOptions = Electron.FeedURLOptions;
19797
22208
  type FileIconOptions = Electron.FileIconOptions;
22209
+ type FileSystemAccessRestrictedDetails = Electron.FileSystemAccessRestrictedDetails;
19798
22210
  type FindInPageOptions = Electron.FindInPageOptions;
19799
22211
  type FocusOptions = Electron.FocusOptions;
19800
22212
  type ForkOptions = Electron.ForkOptions;
@@ -19850,7 +22262,6 @@ declare namespace Electron {
19850
22262
  type Parameters = Electron.Parameters;
19851
22263
  type Payment = Electron.Payment;
19852
22264
  type PermissionCheckHandlerHandlerDetails = Electron.PermissionCheckHandlerHandlerDetails;
19853
- type PermissionRequestHandlerHandlerDetails = Electron.PermissionRequestHandlerHandlerDetails;
19854
22265
  type PluginCrashedEvent = Electron.PluginCrashedEvent;
19855
22266
  type PopupOptions = Electron.PopupOptions;
19856
22267
  type PreconnectOptions = Electron.PreconnectOptions;
@@ -19881,6 +22292,7 @@ declare namespace Electron {
19881
22292
  type Streams = Electron.Streams;
19882
22293
  type SystemMemoryInfo = Electron.SystemMemoryInfo;
19883
22294
  type TitleBarOverlay = Electron.TitleBarOverlay;
22295
+ type TitleBarOverlayOptions = Electron.TitleBarOverlayOptions;
19884
22296
  type TitleOptions = Electron.TitleOptions;
19885
22297
  type ToBitmapOptions = Electron.ToBitmapOptions;
19886
22298
  type ToDataURLOptions = Electron.ToDataURLOptions;
@@ -19906,6 +22318,7 @@ declare namespace Electron {
19906
22318
  type WebContentsDidRedirectNavigationEventParams = Electron.WebContentsDidRedirectNavigationEventParams;
19907
22319
  type WebContentsDidStartNavigationEventParams = Electron.WebContentsDidStartNavigationEventParams;
19908
22320
  type WebContentsPrintOptions = Electron.WebContentsPrintOptions;
22321
+ type WebContentsViewConstructorOptions = Electron.WebContentsViewConstructorOptions;
19909
22322
  type WebContentsWillFrameNavigateEventParams = Electron.WebContentsWillFrameNavigateEventParams;
19910
22323
  type WebContentsWillNavigateEventParams = Electron.WebContentsWillNavigateEventParams;
19911
22324
  type WebContentsWillRedirectEventParams = Electron.WebContentsWillRedirectEventParams;
@@ -19923,6 +22336,7 @@ declare namespace Electron {
19923
22336
  type PageRanges = Electron.PageRanges;
19924
22337
  type Params = Electron.Params;
19925
22338
  type Video = Electron.Video;
22339
+ type BaseWindowConstructorOptions = Electron.BaseWindowConstructorOptions;
19926
22340
  type BrowserWindowConstructorOptions = Electron.BrowserWindowConstructorOptions;
19927
22341
  type BluetoothDevice = Electron.BluetoothDevice;
19928
22342
  type Certificate = Electron.Certificate;
@@ -19937,10 +22351,10 @@ declare namespace Electron {
19937
22351
  type ExtensionInfo = Electron.ExtensionInfo;
19938
22352
  type FileFilter = Electron.FileFilter;
19939
22353
  type FilePathWithHeaders = Electron.FilePathWithHeaders;
22354
+ type FilesystemPermissionRequest = Electron.FilesystemPermissionRequest;
19940
22355
  type GPUFeatureStatus = Electron.GPUFeatureStatus;
19941
22356
  type HIDDevice = Electron.HIDDevice;
19942
22357
  type InputEvent = Electron.InputEvent;
19943
- type IOCounters = Electron.IOCounters;
19944
22358
  type IpcMainEvent = Electron.IpcMainEvent;
19945
22359
  type IpcMainInvokeEvent = Electron.IpcMainInvokeEvent;
19946
22360
  type IpcRendererEvent = Electron.IpcRendererEvent;
@@ -19948,6 +22362,7 @@ declare namespace Electron {
19948
22362
  type JumpListItem = Electron.JumpListItem;
19949
22363
  type KeyboardEvent = Electron.KeyboardEvent;
19950
22364
  type KeyboardInputEvent = Electron.KeyboardInputEvent;
22365
+ type MediaAccessPermissionRequest = Electron.MediaAccessPermissionRequest;
19951
22366
  type MemoryInfo = Electron.MemoryInfo;
19952
22367
  type MemoryUsageDetails = Electron.MemoryUsageDetails;
19953
22368
  type MimeTypedBuffer = Electron.MimeTypedBuffer;
@@ -19955,7 +22370,9 @@ declare namespace Electron {
19955
22370
  type MouseWheelInputEvent = Electron.MouseWheelInputEvent;
19956
22371
  type NotificationAction = Electron.NotificationAction;
19957
22372
  type NotificationResponse = Electron.NotificationResponse;
22373
+ type OpenExternalPermissionRequest = Electron.OpenExternalPermissionRequest;
19958
22374
  type PaymentDiscount = Electron.PaymentDiscount;
22375
+ type PermissionRequest = Electron.PermissionRequest;
19959
22376
  type Point = Electron.Point;
19960
22377
  type PostBody = Electron.PostBody;
19961
22378
  type PrinterInfo = Electron.PrinterInfo;
@@ -19994,6 +22411,7 @@ declare namespace Electron {
19994
22411
  type WebPreferences = Electron.WebPreferences;
19995
22412
  type WebRequestFilter = Electron.WebRequestFilter;
19996
22413
  type WebSource = Electron.WebSource;
22414
+ type WindowOpenHandlerResponse = Electron.WindowOpenHandlerResponse;
19997
22415
  }
19998
22416
 
19999
22417
  namespace Renderer {
@@ -20004,6 +22422,8 @@ declare namespace Electron {
20004
22422
  type IpcRenderer = Electron.IpcRenderer;
20005
22423
  const webFrame: WebFrame;
20006
22424
  type WebFrame = Electron.WebFrame;
22425
+ const webUtils: WebUtils;
22426
+ type WebUtils = Electron.WebUtils;
20007
22427
  type WebviewTag = Electron.WebviewTag;
20008
22428
  type AboutPanelOptionsOptions = Electron.AboutPanelOptionsOptions;
20009
22429
  type AddRepresentationOptions = Electron.AddRepresentationOptions;
@@ -20022,6 +22442,7 @@ declare namespace Electron {
20022
22442
  type CallbackResponse = Electron.CallbackResponse;
20023
22443
  type CertificateTrustDialogOptions = Electron.CertificateTrustDialogOptions;
20024
22444
  type ClearCodeCachesOptions = Electron.ClearCodeCachesOptions;
22445
+ type ClearDataOptions = Electron.ClearDataOptions;
20025
22446
  type ClearStorageDataOptions = Electron.ClearStorageDataOptions;
20026
22447
  type ClientRequestConstructorOptions = Electron.ClientRequestConstructorOptions;
20027
22448
  type CloseOpts = Electron.CloseOpts;
@@ -20042,6 +22463,7 @@ declare namespace Electron {
20042
22463
  type Details = Electron.Details;
20043
22464
  type DevicePermissionHandlerHandlerDetails = Electron.DevicePermissionHandlerHandlerDetails;
20044
22465
  type DevtoolsOpenUrlEvent = Electron.DevtoolsOpenUrlEvent;
22466
+ type DevtoolsSearchQueryEvent = Electron.DevtoolsSearchQueryEvent;
20045
22467
  type DidChangeThemeColorEvent = Electron.DidChangeThemeColorEvent;
20046
22468
  type DidCreateWindowDetails = Electron.DidCreateWindowDetails;
20047
22469
  type DidFailLoadEvent = Electron.DidFailLoadEvent;
@@ -20055,8 +22477,10 @@ declare namespace Electron {
20055
22477
  type DisplayMediaRequestHandlerHandlerRequest = Electron.DisplayMediaRequestHandlerHandlerRequest;
20056
22478
  type DownloadURLOptions = Electron.DownloadURLOptions;
20057
22479
  type EnableNetworkEmulationOptions = Electron.EnableNetworkEmulationOptions;
22480
+ type EntryAtIndex = Electron.EntryAtIndex;
20058
22481
  type FeedURLOptions = Electron.FeedURLOptions;
20059
22482
  type FileIconOptions = Electron.FileIconOptions;
22483
+ type FileSystemAccessRestrictedDetails = Electron.FileSystemAccessRestrictedDetails;
20060
22484
  type FindInPageOptions = Electron.FindInPageOptions;
20061
22485
  type FocusOptions = Electron.FocusOptions;
20062
22486
  type ForkOptions = Electron.ForkOptions;
@@ -20112,7 +22536,6 @@ declare namespace Electron {
20112
22536
  type Parameters = Electron.Parameters;
20113
22537
  type Payment = Electron.Payment;
20114
22538
  type PermissionCheckHandlerHandlerDetails = Electron.PermissionCheckHandlerHandlerDetails;
20115
- type PermissionRequestHandlerHandlerDetails = Electron.PermissionRequestHandlerHandlerDetails;
20116
22539
  type PluginCrashedEvent = Electron.PluginCrashedEvent;
20117
22540
  type PopupOptions = Electron.PopupOptions;
20118
22541
  type PreconnectOptions = Electron.PreconnectOptions;
@@ -20143,6 +22566,7 @@ declare namespace Electron {
20143
22566
  type Streams = Electron.Streams;
20144
22567
  type SystemMemoryInfo = Electron.SystemMemoryInfo;
20145
22568
  type TitleBarOverlay = Electron.TitleBarOverlay;
22569
+ type TitleBarOverlayOptions = Electron.TitleBarOverlayOptions;
20146
22570
  type TitleOptions = Electron.TitleOptions;
20147
22571
  type ToBitmapOptions = Electron.ToBitmapOptions;
20148
22572
  type ToDataURLOptions = Electron.ToDataURLOptions;
@@ -20168,6 +22592,7 @@ declare namespace Electron {
20168
22592
  type WebContentsDidRedirectNavigationEventParams = Electron.WebContentsDidRedirectNavigationEventParams;
20169
22593
  type WebContentsDidStartNavigationEventParams = Electron.WebContentsDidStartNavigationEventParams;
20170
22594
  type WebContentsPrintOptions = Electron.WebContentsPrintOptions;
22595
+ type WebContentsViewConstructorOptions = Electron.WebContentsViewConstructorOptions;
20171
22596
  type WebContentsWillFrameNavigateEventParams = Electron.WebContentsWillFrameNavigateEventParams;
20172
22597
  type WebContentsWillNavigateEventParams = Electron.WebContentsWillNavigateEventParams;
20173
22598
  type WebContentsWillRedirectEventParams = Electron.WebContentsWillRedirectEventParams;
@@ -20185,6 +22610,7 @@ declare namespace Electron {
20185
22610
  type PageRanges = Electron.PageRanges;
20186
22611
  type Params = Electron.Params;
20187
22612
  type Video = Electron.Video;
22613
+ type BaseWindowConstructorOptions = Electron.BaseWindowConstructorOptions;
20188
22614
  type BrowserWindowConstructorOptions = Electron.BrowserWindowConstructorOptions;
20189
22615
  type BluetoothDevice = Electron.BluetoothDevice;
20190
22616
  type Certificate = Electron.Certificate;
@@ -20199,10 +22625,10 @@ declare namespace Electron {
20199
22625
  type ExtensionInfo = Electron.ExtensionInfo;
20200
22626
  type FileFilter = Electron.FileFilter;
20201
22627
  type FilePathWithHeaders = Electron.FilePathWithHeaders;
22628
+ type FilesystemPermissionRequest = Electron.FilesystemPermissionRequest;
20202
22629
  type GPUFeatureStatus = Electron.GPUFeatureStatus;
20203
22630
  type HIDDevice = Electron.HIDDevice;
20204
22631
  type InputEvent = Electron.InputEvent;
20205
- type IOCounters = Electron.IOCounters;
20206
22632
  type IpcMainEvent = Electron.IpcMainEvent;
20207
22633
  type IpcMainInvokeEvent = Electron.IpcMainInvokeEvent;
20208
22634
  type IpcRendererEvent = Electron.IpcRendererEvent;
@@ -20210,6 +22636,7 @@ declare namespace Electron {
20210
22636
  type JumpListItem = Electron.JumpListItem;
20211
22637
  type KeyboardEvent = Electron.KeyboardEvent;
20212
22638
  type KeyboardInputEvent = Electron.KeyboardInputEvent;
22639
+ type MediaAccessPermissionRequest = Electron.MediaAccessPermissionRequest;
20213
22640
  type MemoryInfo = Electron.MemoryInfo;
20214
22641
  type MemoryUsageDetails = Electron.MemoryUsageDetails;
20215
22642
  type MimeTypedBuffer = Electron.MimeTypedBuffer;
@@ -20217,7 +22644,9 @@ declare namespace Electron {
20217
22644
  type MouseWheelInputEvent = Electron.MouseWheelInputEvent;
20218
22645
  type NotificationAction = Electron.NotificationAction;
20219
22646
  type NotificationResponse = Electron.NotificationResponse;
22647
+ type OpenExternalPermissionRequest = Electron.OpenExternalPermissionRequest;
20220
22648
  type PaymentDiscount = Electron.PaymentDiscount;
22649
+ type PermissionRequest = Electron.PermissionRequest;
20221
22650
  type Point = Electron.Point;
20222
22651
  type PostBody = Electron.PostBody;
20223
22652
  type PrinterInfo = Electron.PrinterInfo;
@@ -20256,6 +22685,7 @@ declare namespace Electron {
20256
22685
  type WebPreferences = Electron.WebPreferences;
20257
22686
  type WebRequestFilter = Electron.WebRequestFilter;
20258
22687
  type WebSource = Electron.WebSource;
22688
+ type WindowOpenHandlerResponse = Electron.WindowOpenHandlerResponse;
20259
22689
  }
20260
22690
 
20261
22691
  namespace Utility {
@@ -20264,6 +22694,8 @@ declare namespace Electron {
20264
22694
  type IncomingMessage = Electron.IncomingMessage;
20265
22695
  const net: Net;
20266
22696
  type Net = Electron.Net;
22697
+ const systemPreferences: SystemPreferences;
22698
+ type SystemPreferences = Electron.SystemPreferences;
20267
22699
  type AboutPanelOptionsOptions = Electron.AboutPanelOptionsOptions;
20268
22700
  type AddRepresentationOptions = Electron.AddRepresentationOptions;
20269
22701
  type AdjustSelectionOptions = Electron.AdjustSelectionOptions;
@@ -20281,6 +22713,7 @@ declare namespace Electron {
20281
22713
  type CallbackResponse = Electron.CallbackResponse;
20282
22714
  type CertificateTrustDialogOptions = Electron.CertificateTrustDialogOptions;
20283
22715
  type ClearCodeCachesOptions = Electron.ClearCodeCachesOptions;
22716
+ type ClearDataOptions = Electron.ClearDataOptions;
20284
22717
  type ClearStorageDataOptions = Electron.ClearStorageDataOptions;
20285
22718
  type ClientRequestConstructorOptions = Electron.ClientRequestConstructorOptions;
20286
22719
  type CloseOpts = Electron.CloseOpts;
@@ -20301,6 +22734,7 @@ declare namespace Electron {
20301
22734
  type Details = Electron.Details;
20302
22735
  type DevicePermissionHandlerHandlerDetails = Electron.DevicePermissionHandlerHandlerDetails;
20303
22736
  type DevtoolsOpenUrlEvent = Electron.DevtoolsOpenUrlEvent;
22737
+ type DevtoolsSearchQueryEvent = Electron.DevtoolsSearchQueryEvent;
20304
22738
  type DidChangeThemeColorEvent = Electron.DidChangeThemeColorEvent;
20305
22739
  type DidCreateWindowDetails = Electron.DidCreateWindowDetails;
20306
22740
  type DidFailLoadEvent = Electron.DidFailLoadEvent;
@@ -20314,8 +22748,10 @@ declare namespace Electron {
20314
22748
  type DisplayMediaRequestHandlerHandlerRequest = Electron.DisplayMediaRequestHandlerHandlerRequest;
20315
22749
  type DownloadURLOptions = Electron.DownloadURLOptions;
20316
22750
  type EnableNetworkEmulationOptions = Electron.EnableNetworkEmulationOptions;
22751
+ type EntryAtIndex = Electron.EntryAtIndex;
20317
22752
  type FeedURLOptions = Electron.FeedURLOptions;
20318
22753
  type FileIconOptions = Electron.FileIconOptions;
22754
+ type FileSystemAccessRestrictedDetails = Electron.FileSystemAccessRestrictedDetails;
20319
22755
  type FindInPageOptions = Electron.FindInPageOptions;
20320
22756
  type FocusOptions = Electron.FocusOptions;
20321
22757
  type ForkOptions = Electron.ForkOptions;
@@ -20371,7 +22807,6 @@ declare namespace Electron {
20371
22807
  type Parameters = Electron.Parameters;
20372
22808
  type Payment = Electron.Payment;
20373
22809
  type PermissionCheckHandlerHandlerDetails = Electron.PermissionCheckHandlerHandlerDetails;
20374
- type PermissionRequestHandlerHandlerDetails = Electron.PermissionRequestHandlerHandlerDetails;
20375
22810
  type PluginCrashedEvent = Electron.PluginCrashedEvent;
20376
22811
  type PopupOptions = Electron.PopupOptions;
20377
22812
  type PreconnectOptions = Electron.PreconnectOptions;
@@ -20402,6 +22837,7 @@ declare namespace Electron {
20402
22837
  type Streams = Electron.Streams;
20403
22838
  type SystemMemoryInfo = Electron.SystemMemoryInfo;
20404
22839
  type TitleBarOverlay = Electron.TitleBarOverlay;
22840
+ type TitleBarOverlayOptions = Electron.TitleBarOverlayOptions;
20405
22841
  type TitleOptions = Electron.TitleOptions;
20406
22842
  type ToBitmapOptions = Electron.ToBitmapOptions;
20407
22843
  type ToDataURLOptions = Electron.ToDataURLOptions;
@@ -20427,6 +22863,7 @@ declare namespace Electron {
20427
22863
  type WebContentsDidRedirectNavigationEventParams = Electron.WebContentsDidRedirectNavigationEventParams;
20428
22864
  type WebContentsDidStartNavigationEventParams = Electron.WebContentsDidStartNavigationEventParams;
20429
22865
  type WebContentsPrintOptions = Electron.WebContentsPrintOptions;
22866
+ type WebContentsViewConstructorOptions = Electron.WebContentsViewConstructorOptions;
20430
22867
  type WebContentsWillFrameNavigateEventParams = Electron.WebContentsWillFrameNavigateEventParams;
20431
22868
  type WebContentsWillNavigateEventParams = Electron.WebContentsWillNavigateEventParams;
20432
22869
  type WebContentsWillRedirectEventParams = Electron.WebContentsWillRedirectEventParams;
@@ -20444,6 +22881,7 @@ declare namespace Electron {
20444
22881
  type PageRanges = Electron.PageRanges;
20445
22882
  type Params = Electron.Params;
20446
22883
  type Video = Electron.Video;
22884
+ type BaseWindowConstructorOptions = Electron.BaseWindowConstructorOptions;
20447
22885
  type BrowserWindowConstructorOptions = Electron.BrowserWindowConstructorOptions;
20448
22886
  type BluetoothDevice = Electron.BluetoothDevice;
20449
22887
  type Certificate = Electron.Certificate;
@@ -20458,10 +22896,10 @@ declare namespace Electron {
20458
22896
  type ExtensionInfo = Electron.ExtensionInfo;
20459
22897
  type FileFilter = Electron.FileFilter;
20460
22898
  type FilePathWithHeaders = Electron.FilePathWithHeaders;
22899
+ type FilesystemPermissionRequest = Electron.FilesystemPermissionRequest;
20461
22900
  type GPUFeatureStatus = Electron.GPUFeatureStatus;
20462
22901
  type HIDDevice = Electron.HIDDevice;
20463
22902
  type InputEvent = Electron.InputEvent;
20464
- type IOCounters = Electron.IOCounters;
20465
22903
  type IpcMainEvent = Electron.IpcMainEvent;
20466
22904
  type IpcMainInvokeEvent = Electron.IpcMainInvokeEvent;
20467
22905
  type IpcRendererEvent = Electron.IpcRendererEvent;
@@ -20469,6 +22907,7 @@ declare namespace Electron {
20469
22907
  type JumpListItem = Electron.JumpListItem;
20470
22908
  type KeyboardEvent = Electron.KeyboardEvent;
20471
22909
  type KeyboardInputEvent = Electron.KeyboardInputEvent;
22910
+ type MediaAccessPermissionRequest = Electron.MediaAccessPermissionRequest;
20472
22911
  type MemoryInfo = Electron.MemoryInfo;
20473
22912
  type MemoryUsageDetails = Electron.MemoryUsageDetails;
20474
22913
  type MimeTypedBuffer = Electron.MimeTypedBuffer;
@@ -20476,7 +22915,9 @@ declare namespace Electron {
20476
22915
  type MouseWheelInputEvent = Electron.MouseWheelInputEvent;
20477
22916
  type NotificationAction = Electron.NotificationAction;
20478
22917
  type NotificationResponse = Electron.NotificationResponse;
22918
+ type OpenExternalPermissionRequest = Electron.OpenExternalPermissionRequest;
20479
22919
  type PaymentDiscount = Electron.PaymentDiscount;
22920
+ type PermissionRequest = Electron.PermissionRequest;
20480
22921
  type Point = Electron.Point;
20481
22922
  type PostBody = Electron.PostBody;
20482
22923
  type PrinterInfo = Electron.PrinterInfo;
@@ -20515,6 +22956,7 @@ declare namespace Electron {
20515
22956
  type WebPreferences = Electron.WebPreferences;
20516
22957
  type WebRequestFilter = Electron.WebRequestFilter;
20517
22958
  type WebSource = Electron.WebSource;
22959
+ type WindowOpenHandlerResponse = Electron.WindowOpenHandlerResponse;
20518
22960
  }
20519
22961
 
20520
22962
  namespace CrossProcessExports {
@@ -20523,6 +22965,7 @@ declare namespace Electron {
20523
22965
  type App = Electron.App;
20524
22966
  const autoUpdater: AutoUpdater;
20525
22967
  type AutoUpdater = Electron.AutoUpdater;
22968
+ class BaseWindow extends Electron.BaseWindow {}
20526
22969
  class BrowserView extends Electron.BrowserView {}
20527
22970
  class BrowserWindow extends Electron.BrowserWindow {}
20528
22971
  type ClientRequest = Electron.ClientRequest;
@@ -20560,6 +23003,7 @@ declare namespace Electron {
20560
23003
  type NativeImage = Electron.NativeImage;
20561
23004
  const nativeTheme: NativeTheme;
20562
23005
  type NativeTheme = Electron.NativeTheme;
23006
+ type NavigationHistory = Electron.NavigationHistory;
20563
23007
  const net: Net;
20564
23008
  type Net = Electron.Net;
20565
23009
  const netLog: NetLog;
@@ -20599,13 +23043,17 @@ declare namespace Electron {
20599
23043
  class Tray extends Electron.Tray {}
20600
23044
  const utilityProcess: typeof UtilityProcess;
20601
23045
  type UtilityProcess = Electron.UtilityProcess;
23046
+ class View extends Electron.View {}
20602
23047
  const webContents: typeof WebContents;
20603
23048
  type WebContents = Electron.WebContents;
23049
+ class WebContentsView extends Electron.WebContentsView {}
20604
23050
  const webFrame: WebFrame;
20605
23051
  type WebFrame = Electron.WebFrame;
20606
23052
  const webFrameMain: typeof WebFrameMain;
20607
23053
  type WebFrameMain = Electron.WebFrameMain;
20608
23054
  type WebRequest = Electron.WebRequest;
23055
+ const webUtils: WebUtils;
23056
+ type WebUtils = Electron.WebUtils;
20609
23057
  type WebviewTag = Electron.WebviewTag;
20610
23058
  type AboutPanelOptionsOptions = Electron.AboutPanelOptionsOptions;
20611
23059
  type AddRepresentationOptions = Electron.AddRepresentationOptions;
@@ -20624,6 +23072,7 @@ declare namespace Electron {
20624
23072
  type CallbackResponse = Electron.CallbackResponse;
20625
23073
  type CertificateTrustDialogOptions = Electron.CertificateTrustDialogOptions;
20626
23074
  type ClearCodeCachesOptions = Electron.ClearCodeCachesOptions;
23075
+ type ClearDataOptions = Electron.ClearDataOptions;
20627
23076
  type ClearStorageDataOptions = Electron.ClearStorageDataOptions;
20628
23077
  type ClientRequestConstructorOptions = Electron.ClientRequestConstructorOptions;
20629
23078
  type CloseOpts = Electron.CloseOpts;
@@ -20644,6 +23093,7 @@ declare namespace Electron {
20644
23093
  type Details = Electron.Details;
20645
23094
  type DevicePermissionHandlerHandlerDetails = Electron.DevicePermissionHandlerHandlerDetails;
20646
23095
  type DevtoolsOpenUrlEvent = Electron.DevtoolsOpenUrlEvent;
23096
+ type DevtoolsSearchQueryEvent = Electron.DevtoolsSearchQueryEvent;
20647
23097
  type DidChangeThemeColorEvent = Electron.DidChangeThemeColorEvent;
20648
23098
  type DidCreateWindowDetails = Electron.DidCreateWindowDetails;
20649
23099
  type DidFailLoadEvent = Electron.DidFailLoadEvent;
@@ -20657,8 +23107,10 @@ declare namespace Electron {
20657
23107
  type DisplayMediaRequestHandlerHandlerRequest = Electron.DisplayMediaRequestHandlerHandlerRequest;
20658
23108
  type DownloadURLOptions = Electron.DownloadURLOptions;
20659
23109
  type EnableNetworkEmulationOptions = Electron.EnableNetworkEmulationOptions;
23110
+ type EntryAtIndex = Electron.EntryAtIndex;
20660
23111
  type FeedURLOptions = Electron.FeedURLOptions;
20661
23112
  type FileIconOptions = Electron.FileIconOptions;
23113
+ type FileSystemAccessRestrictedDetails = Electron.FileSystemAccessRestrictedDetails;
20662
23114
  type FindInPageOptions = Electron.FindInPageOptions;
20663
23115
  type FocusOptions = Electron.FocusOptions;
20664
23116
  type ForkOptions = Electron.ForkOptions;
@@ -20714,7 +23166,6 @@ declare namespace Electron {
20714
23166
  type Parameters = Electron.Parameters;
20715
23167
  type Payment = Electron.Payment;
20716
23168
  type PermissionCheckHandlerHandlerDetails = Electron.PermissionCheckHandlerHandlerDetails;
20717
- type PermissionRequestHandlerHandlerDetails = Electron.PermissionRequestHandlerHandlerDetails;
20718
23169
  type PluginCrashedEvent = Electron.PluginCrashedEvent;
20719
23170
  type PopupOptions = Electron.PopupOptions;
20720
23171
  type PreconnectOptions = Electron.PreconnectOptions;
@@ -20745,6 +23196,7 @@ declare namespace Electron {
20745
23196
  type Streams = Electron.Streams;
20746
23197
  type SystemMemoryInfo = Electron.SystemMemoryInfo;
20747
23198
  type TitleBarOverlay = Electron.TitleBarOverlay;
23199
+ type TitleBarOverlayOptions = Electron.TitleBarOverlayOptions;
20748
23200
  type TitleOptions = Electron.TitleOptions;
20749
23201
  type ToBitmapOptions = Electron.ToBitmapOptions;
20750
23202
  type ToDataURLOptions = Electron.ToDataURLOptions;
@@ -20770,6 +23222,7 @@ declare namespace Electron {
20770
23222
  type WebContentsDidRedirectNavigationEventParams = Electron.WebContentsDidRedirectNavigationEventParams;
20771
23223
  type WebContentsDidStartNavigationEventParams = Electron.WebContentsDidStartNavigationEventParams;
20772
23224
  type WebContentsPrintOptions = Electron.WebContentsPrintOptions;
23225
+ type WebContentsViewConstructorOptions = Electron.WebContentsViewConstructorOptions;
20773
23226
  type WebContentsWillFrameNavigateEventParams = Electron.WebContentsWillFrameNavigateEventParams;
20774
23227
  type WebContentsWillNavigateEventParams = Electron.WebContentsWillNavigateEventParams;
20775
23228
  type WebContentsWillRedirectEventParams = Electron.WebContentsWillRedirectEventParams;
@@ -20787,6 +23240,7 @@ declare namespace Electron {
20787
23240
  type PageRanges = Electron.PageRanges;
20788
23241
  type Params = Electron.Params;
20789
23242
  type Video = Electron.Video;
23243
+ type BaseWindowConstructorOptions = Electron.BaseWindowConstructorOptions;
20790
23244
  type BrowserWindowConstructorOptions = Electron.BrowserWindowConstructorOptions;
20791
23245
  type BluetoothDevice = Electron.BluetoothDevice;
20792
23246
  type Certificate = Electron.Certificate;
@@ -20801,10 +23255,10 @@ declare namespace Electron {
20801
23255
  type ExtensionInfo = Electron.ExtensionInfo;
20802
23256
  type FileFilter = Electron.FileFilter;
20803
23257
  type FilePathWithHeaders = Electron.FilePathWithHeaders;
23258
+ type FilesystemPermissionRequest = Electron.FilesystemPermissionRequest;
20804
23259
  type GPUFeatureStatus = Electron.GPUFeatureStatus;
20805
23260
  type HIDDevice = Electron.HIDDevice;
20806
23261
  type InputEvent = Electron.InputEvent;
20807
- type IOCounters = Electron.IOCounters;
20808
23262
  type IpcMainEvent = Electron.IpcMainEvent;
20809
23263
  type IpcMainInvokeEvent = Electron.IpcMainInvokeEvent;
20810
23264
  type IpcRendererEvent = Electron.IpcRendererEvent;
@@ -20812,6 +23266,7 @@ declare namespace Electron {
20812
23266
  type JumpListItem = Electron.JumpListItem;
20813
23267
  type KeyboardEvent = Electron.KeyboardEvent;
20814
23268
  type KeyboardInputEvent = Electron.KeyboardInputEvent;
23269
+ type MediaAccessPermissionRequest = Electron.MediaAccessPermissionRequest;
20815
23270
  type MemoryInfo = Electron.MemoryInfo;
20816
23271
  type MemoryUsageDetails = Electron.MemoryUsageDetails;
20817
23272
  type MimeTypedBuffer = Electron.MimeTypedBuffer;
@@ -20819,7 +23274,9 @@ declare namespace Electron {
20819
23274
  type MouseWheelInputEvent = Electron.MouseWheelInputEvent;
20820
23275
  type NotificationAction = Electron.NotificationAction;
20821
23276
  type NotificationResponse = Electron.NotificationResponse;
23277
+ type OpenExternalPermissionRequest = Electron.OpenExternalPermissionRequest;
20822
23278
  type PaymentDiscount = Electron.PaymentDiscount;
23279
+ type PermissionRequest = Electron.PermissionRequest;
20823
23280
  type Point = Electron.Point;
20824
23281
  type PostBody = Electron.PostBody;
20825
23282
  type PrinterInfo = Electron.PrinterInfo;
@@ -20858,6 +23315,7 @@ declare namespace Electron {
20858
23315
  type WebPreferences = Electron.WebPreferences;
20859
23316
  type WebRequestFilter = Electron.WebRequestFilter;
20860
23317
  type WebSource = Electron.WebSource;
23318
+ type WindowOpenHandlerResponse = Electron.WindowOpenHandlerResponse;
20861
23319
  }
20862
23320
 
20863
23321
  const app: App;
@@ -20890,6 +23348,7 @@ declare namespace Electron {
20890
23348
  const webContents: typeof WebContents;
20891
23349
  const webFrame: WebFrame;
20892
23350
  const webFrameMain: typeof WebFrameMain;
23351
+ const webUtils: WebUtils;
20893
23352
 
20894
23353
  }
20895
23354
 
@@ -21003,10 +23462,6 @@ declare namespace NodeJS {
21003
23462
  * in Kilobytes.
21004
23463
  */
21005
23464
  getHeapStatistics(): Electron.HeapStatistics;
21006
- /**
21007
- * @platform win32,linux
21008
- */
21009
- getIOCounters(): Electron.IOCounters;
21010
23465
  /**
21011
23466
  * Resolves with a ProcessMemoryInfo
21012
23467
  *