=== /src/a.ts ===
import { a } from "a";
>a : (x: import("/node_modules/a/node_modules/x/index").default) => void

import { b } from "b";
>b : import("/node_modules/a/node_modules/x/index").default

import { c } from "c";
>c : import("/node_modules/c/node_modules/x/index").default

a(b); // Works
>a(b) : void
>a : (x: import("/node_modules/a/node_modules/x/index").default) => void
>b : import("/node_modules/a/node_modules/x/index").default

a(c); // Error, these are from different versions of the library.
>a(c) : void
>a : (x: import("/node_modules/a/node_modules/x/index").default) => void
>c : import("/node_modules/c/node_modules/x/index").default

=== /node_modules/a/index.d.ts ===
import X from "x";
>X : typeof X

export function a(x: X): void;
>a : (x: X) => void
>x : X

=== /node_modules/a/node_modules/x/index.d.ts ===
export default class X {
>X : X

    private x: number;
>x : number
}

=== /node_modules/b/index.d.ts ===
import X from "x";
>X : typeof X

export const b: X;
>b : X

=== /node_modules/b/node_modules/x/index.d.ts ===
content not parsed
>X : X

>x : number

=== /node_modules/c/index.d.ts ===
import X from "x";
>X : typeof X

export const c: X;
>c : X

=== /node_modules/c/node_modules/x/index.d.ts ===
export default class X {
>X : X

    private x: number;
>x : number
}

