'button', * 'text' => 'Button text', * 'link' => 'https://example.com' | '/services/new, * ] * @return array */ public function getAction(): array; /** * Returns all data needed to show the task in the UI. Keys that are * required are 'id', 'text', 'status', 'type' and 'action'. */ public function toArray(): array; /** * Reads if the task is required */ public function isRequired(): bool; /** * Reads if the task is hidden */ public function isHidden(): bool; /** * Sets the status of the task from another task. */ public function setStatusFromTask(TaskInterface $task): self; /** * Activate the task by setting the state to 'open' */ public function open(): self; /** * Set the task to the 'urgent' state */ public function urgent(): self; /** * Dismiss the task by setting the state to 'dismissed' * @throws DismissRequiredTaskException if the task is required */ public function dismiss(): self; /** * Complete the task by setting the state to 'completed' */ public function complete(): self; /** * Hide the task by setting the state to 'hidden' */ public function hide(): self; }