/a.js(21,44): error TS1360: Type '{ a: number; b: number; }' does not satisfy the expected type 'T1'.
  Object literal may only specify known properties, and 'b' does not exist in type 'T1'.
/a.js(22,17): error TS1360: Type '{}' does not satisfy the expected type 'T1'.
  Property 'a' is missing in type '{}' but required in type 'T1'.
/a.js(31,49): error TS1360: Type '{ a: string; b: string; }' does not satisfy the expected type 'T4'.
  Object literal may only specify known properties, and 'b' does not exist in type 'T4'.


==== /a.js (3 errors) ====
    /**
     * @typedef {Object} T1
     * @property {number} a
     */
    
    /**
     * @typedef {Object} T2
     * @property {"a" | "b"} a
     */
    
    /**
     * @typedef {(x: string) => string} T3
     */
    
    /**
     * @typedef {Object} T4
     * @property {string} a
     */
    
    const t1 = /** @satisfies {T1} */ ({ a: 1 });
    const t2 = /** @satisfies {T1} */ ({ a: 1, b: 1 });
                                               ~
!!! error TS1360: Type '{ a: number; b: number; }' does not satisfy the expected type 'T1'.
!!! error TS1360:   Object literal may only specify known properties, and 'b' does not exist in type 'T1'.
    const t3 = /** @satisfies {T1} */ ({});
                    ~~~~~~~~~
!!! error TS1360: Type '{}' does not satisfy the expected type 'T1'.
!!! error TS1360:   Property 'a' is missing in type '{}' but required in type 'T1'.
!!! related TS2728 /a.js:3:4: 'a' is declared here.
    
    /** @type {T2} */
    const t4 = /** @satisfies {T2} */ ({ a: "a" });
    
    /** @type {(m: string) => string} */
    const t5 = /** @satisfies {T3} */((m) => m.substring(0));
    const t6 = /** @satisfies {[number, number]} */ ([1, 2]);
    const t7 = /** @satisfies {T4} */ ({ a: 'test' });
    const t8 = /** @satisfies {T4} */ ({ a: 'test', b: 'test' });
                                                    ~
!!! error TS1360: Type '{ a: string; b: string; }' does not satisfy the expected type 'T4'.
!!! error TS1360:   Object literal may only specify known properties, and 'b' does not exist in type 'T4'.
    