diff --git a/oclazyload/oclazyload-tests.ts b/oclazyload/oclazyload-tests.ts
new file mode 100644
index 000000000..3879a564b
--- /dev/null
+++ b/oclazyload/oclazyload-tests.ts
@@ -0,0 +1,23 @@
+///
+
+var lazyloader:Function = ()=>{};
+
+var config1: oc.ILazyLoadConfig = {
+ asyncLoader: lazyloader
+};
+
+var config2:oc.ILazyLoadConfig = {
+ asyncLoader: lazyloader,
+ loadedModules: ['module1', 'module2']
+};
+
+var moduleConfig:oc.ILazyLoadModuleConfig = {
+ name:'testmodule',
+ files:['testmodule']
+}
+
+var config2:oc.ILazyLoadConfig = {
+ asyncLoader: lazyloader,
+ loadedModules: ['module1', 'module2'],
+ modules: [moduleConfig]
+};
diff --git a/oclazyload/oclazyload.d.ts b/oclazyload/oclazyload.d.ts
new file mode 100644
index 000000000..22ac45f9d
--- /dev/null
+++ b/oclazyload/oclazyload.d.ts
@@ -0,0 +1,34 @@
+// Type definitions for oc.LazyLoad
+// Project: https://github.com/ocombe/ocLazyLoad
+// Definitions by: Roland Zwaga
+// Definitions: https://github.com/borisyankov/DefinitelyTyped
+
+///
+
+declare module oc {
+
+ interface ILazyLoadConfig {
+ asyncLoader:any;
+ loadedModules?:string[];
+ modules?:ILazyLoadModuleConfig[];
+ }
+
+ interface ILazyLoadModuleConfig {
+ name:string;
+ files:string[];
+ }
+
+ interface ILazyLoad {
+ load(module:any):ng.IPromise;
+ loadTemplateFile(url:string, config:ILazyLoadModuleConfig):ng.IPromise;
+ loadTemplateFile(urls:string[], config:ILazyLoadModuleConfig):ng.IPromise;
+ getModuleName(moduleName:string):string;
+ getModules():string[];
+ getModuleConfig(name:string):ILazyLoadModuleConfig;
+ setModuleConfig(config:ILazyLoadModuleConfig):void;
+ }
+
+ interface ILazyLoadProvider {
+ config(config:ILazyLoadConfig):void;
+ }
+}
\ No newline at end of file