This is done by duplicating `index.d.ts` into `index.d.cts`, and
modifying it for CommonJS. The same was done for type tests.
Unfortunately I was unable to find a way to re-use types without
drastically changing the code base.
To test this, a minimum TypeScript version of 4.7 is needed, so it has
been updated. The old types still work with older TypeScript versions.
Co-authored-by: Jay <jasonsaayman@gmail.com>