Alas, MyPy doesn't have the concept of "keyof" and mapped types like TypeScript.
So in place of that I would:
1. Define a variable called Params = Any;
2. Liberally use Param["foo"] and Param["bar"] anywhere.
3. Once you stabilize, reimplement Params as a TypedDict. You'll get failures if accessing any invalid key.
You can also use a NamedTuple if you prefer.
If you insist passing a param name, then you'll have to create a big list of Literals for param with every key in your dict. So Param = Literal["foo", "bar"] etc.