//// [declFileGenericType2.ts] declare module templa.mvc { interface IModel { } } declare module templa.mvc { interface IController { } } declare module templa.mvc { class AbstractController implements mvc.IController { } } declare module templa.mvc.composite { interface ICompositeControllerModel extends mvc.IModel { getControllers(): mvc.IController[]; } } module templa.dom.mvc { export interface IElementController extends templa.mvc.IController { } } // Module module templa.dom.mvc { export class AbstractElementController extends templa.mvc.AbstractController implements IElementController { constructor() { super(); } } } // Module module templa.dom.mvc.composite { export class AbstractCompositeElementController extends templa.dom.mvc.AbstractElementController { public _controllers: templa.mvc.IController[]; constructor() { super(); this._controllers = []; } } } //// [declFileGenericType2.js] var __extends = this.__extends || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; function __() { this.constructor = d; } __.prototype = b.prototype; d.prototype = new __(); }; // Module var templa; (function (templa) { (function (dom) { (function (mvc) { var AbstractElementController = (function (_super) { __extends(AbstractElementController, _super); function AbstractElementController() { _super.call(this); } return AbstractElementController; })(templa.mvc.AbstractController); mvc.AbstractElementController = AbstractElementController; })(dom.mvc || (dom.mvc = {})); var mvc = dom.mvc; })(templa.dom || (templa.dom = {})); var dom = templa.dom; })(templa || (templa = {})); // Module var templa; (function (templa) { (function (dom) { (function (mvc) { (function (composite) { var AbstractCompositeElementController = (function (_super) { __extends(AbstractCompositeElementController, _super); function AbstractCompositeElementController() { _super.call(this); this._controllers = []; } return AbstractCompositeElementController; })(templa.dom.mvc.AbstractElementController); composite.AbstractCompositeElementController = AbstractCompositeElementController; })(mvc.composite || (mvc.composite = {})); var composite = mvc.composite; })(dom.mvc || (dom.mvc = {})); var mvc = dom.mvc; })(templa.dom || (templa.dom = {})); var dom = templa.dom; })(templa || (templa = {})); //// [declFileGenericType2.d.ts] declare module templa.mvc { interface IModel { } } declare module templa.mvc { interface IController { } } declare module templa.mvc { class AbstractController implements IController { } } declare module templa.mvc.composite { interface ICompositeControllerModel extends IModel { getControllers(): IController[]; } } declare module templa.dom.mvc { interface IElementController extends templa.mvc.IController { } } declare module templa.dom.mvc { class AbstractElementController extends templa.mvc.AbstractController implements IElementController { constructor(); } } declare module templa.dom.mvc.composite { class AbstractCompositeElementController extends AbstractElementController { _controllers: templa.mvc.IController[]; constructor(); } }