"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import abc
import collections.abc
import core.mgmt.v1beta.mgmt_pb2
import grpc
import grpc.aio
import typing

_T = typing.TypeVar('_T')

class _MaybeAsyncIterator(collections.abc.AsyncIterator[_T], collections.abc.Iterator[_T], metaclass=abc.ABCMeta):
    ...

class _ServicerContext(grpc.ServicerContext, grpc.aio.ServicerContext):  # type: ignore
    ...

class MgmtPrivateServiceStub:
    """Mgmt service responds to internal access"""

    def __init__(self, channel: typing.Union[grpc.Channel, grpc.aio.Channel]) -> None: ...
    ListUsersAdmin: grpc.UnaryUnaryMultiCallable[
        core.mgmt.v1beta.mgmt_pb2.ListUsersAdminRequest,
        core.mgmt.v1beta.mgmt_pb2.ListUsersAdminResponse,
    ]
    """ListUsersAdmin method receives a ListUsersAdminRequest message and returns
    a ListUsersAdminResponse message.
    """
    GetUserAdmin: grpc.UnaryUnaryMultiCallable[
        core.mgmt.v1beta.mgmt_pb2.GetUserAdminRequest,
        core.mgmt.v1beta.mgmt_pb2.GetUserAdminResponse,
    ]
    """GetUserAdmin method receives a GetUserAdminRequest message and returns
    a GetUserAdminResponse message.
    """
    LookUpUserAdmin: grpc.UnaryUnaryMultiCallable[
        core.mgmt.v1beta.mgmt_pb2.LookUpUserAdminRequest,
        core.mgmt.v1beta.mgmt_pb2.LookUpUserAdminResponse,
    ]
    """LookUpUserAdmin method receives a LookUpUserAdminRequest message and
    returns a LookUpUserAdminResponse
    """
    ListOrganizationsAdmin: grpc.UnaryUnaryMultiCallable[
        core.mgmt.v1beta.mgmt_pb2.ListOrganizationsAdminRequest,
        core.mgmt.v1beta.mgmt_pb2.ListOrganizationsAdminResponse,
    ]
    """ListOrganizationsAdmin method receives a ListOrganizationsAdminRequest message and returns
    a ListOrganizationsAdminResponse message.
    """
    GetOrganizationAdmin: grpc.UnaryUnaryMultiCallable[
        core.mgmt.v1beta.mgmt_pb2.GetOrganizationAdminRequest,
        core.mgmt.v1beta.mgmt_pb2.GetOrganizationAdminResponse,
    ]
    """GetOrganizationAdmin method receives a GetOrganizationAdminRequest message and returns
    a GetOrganizationAdminResponse message.
    """
    LookUpOrganizationAdmin: grpc.UnaryUnaryMultiCallable[
        core.mgmt.v1beta.mgmt_pb2.LookUpOrganizationAdminRequest,
        core.mgmt.v1beta.mgmt_pb2.LookUpOrganizationAdminResponse,
    ]
    """LookUpOrganizationAdmin method receives a LookUpOrganizationAdminRequest message and
    returns a LookUpOrganizationAdminResponse
    """
    GetUserSubscriptionAdmin: grpc.UnaryUnaryMultiCallable[
        core.mgmt.v1beta.mgmt_pb2.GetUserSubscriptionAdminRequest,
        core.mgmt.v1beta.mgmt_pb2.GetUserSubscriptionAdminResponse,
    ]
    """GetUserSubscriptionAdmin"""
    GetOrganizationSubscriptionAdmin: grpc.UnaryUnaryMultiCallable[
        core.mgmt.v1beta.mgmt_pb2.GetOrganizationSubscriptionAdminRequest,
        core.mgmt.v1beta.mgmt_pb2.GetOrganizationSubscriptionAdminResponse,
    ]
    """GetOrganizationSubscriptionAdmin"""

class MgmtPrivateServiceAsyncStub:
    """Mgmt service responds to internal access"""

    ListUsersAdmin: grpc.aio.UnaryUnaryMultiCallable[
        core.mgmt.v1beta.mgmt_pb2.ListUsersAdminRequest,
        core.mgmt.v1beta.mgmt_pb2.ListUsersAdminResponse,
    ]
    """ListUsersAdmin method receives a ListUsersAdminRequest message and returns
    a ListUsersAdminResponse message.
    """
    GetUserAdmin: grpc.aio.UnaryUnaryMultiCallable[
        core.mgmt.v1beta.mgmt_pb2.GetUserAdminRequest,
        core.mgmt.v1beta.mgmt_pb2.GetUserAdminResponse,
    ]
    """GetUserAdmin method receives a GetUserAdminRequest message and returns
    a GetUserAdminResponse message.
    """
    LookUpUserAdmin: grpc.aio.UnaryUnaryMultiCallable[
        core.mgmt.v1beta.mgmt_pb2.LookUpUserAdminRequest,
        core.mgmt.v1beta.mgmt_pb2.LookUpUserAdminResponse,
    ]
    """LookUpUserAdmin method receives a LookUpUserAdminRequest message and
    returns a LookUpUserAdminResponse
    """
    ListOrganizationsAdmin: grpc.aio.UnaryUnaryMultiCallable[
        core.mgmt.v1beta.mgmt_pb2.ListOrganizationsAdminRequest,
        core.mgmt.v1beta.mgmt_pb2.ListOrganizationsAdminResponse,
    ]
    """ListOrganizationsAdmin method receives a ListOrganizationsAdminRequest message and returns
    a ListOrganizationsAdminResponse message.
    """
    GetOrganizationAdmin: grpc.aio.UnaryUnaryMultiCallable[
        core.mgmt.v1beta.mgmt_pb2.GetOrganizationAdminRequest,
        core.mgmt.v1beta.mgmt_pb2.GetOrganizationAdminResponse,
    ]
    """GetOrganizationAdmin method receives a GetOrganizationAdminRequest message and returns
    a GetOrganizationAdminResponse message.
    """
    LookUpOrganizationAdmin: grpc.aio.UnaryUnaryMultiCallable[
        core.mgmt.v1beta.mgmt_pb2.LookUpOrganizationAdminRequest,
        core.mgmt.v1beta.mgmt_pb2.LookUpOrganizationAdminResponse,
    ]
    """LookUpOrganizationAdmin method receives a LookUpOrganizationAdminRequest message and
    returns a LookUpOrganizationAdminResponse
    """
    GetUserSubscriptionAdmin: grpc.aio.UnaryUnaryMultiCallable[
        core.mgmt.v1beta.mgmt_pb2.GetUserSubscriptionAdminRequest,
        core.mgmt.v1beta.mgmt_pb2.GetUserSubscriptionAdminResponse,
    ]
    """GetUserSubscriptionAdmin"""
    GetOrganizationSubscriptionAdmin: grpc.aio.UnaryUnaryMultiCallable[
        core.mgmt.v1beta.mgmt_pb2.GetOrganizationSubscriptionAdminRequest,
        core.mgmt.v1beta.mgmt_pb2.GetOrganizationSubscriptionAdminResponse,
    ]
    """GetOrganizationSubscriptionAdmin"""

class MgmtPrivateServiceServicer(metaclass=abc.ABCMeta):
    """Mgmt service responds to internal access"""

    @abc.abstractmethod
    def ListUsersAdmin(
        self,
        request: core.mgmt.v1beta.mgmt_pb2.ListUsersAdminRequest,
        context: _ServicerContext,
    ) -> typing.Union[core.mgmt.v1beta.mgmt_pb2.ListUsersAdminResponse, collections.abc.Awaitable[core.mgmt.v1beta.mgmt_pb2.ListUsersAdminResponse]]:
        """ListUsersAdmin method receives a ListUsersAdminRequest message and returns
        a ListUsersAdminResponse message.
        """
    @abc.abstractmethod
    def GetUserAdmin(
        self,
        request: core.mgmt.v1beta.mgmt_pb2.GetUserAdminRequest,
        context: _ServicerContext,
    ) -> typing.Union[core.mgmt.v1beta.mgmt_pb2.GetUserAdminResponse, collections.abc.Awaitable[core.mgmt.v1beta.mgmt_pb2.GetUserAdminResponse]]:
        """GetUserAdmin method receives a GetUserAdminRequest message and returns
        a GetUserAdminResponse message.
        """
    @abc.abstractmethod
    def LookUpUserAdmin(
        self,
        request: core.mgmt.v1beta.mgmt_pb2.LookUpUserAdminRequest,
        context: _ServicerContext,
    ) -> typing.Union[core.mgmt.v1beta.mgmt_pb2.LookUpUserAdminResponse, collections.abc.Awaitable[core.mgmt.v1beta.mgmt_pb2.LookUpUserAdminResponse]]:
        """LookUpUserAdmin method receives a LookUpUserAdminRequest message and
        returns a LookUpUserAdminResponse
        """
    @abc.abstractmethod
    def ListOrganizationsAdmin(
        self,
        request: core.mgmt.v1beta.mgmt_pb2.ListOrganizationsAdminRequest,
        context: _ServicerContext,
    ) -> typing.Union[core.mgmt.v1beta.mgmt_pb2.ListOrganizationsAdminResponse, collections.abc.Awaitable[core.mgmt.v1beta.mgmt_pb2.ListOrganizationsAdminResponse]]:
        """ListOrganizationsAdmin method receives a ListOrganizationsAdminRequest message and returns
        a ListOrganizationsAdminResponse message.
        """
    @abc.abstractmethod
    def GetOrganizationAdmin(
        self,
        request: core.mgmt.v1beta.mgmt_pb2.GetOrganizationAdminRequest,
        context: _ServicerContext,
    ) -> typing.Union[core.mgmt.v1beta.mgmt_pb2.GetOrganizationAdminResponse, collections.abc.Awaitable[core.mgmt.v1beta.mgmt_pb2.GetOrganizationAdminResponse]]:
        """GetOrganizationAdmin method receives a GetOrganizationAdminRequest message and returns
        a GetOrganizationAdminResponse message.
        """
    @abc.abstractmethod
    def LookUpOrganizationAdmin(
        self,
        request: core.mgmt.v1beta.mgmt_pb2.LookUpOrganizationAdminRequest,
        context: _ServicerContext,
    ) -> typing.Union[core.mgmt.v1beta.mgmt_pb2.LookUpOrganizationAdminResponse, collections.abc.Awaitable[core.mgmt.v1beta.mgmt_pb2.LookUpOrganizationAdminResponse]]:
        """LookUpOrganizationAdmin method receives a LookUpOrganizationAdminRequest message and
        returns a LookUpOrganizationAdminResponse
        """
    @abc.abstractmethod
    def GetUserSubscriptionAdmin(
        self,
        request: core.mgmt.v1beta.mgmt_pb2.GetUserSubscriptionAdminRequest,
        context: _ServicerContext,
    ) -> typing.Union[core.mgmt.v1beta.mgmt_pb2.GetUserSubscriptionAdminResponse, collections.abc.Awaitable[core.mgmt.v1beta.mgmt_pb2.GetUserSubscriptionAdminResponse]]:
        """GetUserSubscriptionAdmin"""
    @abc.abstractmethod
    def GetOrganizationSubscriptionAdmin(
        self,
        request: core.mgmt.v1beta.mgmt_pb2.GetOrganizationSubscriptionAdminRequest,
        context: _ServicerContext,
    ) -> typing.Union[core.mgmt.v1beta.mgmt_pb2.GetOrganizationSubscriptionAdminResponse, collections.abc.Awaitable[core.mgmt.v1beta.mgmt_pb2.GetOrganizationSubscriptionAdminResponse]]:
        """GetOrganizationSubscriptionAdmin"""

def add_MgmtPrivateServiceServicer_to_server(servicer: MgmtPrivateServiceServicer, server: typing.Union[grpc.Server, grpc.aio.Server]) -> None: ...
