$actions */ public function __construct( public string $kind, public array $sections = [], public array $columns = [], public array $rows = [], public array $actions = [], public string $text = '', public string $empty = '', /** @var list>}> */ public array $charts = [], ) { } public static function sheet(array $sections, array $actions = []): self { return new self('sheet', $sections, [], [], $actions); } public static function grid(array $columns, array $rows, array $actions = [], string $empty = ''): self { return new self('grid', [], $columns, $rows, $actions, '', $empty); } public static function text(string $text, array $actions = []): self { return new self('text', [], [], [], $actions, $text); } }