diff --git a/maildev/maildev.d.ts b/maildev/maildev.d.ts
new file mode 100644
index 000000000..fadd1aceb
--- /dev/null
+++ b/maildev/maildev.d.ts
@@ -0,0 +1,109 @@
+// Type definitions for maildev 0.11.0
+// Project: https://github.com/djfarrelly/maildev
+// Definitions by: Cyril Schumacher
+// Definitions: https://github.com/borisyankov/DefinitelyTyped
+
+///
+
+import fs = require("fs");
+
+/**
+ * Interface for {@link MailDev} options.
+ */
+interface MailDevOptions {
+ /**
+ * SMTP host for outgoing emails
+ *
+ * @type {string}
+ */
+ outgoingHost: string;
+
+ /**
+ * SMTP password for outgoing emails
+ *
+ * @type {string}
+ */
+ outgoingPass: string;
+
+ /**
+ * SMTP port for outgoing emails.
+ *
+ * @type {number}
+ */
+ outgoingPort: number;
+
+ /**
+ * SMTP user for outgoing emails
+ *
+ * @type {string}
+ */
+ outgoingUser: string;
+
+ /**
+ * SMTP port to catch emails.
+ *
+ * @type {number}
+ */
+ smtp: number;
+}
+
+/**
+ * Interface for {@link MailDev}.
+ */
+interface MailDev {
+ /**
+ * Constructor.
+ *
+ * @public
+ * @param options The options.
+ */
+ new(options: MailDevOptions): MailDev;
+
+ /**
+ * Stops the SMTP server.
+ *
+ * @public
+ * @param callback The error callback.
+ */
+ end(callback?: (error: Error) => void): void;
+
+ /**
+ * Accepts e-mail identifier, returns email object.
+ *
+ * @public
+ * @param id The e-mail identifier.
+ */
+ getEmail(id: string, callback?: (error: Error) => void): void;
+
+ /**
+ * Returns a readable stream of the raw e-mail.
+ *
+ * @public
+ * @param id The e-mail identifier.
+ */
+ getRawEmail(id: string, callback?: (error: Error, readStream: fs.ReadStream) => void): void;
+
+ /**
+ * Returns array of all e-mail.
+
+ * @public
+ */
+ getAllEmail(): void;
+
+ /**
+ * Starts the SMTP server.
+ *
+ * @public
+ * @param callback The error callback.
+ */
+ listen(callback?: (error: Error) => void): void;
+
+ /**
+ * Event called when a new e-mail is received. Callback receives single mail object.
+ *
+ * @public
+ * @param eventName The event name.
+ * @param callback The callback for obtains the received email.
+ */
+ on(eventName: string, callback: (email: string) => void): void;
+}