from _typeshed import Incomplete

from authlib.oauth2.rfc6749 import ClientMixin

class OAuth2ClientMixin(ClientMixin):
    client_id: Incomplete
    client_secret: Incomplete
    client_id_issued_at: Incomplete
    client_secret_expires_at: Incomplete
    _client_metadata: Incomplete
    @property
    def client_info(self) -> dict[str, Incomplete]: ...
    @property
    def client_metadata(self): ...
    def set_client_metadata(self, value) -> None: ...
    @property
    def redirect_uris(self): ...
    @property
    def token_endpoint_auth_method(self): ...
    @property
    def grant_types(self): ...
    @property
    def response_types(self): ...
    @property
    def client_name(self): ...
    @property
    def client_uri(self): ...
    @property
    def logo_uri(self): ...
    @property
    def scope(self): ...
    @property
    def contacts(self): ...
    @property
    def tos_uri(self): ...
    @property
    def policy_uri(self): ...
    @property
    def jwks_uri(self): ...
    @property
    def jwks(self): ...
    @property
    def software_id(self): ...
    @property
    def software_version(self): ...
    @property
    def id_token_signed_response_alg(self): ...
    def get_client_id(self): ...
    def get_default_redirect_uri(self): ...
    def get_allowed_scope(self, scope) -> str: ...
    def check_redirect_uri(self, redirect_uri) -> bool: ...
    def check_client_secret(self, client_secret) -> bool: ...
    def check_endpoint_auth_method(self, method, endpoint) -> bool: ...
    def check_response_type(self, response_type) -> bool: ...
    def check_grant_type(self, grant_type) -> bool: ...
