from collections.abc import Callable from typing import Any, TypeVar _StepFunc = TypeVar("_StepFunc", bound=Callable[..., object]) StepDecorator = Callable[[_StepFunc], _StepFunc] def given(pattern: str, *args: Any, **kwargs: Any) -> StepDecorator: ... def when(pattern: str, *args: Any, **kwargs: Any) -> StepDecorator: ... def then(pattern: str, *args: Any, **kwargs: Any) -> StepDecorator: ...