*/ abstract protected function data(): array; abstract protected function title(): string; abstract protected function component(): string; /** * @return array{data: array, title: string, component: string} */ public function render(): array { return [ 'data' => $this->data(), 'title' => $this->title(), 'component' => $this->component(), ]; } }