### What do you see as an issue?

The parameter is a boolean but is described as a string

https://github.com/apache/airflow/blob/1e95b069483f5f26a82946d2facc8f642f5ea389/airflow/providers/amazon/aws/hooks/s3.py#L526C1-L527C1

### Solving the problem

Update the docstring with a matching description as the `_check_key_async` operator

### 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)

"""
        To delete s3 bucket, delete all s3 bucket objects and then delete the bucket.
        .. seealso::
            - :external+boto3:py:meth:`S3.Client.delete_bucket`
        :param bucket_name: Bucket name
        :param force_delete: Enable this to delete bucket even if not empty
        :param max_retries: A bucket must be empty to be deleted.  If force_delete is true,
            then retries may help prevent a race condition between deleting objects in the
            bucket and trying to delete the bucket.
        :return: None
        """
        if force_delete:
            for retry in range(max_retries):
                bucket_keys = self.list_keys(bucket_name=bucket_name)
                if not bucket_keys:
                    break
                if retry:  
                    time.sleep(500)
                self.delete_objects(bucket=bucket_name, keys=bucket_keys)
        self.conn.delete_bucket(Bucket=bucket_name)
    def delete_objects(self, bucket: str, keys: str | list) -> None: