from _typeshed import Incomplete
from google.appengine.api import app_identity as app_identity  # type: ignore

from google.auth import credentials as credentials, crypt as crypt

class Signer(crypt.Signer):
    @property
    def key_id(self) -> None: ...
    def sign(self, message): ...

def get_project_id(): ...

class Credentials(
    credentials.Scoped, credentials.Signing, credentials.CredentialsWithQuotaProject
):
    def __init__(
        self,
        scopes: Incomplete | None = ...,
        default_scopes: Incomplete | None = ...,
        service_account_id: Incomplete | None = ...,
        quota_project_id: Incomplete | None = ...,
    ) -> None: ...
    def refresh(self, request) -> None: ...
    @property
    def service_account_email(self): ...
    @property
    def requires_scopes(self): ...
    def with_scopes(self, scopes, default_scopes: Incomplete | None = ...): ...
    def with_quota_project(self, quota_project_id): ...
    def sign_bytes(self, message): ...
    @property
    def signer_email(self): ...
    @property
    def signer(self): ...
