def METHOD_NAME(self) -> Tuple[str, int]:
    """
    returns a tuple of (access_token, token_lifespan_in_seconds)
    """
    try:
        response = requests.request(
            method="POST",
            url=self.token_refresh_endpoint,
            data=self.get_refresh_request_body(),
            headers=self.get_refresh_access_token_headers(),
        )
        response.raise_for_status()
        response_json = response.json()
        return response_json["access_token"], int(response_json["expires_in"])
    except requests.exceptions.RequestException as e:
        if e.response.status_code == 429 or e.response.status_code >= 500:
            raise DefaultBackoffException(request=e.response.request, response=e.response)
        raise
    except Exception as e:
        raise Exception(f"Error while refreshing access token: {e}") from e