2019-06-04 00:03:59 +00:00
|
|
|
declare var internalBinding: any;
|
|
|
|
|
2019-02-06 18:27:20 +00:00
|
|
|
declare namespace NodeJS {
|
|
|
|
interface FeaturesBinding {
|
|
|
|
isDesktopCapturerEnabled(): boolean;
|
|
|
|
isOffscreenRenderingEnabled(): boolean;
|
2019-09-18 16:52:06 +00:00
|
|
|
isRemoteModuleEnabled(): boolean;
|
2019-02-06 18:27:20 +00:00
|
|
|
isPDFViewerEnabled(): boolean;
|
|
|
|
isRunAsNodeEnabled(): boolean;
|
|
|
|
isFakeLocationProviderEnabled(): boolean;
|
|
|
|
isViewApiEnabled(): boolean;
|
|
|
|
isTtsEnabled(): boolean;
|
|
|
|
isPrintingEnabled(): boolean;
|
2019-08-22 10:17:50 +00:00
|
|
|
isPictureInPictureEnabled(): boolean;
|
2019-07-24 23:01:08 +00:00
|
|
|
isExtensionsEnabled(): boolean;
|
2019-03-30 00:32:52 +00:00
|
|
|
isComponentBuild(): boolean;
|
2019-02-06 18:27:20 +00:00
|
|
|
}
|
2019-02-12 14:22:33 +00:00
|
|
|
|
2019-08-02 19:35:04 +00:00
|
|
|
interface IpcBinding {
|
|
|
|
send(internal: boolean, channel: string, args: any[]): void;
|
|
|
|
sendSync(internal: boolean, channel: string, args: any[]): any;
|
|
|
|
sendToHost(channel: string, args: any[]): void;
|
|
|
|
sendTo(internal: boolean, sendToAll: boolean, webContentsId: number, channel: string, args: any[]): void;
|
2019-08-23 22:45:50 +00:00
|
|
|
invoke<T>(internal: boolean, channel: string, args: any[]): Promise<{ error: string, result: T }>;
|
2019-08-02 19:35:04 +00:00
|
|
|
}
|
|
|
|
|
2019-02-12 14:22:33 +00:00
|
|
|
interface V8UtilBinding {
|
|
|
|
getHiddenValue<T>(obj: any, key: string): T;
|
|
|
|
setHiddenValue<T>(obj: any, key: string, value: T): void;
|
2019-06-15 08:18:25 +00:00
|
|
|
deleteHiddenValue(obj: any, key: string): void;
|
2019-03-10 22:38:44 +00:00
|
|
|
requestGarbageCollectionForTesting(): void;
|
2019-11-21 12:32:31 +00:00
|
|
|
createIDWeakMap<V>(): ElectronInternal.KeyWeakMap<number, V>;
|
|
|
|
createDoubleIDWeakMap<V>(): ElectronInternal.KeyWeakMap<[string, number], V>;
|
2019-10-29 06:40:09 +00:00
|
|
|
setRemoteCallbackFreer(fn: Function, frameId: number, contextId: String, id: number, sender: any): void
|
2019-02-12 14:22:33 +00:00
|
|
|
}
|
2019-06-15 10:44:18 +00:00
|
|
|
|
2019-02-06 18:27:20 +00:00
|
|
|
interface Process {
|
2019-02-12 14:22:33 +00:00
|
|
|
/**
|
2019-03-18 19:37:06 +00:00
|
|
|
* DO NOT USE DIRECTLY, USE process.electronBinding
|
2019-02-12 14:22:33 +00:00
|
|
|
*/
|
2019-03-08 18:29:52 +00:00
|
|
|
_linkedBinding(name: string): any;
|
2019-03-18 19:37:06 +00:00
|
|
|
electronBinding(name: string): any;
|
|
|
|
electronBinding(name: 'features'): FeaturesBinding;
|
2019-08-02 19:35:04 +00:00
|
|
|
electronBinding(name: 'ipc'): { ipc: IpcBinding };
|
2019-03-18 19:37:06 +00:00
|
|
|
electronBinding(name: 'v8_util'): V8UtilBinding;
|
|
|
|
electronBinding(name: 'app'): { app: Electron.App, App: Function };
|
|
|
|
electronBinding(name: 'command_line'): Electron.CommandLine;
|
2019-06-15 10:44:18 +00:00
|
|
|
electronBinding(name: 'desktop_capturer'): { createDesktopCapturer(): ElectronInternal.DesktopCapturer };
|
2019-02-06 18:27:20 +00:00
|
|
|
log: NodeJS.WriteStream['write'];
|
2019-02-12 14:22:33 +00:00
|
|
|
activateUvLoop(): void;
|
2019-02-18 12:47:07 +00:00
|
|
|
|
|
|
|
// Additional events
|
|
|
|
once(event: 'document-start', listener: () => any): this;
|
|
|
|
once(event: 'document-end', listener: () => any): this;
|
2019-06-04 00:03:59 +00:00
|
|
|
|
|
|
|
// Additional properties
|
|
|
|
_firstFileName?: string;
|
2019-07-16 04:13:32 +00:00
|
|
|
|
|
|
|
helperExecPath: string;
|
2019-08-23 09:18:58 +00:00
|
|
|
isRemoteModuleEnabled: boolean;
|
2019-02-06 18:27:20 +00:00
|
|
|
}
|
|
|
|
}
|
2019-02-17 01:06:30 +00:00
|
|
|
|
2019-02-19 17:05:14 +00:00
|
|
|
declare module NodeJS {
|
|
|
|
interface Global {
|
|
|
|
require: NodeRequire;
|
|
|
|
module: NodeModule;
|
|
|
|
__filename: string;
|
|
|
|
__dirname: string;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2019-07-17 17:23:52 +00:00
|
|
|
interface ContextMenuItem {
|
|
|
|
id: number;
|
|
|
|
label: string;
|
|
|
|
type: 'normal' | 'separator' | 'subMenu' | 'checkbox';
|
|
|
|
checked: boolean;
|
|
|
|
enabled: boolean;
|
|
|
|
subItems: ContextMenuItem[];
|
|
|
|
}
|
|
|
|
|
2019-02-17 01:06:30 +00:00
|
|
|
declare interface Window {
|
2019-02-19 17:05:14 +00:00
|
|
|
ELECTRON_DISABLE_SECURITY_WARNINGS?: boolean;
|
|
|
|
ELECTRON_ENABLE_SECURITY_WARNINGS?: boolean;
|
2019-02-26 02:10:26 +00:00
|
|
|
InspectorFrontendHost?: {
|
2019-07-17 17:23:52 +00:00
|
|
|
showContextMenuAtPoint: (x: number, y: number, items: ContextMenuItem[]) => void
|
2019-02-26 02:10:26 +00:00
|
|
|
};
|
|
|
|
DevToolsAPI?: {
|
|
|
|
contextMenuItemSelected: (id: number) => void;
|
|
|
|
contextMenuCleared: () => void
|
|
|
|
};
|
|
|
|
UI?: {
|
|
|
|
createFileSelectorElement: (callback: () => void) => HTMLSpanElement
|
|
|
|
};
|
|
|
|
Persistence?: {
|
|
|
|
FileSystemWorkspaceBinding: {
|
|
|
|
completeURL: (project: string, path: string) => string;
|
|
|
|
}
|
2019-03-07 23:26:23 +00:00
|
|
|
};
|
|
|
|
ResizeObserver: ResizeObserver;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* The ResizeObserver interface is used to observe changes to Element's content
|
|
|
|
* rect.
|
|
|
|
*
|
|
|
|
* It is modeled after MutationObserver and IntersectionObserver.
|
|
|
|
*/
|
|
|
|
declare class ResizeObserver {
|
|
|
|
constructor (callback: ResizeObserverCallback);
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Adds target to the list of observed elements.
|
|
|
|
*/
|
|
|
|
observe: (target: Element) => void;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Removes target from the list of observed elements.
|
|
|
|
*/
|
|
|
|
unobserve: (target: Element) => void;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Clears both the observationTargets and activeTargets lists.
|
|
|
|
*/
|
|
|
|
disconnect: () => void;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* This callback delivers ResizeObserver's notifications. It is invoked by a
|
|
|
|
* broadcast active observations algorithm.
|
|
|
|
*/
|
|
|
|
interface ResizeObserverCallback {
|
|
|
|
(entries: ResizeObserverEntry[], observer: ResizeObserver): void;
|
2019-02-17 01:06:30 +00:00
|
|
|
}
|
2019-03-07 23:26:23 +00:00
|
|
|
|
|
|
|
interface ResizeObserverEntry {
|
|
|
|
/**
|
|
|
|
* @param target The Element whose size has changed.
|
|
|
|
*/
|
|
|
|
new (target: Element): ResizeObserverEntry;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* The Element whose size has changed.
|
|
|
|
*/
|
|
|
|
readonly target: Element;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Element's content rect when ResizeObserverCallback is invoked.
|
|
|
|
*/
|
|
|
|
readonly contentRect: DOMRectReadOnly;
|
2019-06-04 23:07:34 +00:00
|
|
|
}
|