diff --git a/angular-storage/angular-storage-tests.ts b/angular-storage/angular-storage-tests.ts
new file mode 100644
index 0000000000..1455bbd643
--- /dev/null
+++ b/angular-storage/angular-storage-tests.ts
@@ -0,0 +1,43 @@
+///
+///
+
+// Samples taken from the a0-angular-storage Readme.md
+
+var app = angular.module('angular-storage-tests', ['angular-storage']);
+
+angular.module('angular-storage-tests')
+.controller('StoreController', function(store: angular.a0.storage.IStoreService) {
+ var myObj = {
+ name: 'mgonto'
+ };
+
+ store.set('obj', myObj);
+
+ var myNewObject = store.get('obj');
+
+ console.log('Should be true: ', angular.equals(myNewObject, myObj));
+
+ store.remove('obj');
+
+ store.set('number', 2);
+
+ console.log('Should be true: ', typeof(store.get('number')) === 'number');
+})
+.factory('Auth0Store', function(store: angular.a0.storage.IStoreService) {
+ return store.getNamespacedStore('auth0');
+})
+.controller('NamespacedStoreController', function(Auth0Store: angular.a0.storage.INamespacedStoreService) {
+
+ var myObj = {
+ name: 'mgonto'
+ };
+
+ // This will be saved in localStorage as auth0.obj
+ Auth0Store.set('obj', myObj);
+
+ // This will look for auth0.obj
+ var myNewObject = Auth0Store.get('obj');
+
+ console.log('Should be true: ', angular.equals(myNewObject, myObj));
+});;
+
diff --git a/angular-storage/angular-storage.d.ts b/angular-storage/angular-storage.d.ts
new file mode 100644
index 0000000000..3e442e6693
--- /dev/null
+++ b/angular-storage/angular-storage.d.ts
@@ -0,0 +1,53 @@
+// Type definitions for angular-storage v0.0.11
+// Project: https://github.com/auth0/angular-storage
+// Definitions by: Matthew DeKrey
+// Definitions: https://github.com/borisyankov/DefinitelyTyped
+
+declare module angular.a0.storage {
+ interface IStoreService extends INamespacedStoreService {
+ /**
+ * Returns a namespaced store
+ *
+ * @param {String} namespace - The namespace
+ * @param {String} storage - The name of the storage service. Defaults to local storage.
+ * @param {String} delimiter - The delimiter to use to separate the namespace and the keys.
+ * @returns {INamespacedStoreService}
+ */
+ getNamespacedStore(namespace: string, storage?: string, delimiter?: string): INamespacedStoreService;
+ }
+
+ interface INamespacedStoreService {
+ /**
+ * Sets a new value to the storage with the key name. It can be any object.
+ *
+ * @param {String} name - The key name for the location of the value
+ * @param value - The value to store
+ */
+ set(name: string, value: any): void;
+
+ /**
+ * Returns the saved value with they key name.
+ *
+ * @param {String} name - The key name for the location of the value
+ * @returns The saved value; if you saved an object, you get an object
+ */
+ get(name: string): any;
+
+ /**
+ * Deletes the saved value with the key name
+ *
+ * @param {String} name - The key name for the location of the value to remove
+ */
+ remove(name: string): void;
+ }
+
+ interface IStoreProvider {
+
+ /**
+ * Sets the storage.
+ *
+ * @param {String} storage - The storage name
+ */
+ setStore(storage: string): void;
+ }
+}
\ No newline at end of file