All properties except methods and functions
type Properties<T extends object> = Pick<T, { [K: keyof T]: T[K] extends Function ? never : K }[keyof T]>All properties except methods and functions
class Foo {
foo: string;
bar: string;
constructor(params: Properties<Foo>) {
}
baz() {
}
}
const params: Properties<Foo> = { foo: 'foo', bar: 'bar' };
