I have a very specific case where I import an object containing class declarations, and I use it to create an instance as a property of another class. With class properties, I need to define a type, but when I do, the assigned type is typeof <class> instead of an instance of it (1. below).
I can get around this by assigning the prototype of the class as the type like in 2., but it feels too convoluted. Is a way to declare that the type is an instanceof the class, similar to how a type can be a typeof a class?
1. Setting type directly doesn't work
2. Using the class's prototype object works

3. Works automatically for declared variables

4. Also works if the class isn't an object property

Given that 3. works, I think the solution could be in how @type is declared, but in 4. foo's type after being imported is properly set as a class, instead of typeof foo when it's a property.
I'd appreciate the help of anyone who knows enough about JSDoc in explaining what's actually happening here, and how I can set the @type properly.
Thank you in advance.