diff --git a/closure-compiler/closure-compiler-tests.ts b/closure-compiler/closure-compiler-tests.ts
new file mode 100644
index 000000000..e0bd650a3
--- /dev/null
+++ b/closure-compiler/closure-compiler-tests.ts
@@ -0,0 +1,17 @@
+///
+import {compile} from 'closure-compiler';
+
+compile('some.source()', {'check-only': null},
+ (err: Error, stdout: string, stderr: string): void => {
+ console.log('Got', err, 'stdout', stdout, 'stderr', stderr);
+ });
+
+// No options, Callback wins.
+compile('some.source()', (err: Error, stdout: string, stderr: string): void => {
+ console.log('Got', err, 'stdout', stdout, 'stderr', stderr);
+});
+
+compile(null, {'js': ['a/f.js', 'a/f2.js'], 'check-only': null},
+ (err: Error, stdout: string, stderr: string): void => {
+ console.log('Got', err, 'stdout', stdout, 'stderr', stderr);
+ });
diff --git a/closure-compiler/closure-compiler.d.ts b/closure-compiler/closure-compiler.d.ts
new file mode 100644
index 000000000..0d1aba741
--- /dev/null
+++ b/closure-compiler/closure-compiler.d.ts
@@ -0,0 +1,11 @@
+// Type definitions for closure-compiler
+// Project: https://github.com/tim-smart/node-closure/
+// Definitions by: Martin Probst
+// Definitions: https://github.com/borisyankov/DefinitelyTyped
+
+declare module 'closure-compiler' {
+ type Callback = (err: Error, stdout: string, stderr: string) => any;
+ function compile(src: string, callback: Callback): void;
+ function compile(src: string, options: {[k: string]: string | string[]},
+ callback: Callback): void;
+}