"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import abc
import google.protobuf.empty_pb2
import grpc
import table_pb2
import typing

class TableStub:
    def __init__(self, channel: grpc.Channel) -> None: ...
    readTable: grpc.UnaryUnaryMultiCallable[
        table_pb2.ReadTableRequest,
        table_pb2.Rows]

    addRows: grpc.UnaryUnaryMultiCallable[
        table_pb2.AddRowsRequest,
        google.protobuf.empty_pb2.Empty]

    deleteRows: grpc.UnaryUnaryMultiCallable[
        table_pb2.DeleteRowsRequest,
        google.protobuf.empty_pb2.Empty]

    deleteAllRows: grpc.UnaryUnaryMultiCallable[
        table_pb2.DeleteAllRowsRequest,
        google.protobuf.empty_pb2.Empty]

    loadImage: grpc.UnaryStreamMultiCallable[
        table_pb2.LoadImageRequest,
        table_pb2.LoadImageReply]

    saveImage: grpc.StreamUnaryMultiCallable[
        table_pb2.SaveImageRequest,
        table_pb2.SaveImageReply]


class TableServicer(metaclass=abc.ABCMeta):
    @abc.abstractmethod
    def readTable(self,
        request: table_pb2.ReadTableRequest,
        context: grpc.ServicerContext,
    ) -> table_pb2.Rows: ...

    @abc.abstractmethod
    def addRows(self,
        request: table_pb2.AddRowsRequest,
        context: grpc.ServicerContext,
    ) -> google.protobuf.empty_pb2.Empty: ...

    @abc.abstractmethod
    def deleteRows(self,
        request: table_pb2.DeleteRowsRequest,
        context: grpc.ServicerContext,
    ) -> google.protobuf.empty_pb2.Empty: ...

    @abc.abstractmethod
    def deleteAllRows(self,
        request: table_pb2.DeleteAllRowsRequest,
        context: grpc.ServicerContext,
    ) -> google.protobuf.empty_pb2.Empty: ...

    @abc.abstractmethod
    def loadImage(self,
        request: table_pb2.LoadImageRequest,
        context: grpc.ServicerContext,
    ) -> typing.Iterator[table_pb2.LoadImageReply]: ...

    @abc.abstractmethod
    def saveImage(self,
        request_iterator: typing.Iterator[table_pb2.SaveImageRequest],
        context: grpc.ServicerContext,
    ) -> table_pb2.SaveImageReply: ...


def add_TableServicer_to_server(servicer: TableServicer, server: grpc.Server) -> None: ...
