|null */ protected ?array $data = null; /** * The id of the external user. */ protected ?int $userId = null; public function __construct(protected ExternalToken $token) {} public function getUserId(): ?int { return $this->userId; } protected function getToken(): string { return Crypt::decrypt($this->token->access_token); } abstract public function getUsername(): ?string; /** * Get the entries of the response. * * @return array> */ abstract public function getEntries(): array; /** * @throws RequestException */ abstract protected function makeRequest(): void; }