"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import abc
import grpc
import prodvana.proto.prodvana.settings.organization.users_pb2

class UsersSettingsManagerStub:
    def __init__(self, channel: grpc.Channel) -> None: ...
    GetUser: grpc.UnaryUnaryMultiCallable[
        prodvana.proto.prodvana.settings.organization.users_pb2.GetUserReq,
        prodvana.proto.prodvana.settings.organization.users_pb2.GetUserResp,
    ]
    ListUsers: grpc.UnaryUnaryMultiCallable[
        prodvana.proto.prodvana.settings.organization.users_pb2.ListUsersReq,
        prodvana.proto.prodvana.settings.organization.users_pb2.ListUsersResp,
    ]
    ListRoles: grpc.UnaryUnaryMultiCallable[
        prodvana.proto.prodvana.settings.organization.users_pb2.ListRolesReq,
        prodvana.proto.prodvana.settings.organization.users_pb2.ListRolesResp,
    ]
    SetRoles: grpc.UnaryUnaryMultiCallable[
        prodvana.proto.prodvana.settings.organization.users_pb2.SetRolesReq,
        prodvana.proto.prodvana.settings.organization.users_pb2.SetRolesResp,
    ]
    InviteUsers: grpc.UnaryUnaryMultiCallable[
        prodvana.proto.prodvana.settings.organization.users_pb2.InviteUsersReq,
        prodvana.proto.prodvana.settings.organization.users_pb2.InviteUsersResp,
    ]
    OrganizationSupportsInvites: grpc.UnaryUnaryMultiCallable[
        prodvana.proto.prodvana.settings.organization.users_pb2.OrganizationSupportsInvitesReq,
        prodvana.proto.prodvana.settings.organization.users_pb2.OrganizationSupportsInvitesResp,
    ]
    RemoveUser: grpc.UnaryUnaryMultiCallable[
        prodvana.proto.prodvana.settings.organization.users_pb2.RemoveUserReq,
        prodvana.proto.prodvana.settings.organization.users_pb2.RemoveUserResp,
    ]

class UsersSettingsManagerServicer(metaclass=abc.ABCMeta):
    @abc.abstractmethod
    def GetUser(
        self,
        request: prodvana.proto.prodvana.settings.organization.users_pb2.GetUserReq,
        context: grpc.ServicerContext,
    ) -> prodvana.proto.prodvana.settings.organization.users_pb2.GetUserResp: ...
    @abc.abstractmethod
    def ListUsers(
        self,
        request: prodvana.proto.prodvana.settings.organization.users_pb2.ListUsersReq,
        context: grpc.ServicerContext,
    ) -> prodvana.proto.prodvana.settings.organization.users_pb2.ListUsersResp: ...
    @abc.abstractmethod
    def ListRoles(
        self,
        request: prodvana.proto.prodvana.settings.organization.users_pb2.ListRolesReq,
        context: grpc.ServicerContext,
    ) -> prodvana.proto.prodvana.settings.organization.users_pb2.ListRolesResp: ...
    @abc.abstractmethod
    def SetRoles(
        self,
        request: prodvana.proto.prodvana.settings.organization.users_pb2.SetRolesReq,
        context: grpc.ServicerContext,
    ) -> prodvana.proto.prodvana.settings.organization.users_pb2.SetRolesResp: ...
    @abc.abstractmethod
    def InviteUsers(
        self,
        request: prodvana.proto.prodvana.settings.organization.users_pb2.InviteUsersReq,
        context: grpc.ServicerContext,
    ) -> prodvana.proto.prodvana.settings.organization.users_pb2.InviteUsersResp: ...
    @abc.abstractmethod
    def OrganizationSupportsInvites(
        self,
        request: prodvana.proto.prodvana.settings.organization.users_pb2.OrganizationSupportsInvitesReq,
        context: grpc.ServicerContext,
    ) -> prodvana.proto.prodvana.settings.organization.users_pb2.OrganizationSupportsInvitesResp: ...
    @abc.abstractmethod
    def RemoveUser(
        self,
        request: prodvana.proto.prodvana.settings.organization.users_pb2.RemoveUserReq,
        context: grpc.ServicerContext,
    ) -> prodvana.proto.prodvana.settings.organization.users_pb2.RemoveUserResp: ...

def add_UsersSettingsManagerServicer_to_server(servicer: UsersSettingsManagerServicer, server: grpc.Server) -> None: ...
