# https://jsr.io/@scope/a/meta.json
{"versions": { "1.0.0": {} } }

# https://jsr.io/@scope/a/1.0.0_meta.json
{ "exports": { ".": "./mod.ts" } }

# https://jsr.io/@scope/a/1.0.0/mod.ts
/** A */
export class ClassBasic {
  /** B */
  constructor(prop: string, other = 5) {
  }
}
export class ClassPrivateCtor {
  private constructor(prop: string, other: Private1) {
  }
}
export class ClassPrivateCtorWithOverloads {
  private constructor(prop: string, other: Private1);
  private constructor(prop: string, other: Private1) {
  }
}
export declare class ClassDeclarePrivateCtor {
  private constructor(prop: string, other: Private1);
}
export class ClassProtectedCtor {
  protected constructor(prop: string, other = 5) {
  }
}
export class ClassProtectedCtorWithOverloads {
  protected constructor(prop: Public1);
  protected constructor(prop: Private1) {
  }
}
export class ClassCtorWithOverloads {
  constructor(prop: Public1);
  constructor(prop: Private1) {
  }
}
export class ClassPrivateCtorPublicParamProp {
  private constructor(public param1: Public2, private param2: Private1) {
  }
}
export class ClassCtorPublicParamProp {
  constructor(
    public param1: Public3,
    private param2: Public4,
    private param3: Public5 = new Public5(),
  ) {
  }
}
export class ClassCtorPublicParamPropInit {
  constructor(public param1: Public3 = new Private1()) {
  }
}
export class ClassCtorPublicParamPropOptional {
  constructor(public param1?: string) {
  }
}
export declare class AmbientClassCtor {
  constructor(public param: string, private value: number);
  constructor(public param: string);
}

class Public1 {}
class Public2 {}
class Public3 {}
class Public4 {}
class Public5 {}
class Private1 {}

export class Base {
  protected constructor(prop: string) {
  }
}

export class Child extends Base {
  private constructor();
  private constructor() {
    super("");
  }
}

# mod.ts
import 'jsr:@scope/a'

# output
{
  "roots": [
    "file:///mod.ts"
  ],
  "modules": [
    {
      "kind": "esm",
      "dependencies": [
        {
          "specifier": "jsr:@scope/a",
          "code": {
            "specifier": "jsr:@scope/a",
            "resolutionMode": "import",
            "span": {
              "start": {
                "line": 0,
                "character": 7
              },
              "end": {
                "line": 0,
                "character": 21
              }
            }
          }
        }
      ],
      "size": 22,
      "mediaType": "TypeScript",
      "specifier": "file:///mod.ts"
    },
    {
      "kind": "esm",
      "size": 1695,
      "mediaType": "TypeScript",
      "specifier": "https://jsr.io/@scope/a/1.0.0/mod.ts"
    }
  ],
  "redirects": {
    "jsr:@scope/a": "https://jsr.io/@scope/a/1.0.0/mod.ts"
  },
  "packages": {
    "@scope/a@*": "@scope/a@1.0.0"
  }
}

Fast check https://jsr.io/@scope/a/1.0.0/mod.ts:
  {}
  /** A */ export class ClassBasic {
    /** B */ constructor(prop: string, other?: number){}
  }
  export class ClassPrivateCtor {
    private constructor(){}
  }
  export class ClassPrivateCtorWithOverloads {
    private constructor(){}
  }
  export declare class ClassDeclarePrivateCtor {
    private constructor(prop: string, other: Private1);
  }
  export class ClassProtectedCtor {
    protected constructor(prop: string, other?: number){}
  }
  export class ClassProtectedCtorWithOverloads {
    protected constructor(prop: Public1);
    protected constructor(param0?: any){}
  }
  export class ClassCtorWithOverloads {
    constructor(prop: Public1);
    constructor(param0?: any){}
  }
  export class ClassPrivateCtorPublicParamProp {
    declare param1: Public2;
    declare private param2: any;
    private constructor(){}
  }
  export class ClassCtorPublicParamProp {
    declare param1: Public3;
    declare private param2: any;
    declare private param3: any;
    constructor(param1: Public3, param2: Public4, param3?: Public5){}
  }
  export class ClassCtorPublicParamPropInit {
    declare param1: Public3;
    constructor(param1?: Public3){}
  }
  export class ClassCtorPublicParamPropOptional {
    declare param1?: string;
    constructor(param1?: string){}
  }
  export declare class AmbientClassCtor {
    constructor(public param: string, private value: number);
    constructor(public param: string);
  }
  class Public1 {
  }
  class Public2 {
  }
  class Public3 {
  }
  class Public4 {
  }
  class Public5 {
  }
  export class Base {
    protected constructor(prop: string){}
  }
  export class Child extends Base {
    private constructor(){
      super({} as never);
    }
  }
  --- DTS ---
  /** A */ export declare class ClassBasic {
    /** B */ constructor(prop: string, other?: number);
  }
  export declare class ClassPrivateCtor {
    private constructor();
  }
  export declare class ClassPrivateCtorWithOverloads {
    private constructor();
  }
  export declare class ClassDeclarePrivateCtor {
    private constructor(prop: string, other: Private1);
  }
  export declare class ClassProtectedCtor {
    protected constructor(prop: string, other?: number);
  }
  export declare class ClassProtectedCtorWithOverloads {
    protected constructor(prop: Public1);
  }
  export declare class ClassCtorWithOverloads {
    constructor(prop: Public1);
  }
  export declare class ClassPrivateCtorPublicParamProp {
    param1: Public2;
    private param2: any;
    private constructor();
  }
  export declare class ClassCtorPublicParamProp {
    param1: Public3;
    private param2: any;
    private param3: any;
    constructor(param1: Public3, param2: Public4, param3?: Public5);
  }
  export declare class ClassCtorPublicParamPropInit {
    param1: Public3;
    constructor(param1?: Public3);
  }
  export declare class ClassCtorPublicParamPropOptional {
    param1?: string;
    constructor(param1?: string);
  }
  export declare class AmbientClassCtor {
    constructor(public param: string, private value: number);
    constructor(public param: string);
  }
  declare class Public1 {
  }
  declare class Public2 {
  }
  declare class Public3 {
  }
  declare class Public4 {
  }
  declare class Public5 {
  }
  export declare class Base {
    protected constructor(prop: string);
  }
  export declare class Child extends Base {
    private constructor();
  }
