from typing import Any, Callable, Optional, Type _CompareWithType = Callable[[Any, Any], bool] def cmp_using( eq: Optional[_CompareWithType] = ..., lt: Optional[_CompareWithType] = ..., le: Optional[_CompareWithType] = ..., gt: Optional[_CompareWithType] = ..., ge: Optional[_CompareWithType] = ..., require_same_type: bool = ..., class_name: str = ..., ) -> Type: ...