diff --git a/changelog.d/14451.misc b/changelog.d/14451.misc
new file mode 100644
index 0000000000..ab563195b4
--- /dev/null
+++ b/changelog.d/14451.misc
@@ -0,0 +1 @@
+Fix an incorrect stub return type for `PushRuleEvaluator.run`.
\ No newline at end of file
diff --git a/stubs/synapse/synapse_rust/push.pyi b/stubs/synapse/synapse_rust/push.pyi
index f3b6d6c933..ceade65ef9 100644
--- a/stubs/synapse/synapse_rust/push.pyi
+++ b/stubs/synapse/synapse_rust/push.pyi
@@ -1,4 +1,4 @@
-from typing import Any, Collection, Dict, Mapping, Optional, Sequence, Set, Tuple, Union
+from typing import Any, Collection, Dict, Mapping, Optional, Sequence, Tuple, Union
from synapse.types import JsonDict
@@ -47,4 +47,4 @@ class PushRuleEvaluator:
push_rules: FilteredPushRules,
user_id: Optional[str],
display_name: Optional[str],
- ) -> Collection[dict]: ...
+ ) -> Collection[Union[Mapping, str]]: ...
|