Is this what you’re looking for?
type PropType<TObj, TProp extends keyof TObj> = TObj[TProp];
and get type of an object property by doing:
type MyPropType = PropType<ObjType, '<key>'>;
which is the same as the way of using Pick in typescript, and it can report compile error if there’s any invalid key passed in.
Updates
As @astoilkov suggested, a simpler alternative is PropType['key'].