Ссылка
const myFunction = <K extends keyof MyObjectTypes>(key: K): MyObjectTypes[K] => myObject[key];
суть: передаем в myFunction значение, которое может быть только одним из ключей
MyObjectTypes (ограничение
extends keyof MyObjectTypes)
по этому переданному значению определяется конкретное
К - сужение типа до одного ключа.
ну и далее
MyObjectTypes[K] по этим данным уже точно знает свой тип.