use externally loaded rot.js with typescript, without bundling?

I would like to use external rot-js with typescript, without bundlers.
IE load rot-js from e.g. dist/rot.js, and compile my own ts code with TSC.
This causes conflicts both for TSC, for tsconfig.json, and for type resolution during editing.

If I specify nodenext/node moduleResolution in tsconfig, editor can happily see types, but TSC will try to generate require-imports for node, which is wrong both for the externally loaded rot-js, and for our browser context.
If I don’t specify nodenext as module-resolution, I may not use

import * as ROT from "rot-js";

or

import { Display } from "rot-js"; 

Without nodeNext, I could instead do

import * as ROT from "./node_modules/rot-js/dist/rot.js";

but it doesn’t appear to work/editor can’t see types,
and also it emits an ‘import’ in the js output.

rot-jslib actually DOES contain *.d.ts files,
and even index.d.ts. But I can’t seem
to actually import declarations from them..?
Display is exported in index.d.ts,
but if I try to import it directly, I get TS2846,
which says that declaration files can only be imported with
import type.
IF I try to import Display with

import type

I get the error that values can’t be resolved through
import type, so I can’t do e.g.
new Display(…)

If I try to install typings for rot-js, I get a dummy package
which proudly claims, that it is not necessary because
rot-js already has everything and already has typescript source.

I also tried to use triple-slash /// reference path/types, but this doesn’t seem to work either.

Maddeningly, VSCode intellisense seems to ‘know’ the syntax/properties for rot-js stuff, but feigns ignorance when I try to e.g. jump to a symbol. So first it says ‘yeah, there is an object called Display, and it takes these arguments’, but next thing it says ‘a constructor for Display? I know nothing about that, who told you that?”

It feels like a labyrinth of endless combinations that invariably make something else not work.
I read through SOs suggested earlier questions on this topic, but sadly they are mostly unsatisfactorily answered variants of my question here.
Also, this is a general issue I have with typings for external modules when working with typescript tooling, so the question is broader than rot-js.

I guess I could write my own declares from scratch for rot-js, but surely the existing tooling is supposed to already work, in a way I haven’t been able to figure out yet?

To sum up the problem, I ‘just’ want the types to be resolved/enforced, without emitting weird imports or requires. And I cannot figure out if that should come from *.d.ts files, or from actual typescript files, or..

Typings tooling with javascript is really hard to wrap your head around, unless you just close your eyes and use webpack :-/