An interface-declaration is a type-declaration (16.5) that declares a new interface type. interface-declaration : attributesinterface-modifiersinterfaceidentifierinterface-baseinterface-body; An interface-declaration consists of an optional set of attributes (24), followed by an optional set of interface-modifiers (20.1.1), followed by the keyword interface and an identifier that names the interface, optionally followed by an optional interface-base specification (20.1.2), followed by a interface-body (20.1.3), optionally followed by a semicolon.