diff --git a/synapse/http/servlet.py b/synapse/http/servlet.py
index d61563d39b..72e2ec78db 100644
--- a/synapse/http/servlet.py
+++ b/synapse/http/servlet.py
@@ -295,6 +295,30 @@ def parse_strings_from_args(
return default
+@overload
+def parse_string_from_args(
+ args: Dict[bytes, List[bytes]],
+ name: str,
+ default: Optional[str] = None,
+ required: Literal[True] = True,
+ allowed_values: Optional[Iterable[str]] = None,
+ encoding: str = "ascii",
+) -> str:
+ ...
+
+
+@overload
+def parse_string_from_args(
+ args: Dict[bytes, List[bytes]],
+ name: str,
+ default: Optional[str] = None,
+ required: bool = False,
+ allowed_values: Optional[Iterable[str]] = None,
+ encoding: str = "ascii",
+) -> Optional[str]:
+ ...
+
+
def parse_string_from_args(
args: Dict[bytes, List[bytes]],
name: str,
|