Represents the declaration of an interface.
Provides access to information about the interface and its members.
Note that an annotation type is
a kind of interface.
While an InterfaceDeclaration represents the
declaration of an interface, an InterfaceType
represents an interface type.
See TypeDeclaration for more on this distinction.