I’m trying to use tsc with plain, Vanilla JS and I’m stumped on how to declare the type a function. It seems like it should be this simple: Edit: /** @type PersonGreet */ is correct. The current behavior is a bug in tsc. The selected answer below gives valid workarounds. Reduced Test Case Ignore the fact that someone may want