An interface-declaration is a type-declaration (§9.5) that declares a new interface type.
An interface-declaration consists of an optional set of attributes (§17), followed by an optional set of interface-modifiers (§13.1.1), followed by the keyword interface
and an identifier that names the interface, optionally followed by an optional interface-base specification (§13.1.2), followed by a interface-body (§13.1.3), optionally followed by a semicolon.