Por que o Typescript usa a palavra-chave “export” para tornar públicas as classes e interfaces?

Enquanto mexia com o Typescript, percebi que minhas classes dentro de módulos (usados ​​como namespaces) não estavam disponíveis para outras classes, a menos que eu escrevesseexport palavra-chave antes deles, como:

module some.namespace.here
{
   export class SomeClass{..}
}

Então agora eu posso usar o código acima assim:

var someVar = new some.namespace.here.SomeClass();

No entanto, eu só estava me perguntando por que essa palavra-chave é usada em oposição a apenas usar opublic palavra-chave que é usada no nível do método para significar que um método ou propriedade deve ser acessível externamente. Então, por que não usar esse mesmo mecanismo para tornar as classes e interfaces etc visíveis externamente?

Isso daria código resultante como:

module some.namespace.here
{
   public class SomeClass{..}
}

questionAnswers(2)

yourAnswerToTheQuestion