> * @template DEFAULTS of array, int|string|array> */ interface Block { /** * Get the name of this block. * * @return string */ public function get_name(): string; /** * Get the list of attributes and their types. * * Must be done on both PHP and JS sides to support default values * and SeverSideRender. * * @see Pro_Block_Abstract::get_all_attributes() * * @link https://developer.wordpress.org/block-editor/reference-guides/block-api/block-attributes/ * * @return array */ public function get_attributes(); /** * Get the widget class, which matches this block. * * @return Widget */ public function get_widget_class(): Widget; /** * Get the description of this block. * * @return string */ public function get_description(): string; }