diff --git a/composer.json b/composer.json
index 805df77..93bd2ab 100644
--- a/composer.json
+++ b/composer.json
@@ -21,7 +21,7 @@
     }
   },
   "require": {
-    "drupal/core": "^8.8 || ^9 || ^10"
+    "drupal/core": "^10.1 || ^11"
   },
   "require-dev": {
     "drupal/crop": "^2.1",
diff --git a/custom_elements.info.yml b/custom_elements.info.yml
index 93f8e2c..31a9810 100644
--- a/custom_elements.info.yml
+++ b/custom_elements.info.yml
@@ -2,4 +2,4 @@ name: Custom Elements
 description: Renders content as custom elements.
 package: Other
 type: module
-core_version_requirement: ^8.8 || ^9 || ^10
+core_version_requirement: ^10.1 || ^11
diff --git a/src/CustomElementNormalizer.php b/src/CustomElementNormalizer.php
index 75f3303..d984d99 100644
--- a/src/CustomElementNormalizer.php
+++ b/src/CustomElementNormalizer.php
@@ -15,7 +15,7 @@ class CustomElementNormalizer implements NormalizerInterface {
   /**
    * {@inheritdoc}
    */
-  public function normalize($object, $format = NULL, array $context = []) {
+  public function normalize($object, $format = NULL, array $context = []): array|bool|string|int|float|null|\ArrayObject {
     $cache_metadata = $context['cache_metadata'] ?? new BubbleableMetadata();
     $result = $this->normalizeCustomElement($object, $cache_metadata);
     return $this->convertKeysToCamelCase($result);
@@ -24,7 +24,7 @@ class CustomElementNormalizer implements NormalizerInterface {
   /**
    * {@inheritdoc}
    */
-  public function supportsNormalization($data, $format = NULL) {
+  public function supportsNormalization($data, $format = NULL): bool {
     return $data instanceof CustomElement;
   }
 
