jsonRawJSON2.ts(7,7): error TS2741: Property '#isRawJson' is missing in type '{ rawJSON: string; }' but required in type 'RawJSON'.
jsonRawJSON2.ts(9,7): error TS2741: Property '#isRawJson' is missing in type '{ rawJSON: string; }' but required in type 'RawJSON'.
jsonRawJSON2.ts(10,7): error TS2741: Property '#isRawJson' is missing in type 'Readonly<{ rawJSON: string; }>' but required in type 'RawJSON'.
jsonRawJSON2.ts(11,7): error TS2741: Property '#isRawJson' is missing in type '{ rawJSON: string; }' but required in type 'RawJSON'.
jsonRawJSON2.ts(12,22): error TS2322: Type 'number' is not assignable to type 'string'.
jsonRawJSON2.ts(17,7): error TS2741: Property '#isRawJson' is missing in type 'A' but required in type 'RawJSON'.
jsonRawJSON2.ts(18,7): error TS2420: Class 'B' incorrectly implements interface 'RawJSON'.
  Property '#isRawJson' is missing in type 'B' but required in type 'RawJSON'.
jsonRawJSON2.ts(22,3): error TS2540: Cannot assign to 'rawJSON' because it is a read-only property.
jsonRawJSON2.ts(26,11): error TS2693: 'RawJSON' only refers to a type, but is being used as a value here.
jsonRawJSON2.ts(27,5): error TS2693: 'RawJSON' only refers to a type, but is being used as a value here.
jsonRawJSON2.ts(28,17): error TS2689: Cannot extend an interface 'RawJSON'. Did you mean 'implements'?
jsonRawJSON2.ts(30,1): error TS2304: Cannot find name 'RawJSONInstance'.
jsonRawJSON2.ts(31,10): error TS2304: Cannot find name 'RawJSONInstance'.
jsonRawJSON2.ts(45,7): error TS2741: Property '#isRawJson' is missing in type 'Readonly<RawJSON>' but required in type 'RawJSON'.
jsonRawJSON2.ts(46,7): error TS2741: Property '#isRawJson' is missing in type 'Readonly<RawJSON>' but required in type 'RawJSON'.
jsonRawJSON2.ts(48,7): error TS2741: Property '#isRawJson' is missing in type 'Pick<RawJSON, "rawJSON">' but required in type 'RawJSON'.


==== jsonRawJSON2.ts (16 errors) ====
    const a: RawJSON = JSON.rawJSON("1");
    const b: string = a.rawJSON;
    const c: object = a;
    const d: { readonly rawJSON: string } = a;
    const e: RawJSON = a;
    
    const f: RawJSON = { rawJSON: "1" };
          ~
!!! error TS2741: Property '#isRawJson' is missing in type '{ rawJSON: string; }' but required in type 'RawJSON'.
!!! related TS2728 lib.es2026.json.d.ts:--:--: '#isRawJson' is declared here.
    const g = { rawJSON: "1" };
    const h: RawJSON = g;
          ~
!!! error TS2741: Property '#isRawJson' is missing in type '{ rawJSON: string; }' but required in type 'RawJSON'.
!!! related TS2728 lib.es2026.json.d.ts:--:--: '#isRawJson' is declared here.
    const i: RawJSON = Object.freeze(g);
          ~
!!! error TS2741: Property '#isRawJson' is missing in type 'Readonly<{ rawJSON: string; }>' but required in type 'RawJSON'.
!!! related TS2728 lib.es2026.json.d.ts:--:--: '#isRawJson' is declared here.
    const j: RawJSON = { ...a };
          ~
!!! error TS2741: Property '#isRawJson' is missing in type '{ rawJSON: string; }' but required in type 'RawJSON'.
!!! related TS2728 lib.es2026.json.d.ts:--:--: '#isRawJson' is declared here.
    const k: RawJSON = { rawJSON: 1 };
                         ~~~~~~~
!!! error TS2322: Type 'number' is not assignable to type 'string'.
!!! related TS6500 jsonRawJSON2.ts:54:14: The expected type comes from property 'rawJSON' which is declared here on type 'RawJSON'
    
    class A {
        readonly rawJSON = "1";
    }
    const l: RawJSON = new A();
          ~
!!! error TS2741: Property '#isRawJson' is missing in type 'A' but required in type 'RawJSON'.
!!! related TS2728 lib.es2026.json.d.ts:--:--: '#isRawJson' is declared here.
    class B implements RawJSON {
          ~
!!! error TS2420: Class 'B' incorrectly implements interface 'RawJSON'.
!!! error TS2420:   Property '#isRawJson' is missing in type 'B' but required in type 'RawJSON'.
!!! related TS2728 lib.es2026.json.d.ts:--:--: '#isRawJson' is declared here.
        readonly rawJSON = "1";
    }
    
    a.rawJSON = "2";
      ~~~~~~~
!!! error TS2540: Cannot assign to 'rawJSON' because it is a read-only property.
    declare const m: keyof RawJSON;
    const n: "rawJSON" = m;
    
    const o = RawJSON;
              ~~~~~~~
!!! error TS2693: 'RawJSON' only refers to a type, but is being used as a value here.
    new RawJSON();
        ~~~~~~~
!!! error TS2693: 'RawJSON' only refers to a type, but is being used as a value here.
    class C extends RawJSON {}
                    ~~~~~~~
!!! error TS2689: Cannot extend an interface 'RawJSON'. Did you mean 'implements'?
    
    RawJSONInstance;
    ~~~~~~~~~~~~~~~
!!! error TS2304: Cannot find name 'RawJSONInstance'.
    type T = RawJSONInstance;
             ~~~~~~~~~~~~~~~
!!! error TS2304: Cannot find name 'RawJSONInstance'.
    
    declare const q: unknown;
    if (JSON.isRawJSON(q)) {
        const r: RawJSON = q;
        const s: string = q.rawJSON;
    }
    if (JSON.isRawJSON(g)) {
        const r: RawJSON = g;
    } else {
        const s: string = g.rawJSON;
    }
    
    const t: Readonly<RawJSON> = a;
    const u: RawJSON = t;
          ~
!!! error TS2741: Property '#isRawJson' is missing in type 'Readonly<RawJSON>' but required in type 'RawJSON'.
!!! related TS2728 lib.es2026.json.d.ts:--:--: '#isRawJson' is declared here.
    const v: RawJSON = Object.freeze(a);
          ~
!!! error TS2741: Property '#isRawJson' is missing in type 'Readonly<RawJSON>' but required in type 'RawJSON'.
!!! related TS2728 lib.es2026.json.d.ts:--:--: '#isRawJson' is declared here.
    const w: Pick<RawJSON, "rawJSON"> = a;
    const x: RawJSON = w;
          ~
!!! error TS2741: Property '#isRawJson' is missing in type 'Pick<RawJSON, "rawJSON">' but required in type 'RawJSON'.
!!! related TS2728 lib.es2026.json.d.ts:--:--: '#isRawJson' is declared here.
    
    const y: RawJSON = Object.assign({}, a);
    const z: RawJSON = new Proxy(a, {});
    
    interface RawJSON {
        readonly rawJSON: string;
    }
    