diff --git a/type-detect/type-detect-tests.ts b/type-detect/type-detect-tests.ts
new file mode 100644
index 000000000..b747de2b9
--- /dev/null
+++ b/type-detect/type-detect-tests.ts
@@ -0,0 +1,20 @@
+///
+
+import td = require('type-detect');
+
+var str: string;
+var bool: boolean;
+var x: any;
+
+str = td(123);
+
+var lib: td.Library = new td.Library();
+
+lib.define(str, /aa/);
+lib.define(str, (val) => {
+ return bool;
+});
+str = lib.of(x);
+bool = lib.test(x, str);
+
+
diff --git a/type-detect/type-detect.d.ts b/type-detect/type-detect.d.ts
new file mode 100644
index 000000000..be3189671
--- /dev/null
+++ b/type-detect/type-detect.d.ts
@@ -0,0 +1,18 @@
+// Type definitions for type-detect v0.1.2
+// Project: https://github.com/chaijs/type-detect
+// Definitions by: Bart van der Schoor
+// Definitions: https://github.com/borisyankov/DefinitelyTyped
+
+declare module 'type-detect' {
+ function type(val: any): string;
+
+ module type {
+ export class Library {
+ of(val: any): string;
+ define (type: string, test: RegExp): void;
+ define (type: string, test: (val: any) => boolean): void;
+ test (val: any, type: string): boolean;
+ }
+ }
+ export = type;
+}