extendingClassFromAliasAndUsageInIndexer_backbone.ts(2,12): error TS2564: Property 'someData' has no initializer and is not definitely assigned in the constructor.
extendingClassFromAliasAndUsageInIndexer_main.ts(13,30): error TS2454: Variable 'moduleName' is used before being assigned.


==== extendingClassFromAliasAndUsageInIndexer_main.ts (1 errors) ====
    import Backbone = require("./extendingClassFromAliasAndUsageInIndexer_backbone");
    import moduleA = require("./extendingClassFromAliasAndUsageInIndexer_moduleA");
    import moduleB = require("./extendingClassFromAliasAndUsageInIndexer_moduleB");
    interface IHasVisualizationModel {
        VisualizationModel: typeof Backbone.Model;
    }
    var moduleATyped: IHasVisualizationModel = moduleA;
    var moduleMap: { [key: string]: IHasVisualizationModel } = {
        "moduleA": moduleA,
        "moduleB": moduleB
    };
    var moduleName: string;
    var visModel = new moduleMap[moduleName].VisualizationModel();
                                 ~~~~~~~~~~
!!! error TS2454: Variable 'moduleName' is used before being assigned.
==== extendingClassFromAliasAndUsageInIndexer_backbone.ts (1 errors) ====
    export class Model {
        public someData: string;
               ~~~~~~~~
!!! error TS2564: Property 'someData' has no initializer and is not definitely assigned in the constructor.
    }
    
==== extendingClassFromAliasAndUsageInIndexer_moduleA.ts (0 errors) ====
    import Backbone = require("./extendingClassFromAliasAndUsageInIndexer_backbone");
    export class VisualizationModel extends Backbone.Model {
        // interesting stuff here
    }
    
==== extendingClassFromAliasAndUsageInIndexer_moduleB.ts (0 errors) ====
    import Backbone = require("./extendingClassFromAliasAndUsageInIndexer_backbone");
    export class VisualizationModel extends Backbone.Model {
        // different interesting stuff here
    }
    