Une interface et un alias de type (type) décrivent la forme d'un objet : ses propriétés et leurs types. Une interface peut être étendue avec extends et fusionnée par déclarations successives ; un alias peut nommer n'importe quel type, y compris des unions. Ils servent de contrat entre les parties d'un programme.
Exemple
interface Utilisateur {
id: number;
nom: string;
email?: string;
}