diff --git a/ngkookies/ngkookies-tests.ts b/ngkookies/ngkookies-tests.ts
new file mode 100644
index 000000000..a8c0366fe
--- /dev/null
+++ b/ngkookies/ngkookies-tests.ts
@@ -0,0 +1,44 @@
+///
+
+var app: any;
+
+app.controller('MainCtrl', function ($kookies: angular.kookies.IKookiesService) {
+ // 1. create session cookie
+ $kookies.set('name', 'value');
+
+ // 2. create expiring cookie
+ $kookies.set('name', 'value', {expires: 7});
+
+ // 3. Create expiring cookie, valid across entire site
+ $kookies.set('name', 'value', {expires: 7, path: '/'});
+
+ $kookies.set('name', 'value');
+
+ // read cookie
+ $kookies.get('name'); // "value"
+ $kookies.get('nothing'); // undefined
+
+ // read all available cookies
+ $kookies.get();
+
+ $kookies.set('name', 'value');
+
+ // delete cookie
+ $kookies.remove('name'); // true
+ $kookies.remove('nothing'); // false
+
+ $kookies.set('name', 'value', {path: '/'});
+
+ $kookies.remove('name'); // false
+ // use the same options (path, domain) as what the cookie was written with
+ $kookies.remove('name', {path: '/'}); // true
+
+ var foo: number = $kookies.get('foo', Number);
+});
+
+app.config(['$kookiesProvider',
+ function ($kookiesProvider: angular.kookies.IKookiesProvider) {
+ $kookiesProvider.config.raw = true;
+ $kookiesProvider.config.json = true;
+ }
+]);
\ No newline at end of file
diff --git a/ngkookies/ngkookies.ts b/ngkookies/ngkookies.ts
new file mode 100644
index 000000000..92075d25d
--- /dev/null
+++ b/ngkookies/ngkookies.ts
@@ -0,0 +1,34 @@
+// Type definitions for ngKookes 0.2.0
+// Project: https://github.com/voronianski/ngKookies
+// Definitions by: Martin McWhorter https://github.com/martinmcwhorter
+// Definitions: https://github.com/borisyankov/DefinitelyTyped
+
+declare module angular.kookies {
+
+ type Options = {
+ expires?: number|Date,
+ path?: string,
+ domain?: string,
+ secure?: boolean
+ };
+
+ interface IKookiesService {
+
+ set(name: string, value: string, optopns?: Options): void;
+ get(): any;
+ get(name: string): any;
+ get(name:string, converter: any): any;
+ get(name:string, converter: any): T;
+ remove(name: string, options?: Options): boolean;
+ }
+
+ type Config = { raw?: boolean, json?: boolean }
+
+ interface IKookiesProvider {
+
+ config: Config;
+ setConfig(config: Config): void;
+ defaults: Options;
+ setDefaults(options: Options): void;
+ }
+}
\ No newline at end of file