diff --git a/angulartics/angulartics-tests.ts b/angulartics/angulartics-tests.ts
new file mode 100644
index 000000000..cc816a2ab
--- /dev/null
+++ b/angulartics/angulartics-tests.ts
@@ -0,0 +1,25 @@
+///
+///
+
+module Analytics {
+ angular.module("angulartics.app", ["angulartics"])
+ .config(["$analyticsProvider", ($analyticsProvider: Angulartics.IAnalyticsServiceProvider) => {
+ angulartics.waitForVendorApi("location", 1000, (message: string) => {
+ console.log(message);
+ });
+
+ $analyticsProvider.virtualPageviews(false);
+ $analyticsProvider.firstPageview(false);
+ $analyticsProvider.withAutoBase(true);
+ $analyticsProvider.developerMode(true);
+
+ $analyticsProvider.registerEventTrack((action: string, properties?: any) => {
+ console.log(action);
+ });
+
+ $analyticsProvider.registerPageTrack((path: string, locationObj: ng.ILocationService) => {
+ console.log("viewed " + path);
+ });
+ }]);
+}
+
diff --git a/angulartics/angulartics.d.ts b/angulartics/angulartics.d.ts
new file mode 100644
index 000000000..8c8957569
--- /dev/null
+++ b/angulartics/angulartics.d.ts
@@ -0,0 +1,39 @@
+// Type definitions for Angulartics v0.19.2
+// Project: http://luisfarzati.github.io/angulartics/
+// Definitions by: Steven Fan
+// Definitions: https://github.com/borisyankov/DefinitelyTyped
+
+///
+
+interface Angulartics {
+ waitForVendorApi(objectName: string, delay: number, containsField?: any, registerFn?: any, onTimeout?: boolean): void;
+}
+
+declare module Angulartics {
+
+ interface IAnalyticsService {
+ eventTrack(eventName: string, properties?: any): any;
+ pageTrack(path: string, location?: ng.ILocationService): any;
+ setAlias(alias: string): any;
+ setUsername(username: string): any;
+ setUserProperties(properties: any): any;
+ setSuperProperties(properties: any): any;
+ }
+
+ interface IAnalyticsServiceProvider extends angular.IServiceProvider {
+ virtualPageviews(value: boolean): void;
+ firstPageview(value: boolean): void;
+ withBase(value: boolean): void;
+ withAutoBase(value: boolean): void;
+ developerMode(value: boolean): void;
+
+ registerPageTrack(callback: (path: string, location?: ng.ILocationService) => any): void;
+ registerEventTrack(callback: (eventName: string, properties?: any) => any): void;
+ registerSetAlias(callback: (alias: string) => any): void
+ registerSetUsername(callback: (username: string) => any): void
+ registerSetUserProperties(callback: (userProperties: any) => any): void
+ registerSetSuperProperties(callback: (superProperties: any) => any): void
+ }
+}
+
+declare var angulartics:Angulartics;