Tengo un caso muy específico en el que importo un objeto que contiene declaraciones de clase y lo uso para crear una instancia como propiedad de otra clase. Con las propiedades de clase, necesito definir un tipo, pero cuando lo hago, el tipo asignado es typeof <class> en lugar de una instancia del mismo ( 1. a continuación).
Puedo evitar esto asignando el prototipo de la clase como el tipo en 2. , pero se siente demasiado complicado. ¿Es una forma de declarar que el tipo es una instanceof de la clase, similar a cómo un tipo puede ser un typeof de una clase?
1. El tipo de configuración directamente no funciona
2. Usar el objeto prototype de la clase funciona 
3. Funciona automáticamente para variables declaradas 
4. También funciona si la clase no es una propiedad de objeto 
Dado que 3. funciona, creo que la solución podría estar en cómo se declara @type , pero en 4. el tipo de foo después de ser importado se establece correctamente como una clase, en lugar de typeof foo cuando es una propiedad.
Agradecería la ayuda de cualquiera que sepa lo suficiente sobre JSDoc para explicar lo que realmente está sucediendo aquí y cómo puedo configurar @type correctamente.
Gracias de antemano.