[typescript] Enforcing the type of the indexed members of a Typescript object?