I noticed while trying to pick up work on mkbread on a train that the
translate endpoint was missing so here it is now.
I just copy-pasted the list of endpoints in the order that they were
in in the backend and copied back the existing type annotations.
It doesn't feel reasonable to invest more time in the typings if
we might have a chance at creating the one-source-of-truth elseway.
The use of `"moduleResolution": "Node16"` is to make TS use the same
module resolution as Node does when using ESM modules.
`reconnecting-websocket`'s TS definition files were copied over but
wrapped in a `declare module` block to make TS properly accept
using the default import directly without using `.default`.
I also decided to look into `autobind-decorator`'s source code and
figured that I could use the `boundMethod` annotation directly instead
of using the `autobind` default export.
Technically, ESM modules require imports to include file extensions.
For whatever reason this didn't seem to be required when importing into
the client, but it does seem to be required for use in the backend.