TypeScript: interface vs classe vs módulos vs programa vs função

Eu li a especificação TypeScript localizada em:http://www.typescriptlang.org/Content/TypeScript%20Language%20Specification.pdf

No entanto, me confundiu com o seguinte:

InterfaceClasseMódulosProgramasFunções.Declarar vs. var

Alguém poderia ajudar brevemente a entender qual dos itens acima deveria ser usado quando? Interface e classe são iguais às versões C #?

questionAnswers(1)

yourAnswerToTheQuestion