diff --git a/prettyjson/prettyjson-tests.ts b/prettyjson/prettyjson-tests.ts
new file mode 100644
index 000000000..80ecbbb0f
--- /dev/null
+++ b/prettyjson/prettyjson-tests.ts
@@ -0,0 +1,23 @@
+///
+
+var options: prettyjson.RendererOptions,
+ input: string,
+ output: string,
+ version: string;
+
+
+console.log("using prettyjson v" + prettyjson.version)
+version = prettyjson.version;
+
+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'});
+
+prettyjson.renderString('{name: "Wael", nested: {list: ["a", "b"], int: 3}}')
diff --git a/prettyjson/prettyjson.d.ts b/prettyjson/prettyjson.d.ts
new file mode 100644
index 000000000..cf2a69c19
--- /dev/null
+++ b/prettyjson/prettyjson.d.ts
@@ -0,0 +1,55 @@
+// 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 {any} 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: any, options?: RendererOptions, 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?: RendererOptions, indentation?: number): string;
+
+ export interface RendererOptions {
+
+ /**
+ * 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;
+ }
+}