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

class sessionsStub:
    def __init__(self, channel: grpc.Channel) -> None: ...
    StartSession: grpc.UnaryUnaryMultiCallable[
        ft_sessions_pb2.session_info,
        ft_sessions_pb2.session_info,
    ]
    CloseSession: grpc.UnaryUnaryMultiCallable[
        ft_sessions_pb2.session_info,
        ft_sessions_pb2.session_info,
    ]
    KeepAliveSession: grpc.UnaryUnaryMultiCallable[
        ft_sessions_pb2.session_info,
        ft_sessions_pb2.session_info,
    ]
    ListSessions: grpc.UnaryUnaryMultiCallable[
        ft_types_pb2.empty,
        ft_sessions_pb2.session_list,
    ]

class sessionsServicer(metaclass=abc.ABCMeta):
    @abc.abstractmethod
    def StartSession(
        self,
        request: ft_sessions_pb2.session_info,
        context: grpc.ServicerContext,
    ) -> ft_sessions_pb2.session_info: ...
    @abc.abstractmethod
    def CloseSession(
        self,
        request: ft_sessions_pb2.session_info,
        context: grpc.ServicerContext,
    ) -> ft_sessions_pb2.session_info: ...
    @abc.abstractmethod
    def KeepAliveSession(
        self,
        request: ft_sessions_pb2.session_info,
        context: grpc.ServicerContext,
    ) -> ft_sessions_pb2.session_info: ...
    @abc.abstractmethod
    def ListSessions(
        self,
        request: ft_types_pb2.empty,
        context: grpc.ServicerContext,
    ) -> ft_sessions_pb2.session_list: ...

def add_sessionsServicer_to_server(servicer: sessionsServicer, server: grpc.Server) -> None: ...
