diff --git a/cookie/cookie-test.ts b/cookie/cookie-test.ts
new file mode 100644
index 0000000000..fccb4b0d30
--- /dev/null
+++ b/cookie/cookie-test.ts
@@ -0,0 +1,33 @@
+///
+
+import cookie = require('cookie');
+
+function test_serialize(): void {
+ var retVal: string;
+
+ retVal = cookie.serialize('foo', 'bar');
+ retVal = cookie.serialize('foo', 'bar', { httpOnly: true });
+}
+
+function test_parse(): void {
+ var retVal: { [key: string]: string };
+
+ retVal = cookie.parse('foo=bar; bar=baz;');
+ retVal = cookie.parse('foo=bar; bar=baz', { decode: x => x });
+}
+
+function test_options(): void {
+ var serializeOptions: CookieSerializeOptions = {
+ encode: (x: string) => x,
+ path: '/',
+ expires: new Date(),
+ maxAge: 200,
+ domain: 'example.com',
+ secure: false,
+ httpOnly: false
+ };
+
+ var parseOptios: CookieParseOptions = {
+ decode: (x: string) => x
+ };
+}
diff --git a/cookie/cookie.d.ts b/cookie/cookie.d.ts
new file mode 100644
index 0000000000..a7151fc9f8
--- /dev/null
+++ b/cookie/cookie.d.ts
@@ -0,0 +1,28 @@
+// Type definitions for cookie v0.1.2
+// Project: https://github.com/jshttp/cookie
+// Definitions by: Pine Mizune
+// Definitions: https://github.com/borisyankov/DefinitelyTyped
+
+interface CookieSerializeOptions {
+ encode?: (val: string) => string;
+ path?: string;
+ expires?: Date;
+ maxAge?: number;
+ domain?: string;
+ secure?: boolean;
+ httpOnly?: boolean;
+}
+
+interface CookieParseOptions {
+ decode?: (val: string) => string;
+}
+
+interface CookieStatic {
+ serialize(name: string, val: string, options?: CookieSerializeOptions): string;
+ parse(str: string, options?: CookieParseOptions): { [key: string]: string };
+}
+
+declare module "cookie" {
+ var cookie: CookieStatic;
+ export = cookie;
+}