from _typeshed import Incomplete
from logging import Logger

from authlib.oauth2.client import OAuth2Client
from authlib.oauth2.rfc6749 import ImplicitGrant
from authlib.oidc.core import UserInfo

log: Logger

class OpenIDImplicitGrant(ImplicitGrant):
    RESPONSE_TYPES: Incomplete
    DEFAULT_RESPONSE_MODE: str
    def exists_nonce(self, nonce, request) -> bool: ...
    def get_jwt_config(self, client: OAuth2Client) -> dict[str, Incomplete]: ...
    def generate_user_info(self, user, scope) -> UserInfo: ...
    def get_audiences(self, request) -> list[Incomplete]: ...
    def validate_authorization_request(self) -> str: ...
    def validate_consent_request(self) -> str: ...
    def create_authorization_response(self, redirect_uri, grant_user): ...
    def create_granted_params(self, grant_user): ...
    def process_implicit_token(self, token, code=None): ...
