Tratando tags HTML
A interface HTMLElement representa qualquer elemento HTML (É um tipo genérico).
TypeScript infere por padrão esta interface.
Alguns elementos implementam diretamente essa interface, outros a implementam por meio de uma interface que a herda.
Exemplo: Selecionando o elemento input com a interface HTMLInputElement.
const input = document.getElementById('input') as HTMLInputElement;
input.addEventListener('input', (event) => {
const i = event.currentTarget as HTMLInputElement;
console.log('Valor digitado: ' + i.value);
});