Is there a way to get the following function declaration?
public bool Foo() where T : interface;
ie. where T is an interface type
No, actually, if you are thinking class and struct mean classes and structs, you're wrong. class means any reference type (e.g. includes interfaces too) and struct means any value type (e.g. struct, enum).
class
struct
enum