diff --git a/prettyjson/prettyjson-tests.ts b/prettyjson/prettyjson-tests.ts
new file mode 100644
index 0000000000..4df6b1fc87
--- /dev/null
+++ b/prettyjson/prettyjson-tests.ts
@@ -0,0 +1,18 @@
+///
+
+var options: prettyjson.IOptions,
+ input: string,
+ output: string;
+
+
+input = 'This is a string';
+output = prettyjson.render(input);
+
+output = prettyjson.render(input, {}, 4);
+
+output = prettyjson.render(['first string', ['nested 1', 'nested 2'], 'second string']);
+
+output = prettyjson.render({param1: 'first string', param2: 'second string'});
+
+output = prettyjson.render({first_param: {subparam: 'first string', subparam2: 'another string'}, second_param: 'second string'});
+
diff --git a/prettyjson/prettyjson.d.ts b/prettyjson/prettyjson.d.ts
new file mode 100644
index 0000000000..f1f0dbf23f
--- /dev/null
+++ b/prettyjson/prettyjson.d.ts
@@ -0,0 +1,59 @@
+// Type definitions for prettyjson
+// Project: https://github.com/rafeca/prettyjson
+// Definitions by: Wael BEN ZID EL GUEBSI
+// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
+
+
+declare module PrettyJSON {
+
+ /**
+ * Defines prettyjson version
+ */
+ export var version: string;
+
+ /**
+ * Render pretty json.
+ *
+ * @param data {Object} Data to prettify.
+ * @param options {IOptions} Hash with different options to configure the renderer.
+ * @param indentation {number} Indentation size.
+ *
+ * @return {string} pretty serialized json data ready to display.
+ */
+ export function render(data: Object, options?: IOptions, indentation?: number): string;
+
+ /**
+ * Render pretty json from a string.
+ *
+ * @param data {string} Serialized JSON data to prettify.
+ * @param options {IOptions} Hash with different options to configure the renderer.
+ * @param indentation {number} Indentation size.
+ *
+ * @return {string} pretty serialized json data ready to display.
+ */
+ export function renderString(data: string, options?: IOptions, indentation?: number): string;
+
+ export interface IOptions {
+
+ /**
+ * Define behavior for Array objects
+ */
+ emptyArrayMsg ?: string; // default: (empty)
+ inlineArrays ?: boolean;
+
+ /**
+ * Color definition
+ */
+ noColor ?: boolean;
+ keysColor ?: string;
+ dashColor ?: string;
+ numberColor ?: string;
+ stringColor ?: string;
+
+ defaultIndentation ?: number;
+ }
+}
+
+declare module "prettyjson" {
+ export = PrettyJSON;
+}