import abc
from _typeshed import Incomplete

from kafka.sasl.abc import SaslMechanism

log: Incomplete

class SaslMechanismOAuth(SaslMechanism):
    token_provider: Incomplete
    def __init__(self, **config) -> None: ...
    def auth_bytes(self): ...
    def receive(self, auth_bytes) -> None: ...
    def is_done(self): ...
    def is_authenticated(self): ...
    def auth_details(self): ...

ABC: Incomplete

class AbstractTokenProvider(ABC, metaclass=abc.ABCMeta):
    def __init__(self, **config) -> None: ...
    @abc.abstractmethod
    def token(self): ...
    def extensions(self): ...
