"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import abc
import collections.abc
import ft_auth_pb2
import ft_types_pb2
import grpc

class authStub:
    def __init__(self, channel: grpc.Channel) -> None: ...
    RequestAuthChallenge: grpc.UnaryUnaryMultiCallable[
        ft_auth_pb2.auth_request,
        ft_auth_pb2.auth_challenge,
    ]
    RespondAuthChallenge: grpc.UnaryUnaryMultiCallable[
        ft_auth_pb2.auth_response,
        ft_auth_pb2.auth_confirm,
    ]
    GetSupportedAuthMechanisms: grpc.UnaryUnaryMultiCallable[
        ft_types_pb2.empty,
        ft_auth_pb2.auth_type_list,
    ]
    SaslAuthProcess: grpc.StreamStreamMultiCallable[
        ft_auth_pb2.sasl_auth_data,
        ft_auth_pb2.sasl_auth_data,
    ]
    VerifyToken: grpc.UnaryUnaryMultiCallable[
        ft_auth_pb2.sasl_auth_data,
        ft_auth_pb2.sasl_auth_data,
    ]

class authServicer(metaclass=abc.ABCMeta):
    @abc.abstractmethod
    def RequestAuthChallenge(
        self,
        request: ft_auth_pb2.auth_request,
        context: grpc.ServicerContext,
    ) -> ft_auth_pb2.auth_challenge: ...
    @abc.abstractmethod
    def RespondAuthChallenge(
        self,
        request: ft_auth_pb2.auth_response,
        context: grpc.ServicerContext,
    ) -> ft_auth_pb2.auth_confirm: ...
    @abc.abstractmethod
    def GetSupportedAuthMechanisms(
        self,
        request: ft_types_pb2.empty,
        context: grpc.ServicerContext,
    ) -> ft_auth_pb2.auth_type_list: ...
    @abc.abstractmethod
    def SaslAuthProcess(
        self,
        request_iterator: collections.abc.Iterator[ft_auth_pb2.sasl_auth_data],
        context: grpc.ServicerContext,
    ) -> collections.abc.Iterator[ft_auth_pb2.sasl_auth_data]: ...
    @abc.abstractmethod
    def VerifyToken(
        self,
        request: ft_auth_pb2.sasl_auth_data,
        context: grpc.ServicerContext,
    ) -> ft_auth_pb2.sasl_auth_data: ...

def add_authServicer_to_server(servicer: authServicer, server: grpc.Server) -> None: ...
