old_contents: # ------------------------------------
  # Copyright (c) Microsoft Corporation.
  # Licensed under the MIT License.
  # ------------------------------------
  from typing import Any, Optional
  from typing_extensions import Protocol
  from .credentials import AccessToken
  
  class AsyncTokenCredential(Protocol):
      """Protocol for classes able to provide OAuth tokens."""
  
      async def get_token(
          self, *scopes: str, claims: Optional[str] = None, tenant_id: Optional[str] = None, **kwargs: Any
      ) -> AccessToken:
          """Request an access token for `scopes`.
  
          :param str scopes: The type of access needed.
  
          :keyword str claims: Additional claims required in the token, such as those returned in a resource
              provider's claims challenge following an authorization failure.
          :keyword str tenant_id: Optional tenant to include in the token request.
  
          :rtype: AccessToken
          :return: An AccessToken instance containing the token string and its expiration time in Unix time.
          """
  
      async def close(self) -> None:
          pass
  
      async def __aenter__(self):
          pass
  
      async def __aexit__(self, exc_type, exc_value, traceback) -> None:
          pass
  
new_contents: # ------------------------------------
  # Copyright (c) Microsoft Corporation.
  # Licensed under the MIT License.
  # ------------------------------------
  from typing import Any, Optional
  from typing_extensions import Protocol
  from .credentials import AccessToken as _AccessToken
  
  class AsyncTokenCredential(Protocol):
      """Protocol for classes able to provide OAuth tokens."""
  
      async def get_token(
          self, *scopes: str, claims: Optional[str] = None, tenant_id: Optional[str] = None, **kwargs: Any
      ) -> _AccessToken:
          """Request an access token for `scopes`.
  
          :param str scopes: The type of access needed.
  
          :keyword str claims: Additional claims required in the token, such as those returned in a resource
              provider's claims challenge following an authorization failure.
          :keyword str tenant_id: Optional tenant to include in the token request.
  
          :rtype: AccessToken
          :return: An AccessToken instance containing the token string and its expiration time in Unix time.
          """
  
      async def close(self) -> None:
          pass
  
      async def __aenter__(self):
          pass
  
      async def __aexit__(self, exc_type, exc_value, traceback) -> None:
          pass
  
subject: fix dup declaration (#23287)