a.js(22,15): error TS8023: JSDoc '@extends A' does not match the 'extends A.extend()' clause.
a.js(25,19): error TS2339: Property 'a' does not exist on type 'B'.


==== a.js (2 errors) ====
    /** @template T */
    class A {
        /** @returns {T} */
        get a() {
            throw new Error();
        }
    
        /** @returns {typeof C} */
        static extend() {
            return C;
        }
    }
    
    /** @template T */
    class C {
        /** @returns {T} */
        get c() {
            throw new Error();
        }
    }
    
    /** @extends {A<string>} */
                  ~
!!! error TS8023: JSDoc '@extends A' does not match the 'extends A.extend()' clause.
    class B extends A.extend() {}
    
    const a = new B().a;
                      ~
!!! error TS2339: Property 'a' does not exist on type 'B'.
    const c = new B().c;
    