Minimal working example:
type FuncType<T> = (a: T) => T;
let f1: FuncType<T>; // does not compile
let f2: <T>(a: T) => T; // compiles
The problem is that FuncType is not defined by me, but comes from a library. It is also way more complex than the example above. I would like to use the templated type exported from the library, instead of having to re-declare it myself (as I do when I annotate f2).
Is it even possible? If not, do you know why not?
Thanks for any input, I cannot find anything on this topic