class C { userName: string } function f< T extends new (...args: any[]) => any, K extends keyof InstanceType<T> >(cls: T, data: K) { } f(C, 'userName')
const fun = <T extends new (...args: any[]) => any, K = keyof InstanceType<T>>(cls: T, data: K) => { }