diff --git a/iniparser/iniparser-tests.ts b/iniparser/iniparser-tests.ts
new file mode 100644
index 000000000..8558766df
--- /dev/null
+++ b/iniparser/iniparser-tests.ts
@@ -0,0 +1,21 @@
+///
+
+import * as iniparser from 'iniparser';
+
+type Result = {section: {param: string}};
+
+let file: string;
+
+{
+ let callback: (err: any, data: Result) => void;
+ let result: void;
+
+ iniparser.parse(file, callback);
+}
+
+{
+ let result: Result;
+
+ result = iniparser.parseSync(file);
+ result = iniparser.parseString('');
+}
diff --git a/iniparser/iniparser.d.ts b/iniparser/iniparser.d.ts
new file mode 100644
index 000000000..81fd07377
--- /dev/null
+++ b/iniparser/iniparser.d.ts
@@ -0,0 +1,15 @@
+// Type definitions for iniparser
+// Project: https://github.com/shockie/node-iniparser
+// Definitions by: Ilya Mochalov
+// Definitions: https://github.com/borisyankov/DefinitelyTyped
+
+declare module "iniparser" {
+ export function parse(
+ file: string,
+ callback: (err: any, data: T) => void
+ ): void;
+
+ export function parseSync(file: string): T;
+
+ export function parseString(data: string): T;
+}