сlass Test<T> {}
сlass Test<T extends Record<string, any>> {}
type Check<T extends {}> = {} extends T ? never : T;
class Test<T extends {}> {
func(x: Check<T>) {
console.log(x);
}
}
const obj = new Test<{}>();
obj.func({}); // ошибка TS