diff --git a/djblets/extensions/hooks.py b/djblets/extensions/hooks.py
index 73fd099b36249e5b13ce603dadf03406135ad118..751f9179e039e414b1eab6ed9c77afb5ba92bcb5 100644
--- a/djblets/extensions/hooks.py
+++ b/djblets/extensions/hooks.py
@@ -304,7 +304,7 @@ class ExtensionHookPoint(type):
 
 
 if TYPE_CHECKING:
-    MixinParent = Extension
+    MixinParent = ExtensionHook
 else:
     MixinParent = object
 
@@ -317,9 +317,16 @@ class AppliesToURLMixin(MixinParent):
     page.
     """
 
+    ######################
+    # Instance variables #
+    ######################
+
+    #: The list of URL names that the hook will apply to by default.
+    apply_to: Sequence[str]
+
     def initialize(
         self,
-        apply_to: List[str] = [],
+        apply_to: (Sequence[str] | None) = None,
         *args,
         **kwargs,
     ) -> None:
@@ -329,7 +336,7 @@ class AppliesToURLMixin(MixinParent):
             apply_to (list, optional):
                 A list of URL names that the hook will apply to by default.
         """
-        self.apply_to = apply_to
+        self.apply_to = apply_to or []
 
         super().initialize(*args, **kwargs)
 
