fullState ??= false; $this->setPresence ??= PresenceState::ONLINE; $this->timeout ??= 0; $this->useStateAfter ??= false; } public function getUri(string $scheme, string $serverName, ApiPathVersion $version): string { return "{$scheme}://{$serverName}/_matrix/client/{$version}/sync"; } public function getQueryParameters(): array { return array_filter([ "filter" => $this->filter, "full_state" => $this->fullState, "set_presence" => $this->setPresence, "since" => $this->since, "timeout" => $this->timeout, "use_state_after" => $this->useStateAfter, ], fn ($value) => ! is_null($value)); } public function getBody(): array { return []; } }