### Describe the issue with documentation

`BaseOperator` type hints for `retry_delay` and `max_retry_delay` shows `timedelta` only, however the params also accept `float` seconds values.
Also, type hint for `dag` param is missing.
More precise type hints and params descriptions in the docs can help to understand the code behavior easier.

### How to solve the problem

_No response_

### Anything else

_No response_

### Are you willing to submit PR?

- [X] Yes I am willing to submit a PR!

### Code of Conduct

- [X] I agree to follow this project's [Code of Conduct](https://github.com/apache/airflow/blob/main/CODE_OF_CONDUCT.md)

airflow/models/baseoperator.py
"""
        Get list of the direct relatives to the current task, upstream or
        downstream.
        """
        if upstream:
            return self.upstream_list
        else:
            return self.downstream_list
    def __repr__(self):
        return "<Task({self.task_type}): {self.task_id}>".format(self=self)
    @property
    def task_type(self) -> str:
        """@property: type of the task"""
        return self.__class__.__name__
    def add_only_new(self, item_set: Set[str], item: str, dag_id: str) -> None:
        """Adds only new items to item set"""
        if item in item_set:
            self.log.warning('Dependency %s, %s already registered for DAG: %s', self, item, dag_id)
        else:
            item_set.add(item)
    @property
    def roots(self) -> List["BaseOperator"]:
        """Required by TaskMixin"""
        return [self]
    @property
    def leaves(self) -> List["BaseOperator"]: