TypeScript: Interface vs Class vs Modules vs Program vs Function

Leí la especificación de TypeScript ubicada en:http://www.typescriptlang.org/Content/TypeScript%20Language%20Specification.pdf

Sin embargo, me confundió con lo siguiente:

InterfazClaseMódulosLos programasFuncionesDeclarar vs var

¿Podría alguien ayudarnos brevemente a entender cuál de los anteriores debería usarse cuándo? ¿Interfaz y clase son iguales a la versión C #?

Respuestas a la pregunta(1)

Su respuesta a la pregunta