diff --git a/papaparse/papaparse-tests.ts b/papaparse/papaparse-tests.ts
new file mode 100644
index 000000000..14cc40bb3
--- /dev/null
+++ b/papaparse/papaparse-tests.ts
@@ -0,0 +1,55 @@
+///
+
+import Papa = require("papaparse");
+
+/**
+ * Parsing
+ */
+var res = Papa.parse("3,3,3");
+
+res.errors[0].code;
+
+Papa.parse("3,3,3", {
+ delimiter: ';',
+ comments: false,
+
+ step: function(results, p) {
+ p.abort();
+ results.data.length;
+ }
+});
+
+var file = new File();
+
+Papa.parse(file, {
+ complete: function(a, b) {
+ a.meta.fields;
+ b.name;
+ }
+});
+
+/**
+ * Unparsing
+ */
+Papa.unparse([{a: 1, b: 1, c: 1}]);
+Papa.unparse([[1, 2, 3], [4, 5, 6]]);
+Papa.unparse({
+ fields: ["3"],
+ data: []
+});
+
+
+
+/**
+ * Properties
+ */
+Papa.SCRIPT_PATH;
+Papa.LocalChunkSize;
+
+/**
+ * Parser
+ */
+var parser = new Papa.Parser({})
+parser.getCharIndex();
+parser.abort();
+parser.parse("", 0, false);
\ No newline at end of file
diff --git a/papaparse/papaparse.d.ts b/papaparse/papaparse.d.ts
new file mode 100644
index 000000000..028dd2aab
--- /dev/null
+++ b/papaparse/papaparse.d.ts
@@ -0,0 +1,144 @@
+// Type definitions for PapaParse v4.1
+// Project: https://github.com/mholt/PapaParse
+// Definitions by: Pedro Flemming
+// Definitions: https://github.com/borisyankov/DefinitelyTyped
+
+declare module PapaParse {
+ interface Static {
+ /**
+ * Parse a csv string or a csv file
+ */
+ parse(csvString: string, config?: ParseConfig): ParseResult;
+
+ parse(file: File, config?: ParseConfig): ParseResult;
+
+ /**
+ * Unparses javascript data objects and returns a csv string
+ */
+ unparse(data: Array