interface Person {
    age: number;
    name: string;
}

const me: Person = {
    age: 0,
    name: '',
};

const setter = <T extends keyof Person>(key: T, value: Person[T]): void => {
    me[key] = value;
};

setter("name", 'as');