diff --git a/electron-builder/electron-builder-tests.ts b/electron-builder/electron-builder-tests.ts
new file mode 100644
index 000000000..d37de84c5
--- /dev/null
+++ b/electron-builder/electron-builder-tests.ts
@@ -0,0 +1,54 @@
+///
+
+import * as factory from "electron-builder";
+const builder = factory.init();
+
+function callback(err: Error) {
+ const msg = err.message;
+}
+
+builder.build({
+ appPath: ".",
+ out: "out",
+ platform: "win",
+ config: {
+ osx: {
+ title: "myapplication",
+ icon: "icon.icns",
+ "icon-size": 80,
+ background: "installer.png",
+ contents: [
+ { x: 438, y: 344, type: "link", path: "/Applications" },
+ { x: 192, y: 344, type: "file" },
+ ]
+ },
+ win: {
+ title: "myapplication",
+ icon: "icon.ico"
+ }
+ }
+}, callback);
+
+const bldr = require("electron-builder").init();
+
+bldr.build({
+ appPath: ".",
+ out: "out",
+ platform: "osx",
+ config: {
+ osx: {
+ title: "myapplication",
+ icon: "icon.icns",
+ "icon-size": 80,
+ background: "installer.png",
+ contents: [
+ { x: 438, y: 344, type: "link", path: "/Applications" },
+ { x: 192, y: 344, type: "file" },
+ ]
+ },
+ win: {
+ title: "myapplication",
+ icon: "icon.ico"
+ }
+ }
+}, callback);
diff --git a/electron-builder/electron-builder.d.ts b/electron-builder/electron-builder.d.ts
new file mode 100644
index 000000000..560937ab4
--- /dev/null
+++ b/electron-builder/electron-builder.d.ts
@@ -0,0 +1,90 @@
+// Type definitions for electron-builder v2.0.2
+// Project: https://github.com/loopline-systems/electron-builder
+// Definitions by: Maxime LUCE
+// Definitions: https://github.com/borisyankov/DefinitelyTyped
+
+///
+
+declare namespace ElectronBuilder {
+
+ /** Electron-builder Options. */
+ export interface Options {
+ /** Source application path. */
+ appPath: string;
+
+ /** Platforms to build. Allowed values: win, osx, all. */
+ platform: string;
+
+ /** Path or Object. Configuration for build. */
+ config: string | Config;
+
+ /** The output directory. */
+ out?: string;
+
+ }
+
+ /** Build configuration by platforms. */
+ export interface Config {
+ /** Configurations for Mac OS X. */
+ osx: {
+ /** Installer title. */
+ title: string;
+ /** Installer background. */
+ background: string;
+ /** Installer icon. */
+ icon: string;
+ /** Installer icon size. */
+ "icon-size": number;
+ /** Installer custom contents. */
+ contents: [OsxContents, OsxContents]
+ };
+
+ /** Configurations for Windows. */
+ win: {
+ /** Installer title. */
+ title: string;
+ /** Installer icon. */
+ icon: string;
+ };
+ }
+
+ /** OSX Installer custom contents. */
+ export interface OsxContents {
+ /** Horizontal position on installer screen (in pixels). */
+ x: number;
+ /** Vertical position on installer screen (in pixels). */
+ y: number;
+ /** Content type. Allowed values are "file", "link". */
+ type: string;
+ /** Link only. Customize link destination path. */
+ path?: string;
+ }
+
+ /** Electron-builder done callback. */
+ export interface Callback {
+ /**
+ * Callback wich is called when electron-builder is done.
+ * @param err - Contains errors if any.
+ */
+ (err: Error): void
+ }
+
+ /** Prototype for electron-builder. */
+ export interface Builder {
+ /**
+ * Build the installer for given platform.
+ *
+ * @param opts - Options to configure installer.
+ * @param callback - Callback which is called when building is done or an error occured.
+ */
+ build(opts: Options, callback: Callback): void;
+ }
+}
+
+declare module "electron-builder" {
+ export function init(): ElectronBuilder.Builder;
+}
+
+interface NodeRequireFunction {
+ (id: "electron-builder"): { init(): ElectronBuilder.Builder };
+}