Ответ 1
В TypeScript наиболее близким к тому, чтобы вы могли напрямую использовать внешние модули, является сглаживание. Как показано в TypeScript Справочник, он используется следующим образом:
module Shapes {
export module Polygons {
export class Triangle { }
export class Square { }
}
}
import polygons = Shapes.Polygons;
var sq = new polygons.Square(); // Same as 'new Shapes.Polygons.Square()'
Это не помещает интерфейсы в корневую область модуля, потому что это может привести к конфликтам именования, если модуль Polygons был обновлен и дает понять, что вы ссылаетесь на что-то внешнее.