diff --git a/auth0.lock/auth0.lock-tests.ts b/auth0.lock/auth0.lock-tests.ts
new file mode 100644
index 000000000..fd646ee1b
--- /dev/null
+++ b/auth0.lock/auth0.lock-tests.ts
@@ -0,0 +1,13 @@
+///
+///
+
+var lock: Auth0LockStatic = new Auth0Lock("dsa7d77dsa7d7", "mine.auth0.com");
+
+lock.showSignin({
+ connections: ["facebook", "google-oauth2", "twitter", "Username-Password-Authentication"],
+ icon: "https://contoso.com/logo-32.png",
+ socialBigButtons: true
+ },
+ () => {
+ // The Auth0 Widget is now loaded.
+});
diff --git a/auth0.lock/auth0.lock.d.ts b/auth0.lock/auth0.lock.d.ts
new file mode 100644
index 000000000..e8ba3cb99
--- /dev/null
+++ b/auth0.lock/auth0.lock.d.ts
@@ -0,0 +1,80 @@
+// Type definitions for Auth0Widget.js
+// Project: http://auth0.com
+// Definitions by: Robert McLaws
+// Definitions: https://github.com/borisyankov/DefinitelyTyped
+
+///
+
+interface Auth0LockPopupOptions {
+ width: number;
+ height: number;
+ left: number;
+ top: number;
+}
+
+interface Auth0LockOptions {
+ authParams?: any;
+ callbackURL?: string;
+ connections?: string[];
+ container?: string;
+ closable?: boolean;
+ dict?: any;
+ defaultUserPasswordConnection?: string;
+ defaultADUsernameFromEmailPrefix?: boolean;
+ disableResetAction?: boolean;
+ disableSignupAction?: boolean;
+ focusInput?: boolean;
+ forceJSONP?: boolean;
+ gravatar?: boolean;
+ integratedWindowsLogin?: boolean;
+ loginAfterSignup?: boolean;
+ popup?: boolean;
+ popupOptions?: Auth0LockPopupOptions;
+ rememberLastLogin?: boolean;
+ resetLink?: string;
+ responseType?: string;
+ signupLink?: string;
+ socialBigButtons?: boolean;
+ sso?: boolean;
+ theme?: string;
+ usernameStyle?: any;
+}
+
+interface Auth0LockConstructorOptions {
+ cdn?: string;
+ assetsUrl?: string;
+ useCordovaSocialPlugins?: boolean;
+}
+
+interface Auth0LockStatic {
+ new (clientId: string, domain: string, options?: Auth0LockConstructorOptions): Auth0LockStatic;
+
+ show(): void;
+ show(options: Auth0LockOptions): void;
+ show(callback: (error?: Auth0Error, profile?: Auth0UserProfile, token?: string) => void) : void;
+ show(options: Auth0LockOptions, callback: (error?: Auth0Error, profile?: Auth0UserProfile, token?: string) => void) : void;
+
+ showSignin(): void;
+ showSignin(options: Auth0LockOptions): void;
+ showSignin(callback: (error?: Auth0Error, profile?: Auth0UserProfile, token?: string) => void) : void;
+ showSignin(options: Auth0LockOptions, callback: (error?: Auth0Error, profile?: Auth0UserProfile, token?: string) => void) : void;
+
+ showSignup(): void;
+ showSignup(options: Auth0LockOptions): void;
+ showSignup(callback: (error?: Auth0Error) => void) : void;
+ showSignup(options: Auth0LockOptions, callback: (error?: Auth0Error) => void) : void;
+
+ showReset(): void;
+ showReset(options: Auth0LockOptions): void;
+ showReset(callback: (error?: Auth0Error) => void) : void;
+ showReset(options: Auth0LockOptions, callback: (error?: Auth0Error) => void) : void;
+
+ hide(callback: () => void): void;
+ logout(callback: () => void): void;
+}
+
+declare var Auth0Lock: Auth0LockStatic;
+
+declare module "Auth0Lock" {
+ export = Auth0Lock;
+}