That is a “definite assignment assertion”: varname !: sometype informs typescript not to worry about checking if varname might be unassigned (it tells typescript that varname will definitely be assigned, even if typescript cannot infer where it is assigned). Normally typescript will check if the variable may be unassigned, and gives errors.
For more information, see: https://www.typescriptlang.org/docs/handbook/release-notes/typescript-2-7.html#definite-assignment-assertions