// Type definitions for Electron v0.37.2 // Project: http://electron.atom.io/ // Definitions by: jedmao , rhysd // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped /// declare namespace Electron { /** * The desktopCapturer module can be used to get available sources * that can be used to be captured with getUserMedia. */ interface DesktopCapturer { /** * Starts a request to get all desktop sources. * * Note: There is no guarantee that the size of source.thumbnail is always * the same as the thumnbailSize in options. It also depends on the scale of the screen or window. */ getSources(options: any, callback: (error: Error, sources: DesktopCapturerSource[]) => any): void; } interface DesktopCapturerOptions { /** * The types of desktop sources to be captured. */ types?: ('screen' | 'window')[]; /** * The suggested size that thumbnail should be scaled. * Default: {width: 150, height: 150} */ thumbnailSize?: { width: number; height: number; }; } interface DesktopCapturerSource { /** * The id of the captured window or screen used in navigator.webkitGetUserMedia. * The format looks like window:XX or screen:XX where XX is a random generated number. */ id: string; /** * The described name of the capturing screen or window. * If the source is a screen, the name will be Entire Screen or Screen ; * if it is a window, the name will be the window’s title. */ name: string; /** * A thumbnail image. */ thumbnail: NativeImage; } }