# -*- coding: utf-8 -*-
# Generated by https://github.com/connectrpc/connect-python.  DO NOT EDIT!
# source: chatto/admin/v1/members.proto

from collections.abc import AsyncGenerator, AsyncIterator, Iterable, Iterator, Mapping
from typing import Protocol

from connectrpc.client import ConnectClient, ConnectClientSync
from connectrpc.code import Code
from connectrpc.compression import Compression
from connectrpc.errors import ConnectError
from connectrpc.interceptor import Interceptor, InterceptorSync
from connectrpc.method import IdempotencyLevel, MethodInfo
from connectrpc.request import Headers, RequestContext
from connectrpc.server import ConnectASGIApplication, ConnectWSGIApplication, Endpoint, EndpointSync
import chatto.admin.v1.members_pb2 as chatto_dot_admin_dot_v1_dot_members__pb2


class AdminUserService(Protocol):
    async def list_members(self, request: chatto_dot_admin_dot_v1_dot_members__pb2.ListMembersRequest, ctx: RequestContext) -> chatto_dot_admin_dot_v1_dot_members__pb2.ListMembersResponse:
        raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")

    async def get_member(self, request: chatto_dot_admin_dot_v1_dot_members__pb2.GetMemberRequest, ctx: RequestContext) -> chatto_dot_admin_dot_v1_dot_members__pb2.GetMemberResponse:
        raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")

    async def batch_get_members(self, request: chatto_dot_admin_dot_v1_dot_members__pb2.BatchGetMembersRequest, ctx: RequestContext) -> chatto_dot_admin_dot_v1_dot_members__pb2.BatchGetMembersResponse:
        raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")

    async def assign_role(self, request: chatto_dot_admin_dot_v1_dot_members__pb2.AssignRoleRequest, ctx: RequestContext) -> chatto_dot_admin_dot_v1_dot_members__pb2.AssignRoleResponse:
        raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")

    async def revoke_role(self, request: chatto_dot_admin_dot_v1_dot_members__pb2.RevokeRoleRequest, ctx: RequestContext) -> chatto_dot_admin_dot_v1_dot_members__pb2.RevokeRoleResponse:
        raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")

    async def update_user(self, request: chatto_dot_admin_dot_v1_dot_members__pb2.UpdateUserRequest, ctx: RequestContext) -> chatto_dot_admin_dot_v1_dot_members__pb2.UpdateUserResponse:
        raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")

    async def update_user_password(self, request: chatto_dot_admin_dot_v1_dot_members__pb2.UpdateUserPasswordRequest, ctx: RequestContext) -> chatto_dot_admin_dot_v1_dot_members__pb2.UpdateUserPasswordResponse:
        raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")

    async def clear_username_cooldown(self, request: chatto_dot_admin_dot_v1_dot_members__pb2.ClearUsernameCooldownRequest, ctx: RequestContext) -> chatto_dot_admin_dot_v1_dot_members__pb2.ClearUsernameCooldownResponse:
        raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")

    async def delete_user(self, request: chatto_dot_admin_dot_v1_dot_members__pb2.DeleteUserRequest, ctx: RequestContext) -> chatto_dot_admin_dot_v1_dot_members__pb2.DeleteUserResponse:
        raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")


class AdminUserServiceASGIApplication(ConnectASGIApplication[AdminUserService]):
    def __init__(self, service: AdminUserService | AsyncGenerator[AdminUserService], *, interceptors: Iterable[Interceptor]=(), read_max_bytes: int | None = None, compressions: Iterable[Compression] | None = None) -> None:
        super().__init__(
            service=service,
            endpoints=lambda svc: {
                "/chatto.admin.v1.AdminUserService/ListMembers": Endpoint.unary(
                    method=MethodInfo(
                        name="ListMembers",
                        service_name="chatto.admin.v1.AdminUserService",
                        input=chatto_dot_admin_dot_v1_dot_members__pb2.ListMembersRequest,
                        output=chatto_dot_admin_dot_v1_dot_members__pb2.ListMembersResponse,
                        idempotency_level=IdempotencyLevel.UNKNOWN,
                    ),
                    function=svc.list_members,
                ),
                "/chatto.admin.v1.AdminUserService/GetMember": Endpoint.unary(
                    method=MethodInfo(
                        name="GetMember",
                        service_name="chatto.admin.v1.AdminUserService",
                        input=chatto_dot_admin_dot_v1_dot_members__pb2.GetMemberRequest,
                        output=chatto_dot_admin_dot_v1_dot_members__pb2.GetMemberResponse,
                        idempotency_level=IdempotencyLevel.UNKNOWN,
                    ),
                    function=svc.get_member,
                ),
                "/chatto.admin.v1.AdminUserService/BatchGetMembers": Endpoint.unary(
                    method=MethodInfo(
                        name="BatchGetMembers",
                        service_name="chatto.admin.v1.AdminUserService",
                        input=chatto_dot_admin_dot_v1_dot_members__pb2.BatchGetMembersRequest,
                        output=chatto_dot_admin_dot_v1_dot_members__pb2.BatchGetMembersResponse,
                        idempotency_level=IdempotencyLevel.UNKNOWN,
                    ),
                    function=svc.batch_get_members,
                ),
                "/chatto.admin.v1.AdminUserService/AssignRole": Endpoint.unary(
                    method=MethodInfo(
                        name="AssignRole",
                        service_name="chatto.admin.v1.AdminUserService",
                        input=chatto_dot_admin_dot_v1_dot_members__pb2.AssignRoleRequest,
                        output=chatto_dot_admin_dot_v1_dot_members__pb2.AssignRoleResponse,
                        idempotency_level=IdempotencyLevel.UNKNOWN,
                    ),
                    function=svc.assign_role,
                ),
                "/chatto.admin.v1.AdminUserService/RevokeRole": Endpoint.unary(
                    method=MethodInfo(
                        name="RevokeRole",
                        service_name="chatto.admin.v1.AdminUserService",
                        input=chatto_dot_admin_dot_v1_dot_members__pb2.RevokeRoleRequest,
                        output=chatto_dot_admin_dot_v1_dot_members__pb2.RevokeRoleResponse,
                        idempotency_level=IdempotencyLevel.UNKNOWN,
                    ),
                    function=svc.revoke_role,
                ),
                "/chatto.admin.v1.AdminUserService/UpdateUser": Endpoint.unary(
                    method=MethodInfo(
                        name="UpdateUser",
                        service_name="chatto.admin.v1.AdminUserService",
                        input=chatto_dot_admin_dot_v1_dot_members__pb2.UpdateUserRequest,
                        output=chatto_dot_admin_dot_v1_dot_members__pb2.UpdateUserResponse,
                        idempotency_level=IdempotencyLevel.UNKNOWN,
                    ),
                    function=svc.update_user,
                ),
                "/chatto.admin.v1.AdminUserService/UpdateUserPassword": Endpoint.unary(
                    method=MethodInfo(
                        name="UpdateUserPassword",
                        service_name="chatto.admin.v1.AdminUserService",
                        input=chatto_dot_admin_dot_v1_dot_members__pb2.UpdateUserPasswordRequest,
                        output=chatto_dot_admin_dot_v1_dot_members__pb2.UpdateUserPasswordResponse,
                        idempotency_level=IdempotencyLevel.UNKNOWN,
                    ),
                    function=svc.update_user_password,
                ),
                "/chatto.admin.v1.AdminUserService/ClearUsernameCooldown": Endpoint.unary(
                    method=MethodInfo(
                        name="ClearUsernameCooldown",
                        service_name="chatto.admin.v1.AdminUserService",
                        input=chatto_dot_admin_dot_v1_dot_members__pb2.ClearUsernameCooldownRequest,
                        output=chatto_dot_admin_dot_v1_dot_members__pb2.ClearUsernameCooldownResponse,
                        idempotency_level=IdempotencyLevel.UNKNOWN,
                    ),
                    function=svc.clear_username_cooldown,
                ),
                "/chatto.admin.v1.AdminUserService/DeleteUser": Endpoint.unary(
                    method=MethodInfo(
                        name="DeleteUser",
                        service_name="chatto.admin.v1.AdminUserService",
                        input=chatto_dot_admin_dot_v1_dot_members__pb2.DeleteUserRequest,
                        output=chatto_dot_admin_dot_v1_dot_members__pb2.DeleteUserResponse,
                        idempotency_level=IdempotencyLevel.UNKNOWN,
                    ),
                    function=svc.delete_user,
                ),
            },
            interceptors=interceptors,
            read_max_bytes=read_max_bytes,
            compressions=compressions,
        )

    @property
    def path(self) -> str:
        """Returns the URL path to mount the application to when serving multiple applications."""
        return "/chatto.admin.v1.AdminUserService"


class AdminUserServiceClient(ConnectClient):
    async def list_members(
        self,
        request: chatto_dot_admin_dot_v1_dot_members__pb2.ListMembersRequest,
        *,
        headers: Headers | Mapping[str, str] | None = None,
        timeout_ms: int | None = None,
    ) -> chatto_dot_admin_dot_v1_dot_members__pb2.ListMembersResponse:
        return await self.execute_unary(
            request=request,
            method=MethodInfo(
                name="ListMembers",
                service_name="chatto.admin.v1.AdminUserService",
                input=chatto_dot_admin_dot_v1_dot_members__pb2.ListMembersRequest,
                output=chatto_dot_admin_dot_v1_dot_members__pb2.ListMembersResponse,
                idempotency_level=IdempotencyLevel.UNKNOWN,
            ),
            headers=headers,
            timeout_ms=timeout_ms,
        )

    async def get_member(
        self,
        request: chatto_dot_admin_dot_v1_dot_members__pb2.GetMemberRequest,
        *,
        headers: Headers | Mapping[str, str] | None = None,
        timeout_ms: int | None = None,
    ) -> chatto_dot_admin_dot_v1_dot_members__pb2.GetMemberResponse:
        return await self.execute_unary(
            request=request,
            method=MethodInfo(
                name="GetMember",
                service_name="chatto.admin.v1.AdminUserService",
                input=chatto_dot_admin_dot_v1_dot_members__pb2.GetMemberRequest,
                output=chatto_dot_admin_dot_v1_dot_members__pb2.GetMemberResponse,
                idempotency_level=IdempotencyLevel.UNKNOWN,
            ),
            headers=headers,
            timeout_ms=timeout_ms,
        )

    async def batch_get_members(
        self,
        request: chatto_dot_admin_dot_v1_dot_members__pb2.BatchGetMembersRequest,
        *,
        headers: Headers | Mapping[str, str] | None = None,
        timeout_ms: int | None = None,
    ) -> chatto_dot_admin_dot_v1_dot_members__pb2.BatchGetMembersResponse:
        return await self.execute_unary(
            request=request,
            method=MethodInfo(
                name="BatchGetMembers",
                service_name="chatto.admin.v1.AdminUserService",
                input=chatto_dot_admin_dot_v1_dot_members__pb2.BatchGetMembersRequest,
                output=chatto_dot_admin_dot_v1_dot_members__pb2.BatchGetMembersResponse,
                idempotency_level=IdempotencyLevel.UNKNOWN,
            ),
            headers=headers,
            timeout_ms=timeout_ms,
        )

    async def assign_role(
        self,
        request: chatto_dot_admin_dot_v1_dot_members__pb2.AssignRoleRequest,
        *,
        headers: Headers | Mapping[str, str] | None = None,
        timeout_ms: int | None = None,
    ) -> chatto_dot_admin_dot_v1_dot_members__pb2.AssignRoleResponse:
        return await self.execute_unary(
            request=request,
            method=MethodInfo(
                name="AssignRole",
                service_name="chatto.admin.v1.AdminUserService",
                input=chatto_dot_admin_dot_v1_dot_members__pb2.AssignRoleRequest,
                output=chatto_dot_admin_dot_v1_dot_members__pb2.AssignRoleResponse,
                idempotency_level=IdempotencyLevel.UNKNOWN,
            ),
            headers=headers,
            timeout_ms=timeout_ms,
        )

    async def revoke_role(
        self,
        request: chatto_dot_admin_dot_v1_dot_members__pb2.RevokeRoleRequest,
        *,
        headers: Headers | Mapping[str, str] | None = None,
        timeout_ms: int | None = None,
    ) -> chatto_dot_admin_dot_v1_dot_members__pb2.RevokeRoleResponse:
        return await self.execute_unary(
            request=request,
            method=MethodInfo(
                name="RevokeRole",
                service_name="chatto.admin.v1.AdminUserService",
                input=chatto_dot_admin_dot_v1_dot_members__pb2.RevokeRoleRequest,
                output=chatto_dot_admin_dot_v1_dot_members__pb2.RevokeRoleResponse,
                idempotency_level=IdempotencyLevel.UNKNOWN,
            ),
            headers=headers,
            timeout_ms=timeout_ms,
        )

    async def update_user(
        self,
        request: chatto_dot_admin_dot_v1_dot_members__pb2.UpdateUserRequest,
        *,
        headers: Headers | Mapping[str, str] | None = None,
        timeout_ms: int | None = None,
    ) -> chatto_dot_admin_dot_v1_dot_members__pb2.UpdateUserResponse:
        return await self.execute_unary(
            request=request,
            method=MethodInfo(
                name="UpdateUser",
                service_name="chatto.admin.v1.AdminUserService",
                input=chatto_dot_admin_dot_v1_dot_members__pb2.UpdateUserRequest,
                output=chatto_dot_admin_dot_v1_dot_members__pb2.UpdateUserResponse,
                idempotency_level=IdempotencyLevel.UNKNOWN,
            ),
            headers=headers,
            timeout_ms=timeout_ms,
        )

    async def update_user_password(
        self,
        request: chatto_dot_admin_dot_v1_dot_members__pb2.UpdateUserPasswordRequest,
        *,
        headers: Headers | Mapping[str, str] | None = None,
        timeout_ms: int | None = None,
    ) -> chatto_dot_admin_dot_v1_dot_members__pb2.UpdateUserPasswordResponse:
        return await self.execute_unary(
            request=request,
            method=MethodInfo(
                name="UpdateUserPassword",
                service_name="chatto.admin.v1.AdminUserService",
                input=chatto_dot_admin_dot_v1_dot_members__pb2.UpdateUserPasswordRequest,
                output=chatto_dot_admin_dot_v1_dot_members__pb2.UpdateUserPasswordResponse,
                idempotency_level=IdempotencyLevel.UNKNOWN,
            ),
            headers=headers,
            timeout_ms=timeout_ms,
        )

    async def clear_username_cooldown(
        self,
        request: chatto_dot_admin_dot_v1_dot_members__pb2.ClearUsernameCooldownRequest,
        *,
        headers: Headers | Mapping[str, str] | None = None,
        timeout_ms: int | None = None,
    ) -> chatto_dot_admin_dot_v1_dot_members__pb2.ClearUsernameCooldownResponse:
        return await self.execute_unary(
            request=request,
            method=MethodInfo(
                name="ClearUsernameCooldown",
                service_name="chatto.admin.v1.AdminUserService",
                input=chatto_dot_admin_dot_v1_dot_members__pb2.ClearUsernameCooldownRequest,
                output=chatto_dot_admin_dot_v1_dot_members__pb2.ClearUsernameCooldownResponse,
                idempotency_level=IdempotencyLevel.UNKNOWN,
            ),
            headers=headers,
            timeout_ms=timeout_ms,
        )

    async def delete_user(
        self,
        request: chatto_dot_admin_dot_v1_dot_members__pb2.DeleteUserRequest,
        *,
        headers: Headers | Mapping[str, str] | None = None,
        timeout_ms: int | None = None,
    ) -> chatto_dot_admin_dot_v1_dot_members__pb2.DeleteUserResponse:
        return await self.execute_unary(
            request=request,
            method=MethodInfo(
                name="DeleteUser",
                service_name="chatto.admin.v1.AdminUserService",
                input=chatto_dot_admin_dot_v1_dot_members__pb2.DeleteUserRequest,
                output=chatto_dot_admin_dot_v1_dot_members__pb2.DeleteUserResponse,
                idempotency_level=IdempotencyLevel.UNKNOWN,
            ),
            headers=headers,
            timeout_ms=timeout_ms,
        )


class AdminUserServiceSync(Protocol):
    def list_members(self, request: chatto_dot_admin_dot_v1_dot_members__pb2.ListMembersRequest, ctx: RequestContext) -> chatto_dot_admin_dot_v1_dot_members__pb2.ListMembersResponse:
        raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
    def get_member(self, request: chatto_dot_admin_dot_v1_dot_members__pb2.GetMemberRequest, ctx: RequestContext) -> chatto_dot_admin_dot_v1_dot_members__pb2.GetMemberResponse:
        raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
    def batch_get_members(self, request: chatto_dot_admin_dot_v1_dot_members__pb2.BatchGetMembersRequest, ctx: RequestContext) -> chatto_dot_admin_dot_v1_dot_members__pb2.BatchGetMembersResponse:
        raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
    def assign_role(self, request: chatto_dot_admin_dot_v1_dot_members__pb2.AssignRoleRequest, ctx: RequestContext) -> chatto_dot_admin_dot_v1_dot_members__pb2.AssignRoleResponse:
        raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
    def revoke_role(self, request: chatto_dot_admin_dot_v1_dot_members__pb2.RevokeRoleRequest, ctx: RequestContext) -> chatto_dot_admin_dot_v1_dot_members__pb2.RevokeRoleResponse:
        raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
    def update_user(self, request: chatto_dot_admin_dot_v1_dot_members__pb2.UpdateUserRequest, ctx: RequestContext) -> chatto_dot_admin_dot_v1_dot_members__pb2.UpdateUserResponse:
        raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
    def update_user_password(self, request: chatto_dot_admin_dot_v1_dot_members__pb2.UpdateUserPasswordRequest, ctx: RequestContext) -> chatto_dot_admin_dot_v1_dot_members__pb2.UpdateUserPasswordResponse:
        raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
    def clear_username_cooldown(self, request: chatto_dot_admin_dot_v1_dot_members__pb2.ClearUsernameCooldownRequest, ctx: RequestContext) -> chatto_dot_admin_dot_v1_dot_members__pb2.ClearUsernameCooldownResponse:
        raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
    def delete_user(self, request: chatto_dot_admin_dot_v1_dot_members__pb2.DeleteUserRequest, ctx: RequestContext) -> chatto_dot_admin_dot_v1_dot_members__pb2.DeleteUserResponse:
        raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")


class AdminUserServiceWSGIApplication(ConnectWSGIApplication):
    def __init__(self, service: AdminUserServiceSync, interceptors: Iterable[InterceptorSync]=(), read_max_bytes: int | None = None, compressions: Iterable[Compression] | None = None) -> None:
        super().__init__(
            endpoints={
                "/chatto.admin.v1.AdminUserService/ListMembers": EndpointSync.unary(
                    method=MethodInfo(
                        name="ListMembers",
                        service_name="chatto.admin.v1.AdminUserService",
                        input=chatto_dot_admin_dot_v1_dot_members__pb2.ListMembersRequest,
                        output=chatto_dot_admin_dot_v1_dot_members__pb2.ListMembersResponse,
                        idempotency_level=IdempotencyLevel.UNKNOWN,
                    ),
                    function=service.list_members,
                ),
                "/chatto.admin.v1.AdminUserService/GetMember": EndpointSync.unary(
                    method=MethodInfo(
                        name="GetMember",
                        service_name="chatto.admin.v1.AdminUserService",
                        input=chatto_dot_admin_dot_v1_dot_members__pb2.GetMemberRequest,
                        output=chatto_dot_admin_dot_v1_dot_members__pb2.GetMemberResponse,
                        idempotency_level=IdempotencyLevel.UNKNOWN,
                    ),
                    function=service.get_member,
                ),
                "/chatto.admin.v1.AdminUserService/BatchGetMembers": EndpointSync.unary(
                    method=MethodInfo(
                        name="BatchGetMembers",
                        service_name="chatto.admin.v1.AdminUserService",
                        input=chatto_dot_admin_dot_v1_dot_members__pb2.BatchGetMembersRequest,
                        output=chatto_dot_admin_dot_v1_dot_members__pb2.BatchGetMembersResponse,
                        idempotency_level=IdempotencyLevel.UNKNOWN,
                    ),
                    function=service.batch_get_members,
                ),
                "/chatto.admin.v1.AdminUserService/AssignRole": EndpointSync.unary(
                    method=MethodInfo(
                        name="AssignRole",
                        service_name="chatto.admin.v1.AdminUserService",
                        input=chatto_dot_admin_dot_v1_dot_members__pb2.AssignRoleRequest,
                        output=chatto_dot_admin_dot_v1_dot_members__pb2.AssignRoleResponse,
                        idempotency_level=IdempotencyLevel.UNKNOWN,
                    ),
                    function=service.assign_role,
                ),
                "/chatto.admin.v1.AdminUserService/RevokeRole": EndpointSync.unary(
                    method=MethodInfo(
                        name="RevokeRole",
                        service_name="chatto.admin.v1.AdminUserService",
                        input=chatto_dot_admin_dot_v1_dot_members__pb2.RevokeRoleRequest,
                        output=chatto_dot_admin_dot_v1_dot_members__pb2.RevokeRoleResponse,
                        idempotency_level=IdempotencyLevel.UNKNOWN,
                    ),
                    function=service.revoke_role,
                ),
                "/chatto.admin.v1.AdminUserService/UpdateUser": EndpointSync.unary(
                    method=MethodInfo(
                        name="UpdateUser",
                        service_name="chatto.admin.v1.AdminUserService",
                        input=chatto_dot_admin_dot_v1_dot_members__pb2.UpdateUserRequest,
                        output=chatto_dot_admin_dot_v1_dot_members__pb2.UpdateUserResponse,
                        idempotency_level=IdempotencyLevel.UNKNOWN,
                    ),
                    function=service.update_user,
                ),
                "/chatto.admin.v1.AdminUserService/UpdateUserPassword": EndpointSync.unary(
                    method=MethodInfo(
                        name="UpdateUserPassword",
                        service_name="chatto.admin.v1.AdminUserService",
                        input=chatto_dot_admin_dot_v1_dot_members__pb2.UpdateUserPasswordRequest,
                        output=chatto_dot_admin_dot_v1_dot_members__pb2.UpdateUserPasswordResponse,
                        idempotency_level=IdempotencyLevel.UNKNOWN,
                    ),
                    function=service.update_user_password,
                ),
                "/chatto.admin.v1.AdminUserService/ClearUsernameCooldown": EndpointSync.unary(
                    method=MethodInfo(
                        name="ClearUsernameCooldown",
                        service_name="chatto.admin.v1.AdminUserService",
                        input=chatto_dot_admin_dot_v1_dot_members__pb2.ClearUsernameCooldownRequest,
                        output=chatto_dot_admin_dot_v1_dot_members__pb2.ClearUsernameCooldownResponse,
                        idempotency_level=IdempotencyLevel.UNKNOWN,
                    ),
                    function=service.clear_username_cooldown,
                ),
                "/chatto.admin.v1.AdminUserService/DeleteUser": EndpointSync.unary(
                    method=MethodInfo(
                        name="DeleteUser",
                        service_name="chatto.admin.v1.AdminUserService",
                        input=chatto_dot_admin_dot_v1_dot_members__pb2.DeleteUserRequest,
                        output=chatto_dot_admin_dot_v1_dot_members__pb2.DeleteUserResponse,
                        idempotency_level=IdempotencyLevel.UNKNOWN,
                    ),
                    function=service.delete_user,
                ),
            },
            interceptors=interceptors,
            read_max_bytes=read_max_bytes,
            compressions=compressions,
        )

    @property
    def path(self) -> str:
        """Returns the URL path to mount the application to when serving multiple applications."""
        return "/chatto.admin.v1.AdminUserService"


class AdminUserServiceClientSync(ConnectClientSync):
    def list_members(
        self,
        request: chatto_dot_admin_dot_v1_dot_members__pb2.ListMembersRequest,
        *,
        headers: Headers | Mapping[str, str] | None = None,
        timeout_ms: int | None = None,
    ) -> chatto_dot_admin_dot_v1_dot_members__pb2.ListMembersResponse:
        return self.execute_unary(
            request=request,
            method=MethodInfo(
                name="ListMembers",
                service_name="chatto.admin.v1.AdminUserService",
                input=chatto_dot_admin_dot_v1_dot_members__pb2.ListMembersRequest,
                output=chatto_dot_admin_dot_v1_dot_members__pb2.ListMembersResponse,
                idempotency_level=IdempotencyLevel.UNKNOWN,
            ),
            headers=headers,
            timeout_ms=timeout_ms,
        )

    def get_member(
        self,
        request: chatto_dot_admin_dot_v1_dot_members__pb2.GetMemberRequest,
        *,
        headers: Headers | Mapping[str, str] | None = None,
        timeout_ms: int | None = None,
    ) -> chatto_dot_admin_dot_v1_dot_members__pb2.GetMemberResponse:
        return self.execute_unary(
            request=request,
            method=MethodInfo(
                name="GetMember",
                service_name="chatto.admin.v1.AdminUserService",
                input=chatto_dot_admin_dot_v1_dot_members__pb2.GetMemberRequest,
                output=chatto_dot_admin_dot_v1_dot_members__pb2.GetMemberResponse,
                idempotency_level=IdempotencyLevel.UNKNOWN,
            ),
            headers=headers,
            timeout_ms=timeout_ms,
        )

    def batch_get_members(
        self,
        request: chatto_dot_admin_dot_v1_dot_members__pb2.BatchGetMembersRequest,
        *,
        headers: Headers | Mapping[str, str] | None = None,
        timeout_ms: int | None = None,
    ) -> chatto_dot_admin_dot_v1_dot_members__pb2.BatchGetMembersResponse:
        return self.execute_unary(
            request=request,
            method=MethodInfo(
                name="BatchGetMembers",
                service_name="chatto.admin.v1.AdminUserService",
                input=chatto_dot_admin_dot_v1_dot_members__pb2.BatchGetMembersRequest,
                output=chatto_dot_admin_dot_v1_dot_members__pb2.BatchGetMembersResponse,
                idempotency_level=IdempotencyLevel.UNKNOWN,
            ),
            headers=headers,
            timeout_ms=timeout_ms,
        )

    def assign_role(
        self,
        request: chatto_dot_admin_dot_v1_dot_members__pb2.AssignRoleRequest,
        *,
        headers: Headers | Mapping[str, str] | None = None,
        timeout_ms: int | None = None,
    ) -> chatto_dot_admin_dot_v1_dot_members__pb2.AssignRoleResponse:
        return self.execute_unary(
            request=request,
            method=MethodInfo(
                name="AssignRole",
                service_name="chatto.admin.v1.AdminUserService",
                input=chatto_dot_admin_dot_v1_dot_members__pb2.AssignRoleRequest,
                output=chatto_dot_admin_dot_v1_dot_members__pb2.AssignRoleResponse,
                idempotency_level=IdempotencyLevel.UNKNOWN,
            ),
            headers=headers,
            timeout_ms=timeout_ms,
        )

    def revoke_role(
        self,
        request: chatto_dot_admin_dot_v1_dot_members__pb2.RevokeRoleRequest,
        *,
        headers: Headers | Mapping[str, str] | None = None,
        timeout_ms: int | None = None,
    ) -> chatto_dot_admin_dot_v1_dot_members__pb2.RevokeRoleResponse:
        return self.execute_unary(
            request=request,
            method=MethodInfo(
                name="RevokeRole",
                service_name="chatto.admin.v1.AdminUserService",
                input=chatto_dot_admin_dot_v1_dot_members__pb2.RevokeRoleRequest,
                output=chatto_dot_admin_dot_v1_dot_members__pb2.RevokeRoleResponse,
                idempotency_level=IdempotencyLevel.UNKNOWN,
            ),
            headers=headers,
            timeout_ms=timeout_ms,
        )

    def update_user(
        self,
        request: chatto_dot_admin_dot_v1_dot_members__pb2.UpdateUserRequest,
        *,
        headers: Headers | Mapping[str, str] | None = None,
        timeout_ms: int | None = None,
    ) -> chatto_dot_admin_dot_v1_dot_members__pb2.UpdateUserResponse:
        return self.execute_unary(
            request=request,
            method=MethodInfo(
                name="UpdateUser",
                service_name="chatto.admin.v1.AdminUserService",
                input=chatto_dot_admin_dot_v1_dot_members__pb2.UpdateUserRequest,
                output=chatto_dot_admin_dot_v1_dot_members__pb2.UpdateUserResponse,
                idempotency_level=IdempotencyLevel.UNKNOWN,
            ),
            headers=headers,
            timeout_ms=timeout_ms,
        )

    def update_user_password(
        self,
        request: chatto_dot_admin_dot_v1_dot_members__pb2.UpdateUserPasswordRequest,
        *,
        headers: Headers | Mapping[str, str] | None = None,
        timeout_ms: int | None = None,
    ) -> chatto_dot_admin_dot_v1_dot_members__pb2.UpdateUserPasswordResponse:
        return self.execute_unary(
            request=request,
            method=MethodInfo(
                name="UpdateUserPassword",
                service_name="chatto.admin.v1.AdminUserService",
                input=chatto_dot_admin_dot_v1_dot_members__pb2.UpdateUserPasswordRequest,
                output=chatto_dot_admin_dot_v1_dot_members__pb2.UpdateUserPasswordResponse,
                idempotency_level=IdempotencyLevel.UNKNOWN,
            ),
            headers=headers,
            timeout_ms=timeout_ms,
        )

    def clear_username_cooldown(
        self,
        request: chatto_dot_admin_dot_v1_dot_members__pb2.ClearUsernameCooldownRequest,
        *,
        headers: Headers | Mapping[str, str] | None = None,
        timeout_ms: int | None = None,
    ) -> chatto_dot_admin_dot_v1_dot_members__pb2.ClearUsernameCooldownResponse:
        return self.execute_unary(
            request=request,
            method=MethodInfo(
                name="ClearUsernameCooldown",
                service_name="chatto.admin.v1.AdminUserService",
                input=chatto_dot_admin_dot_v1_dot_members__pb2.ClearUsernameCooldownRequest,
                output=chatto_dot_admin_dot_v1_dot_members__pb2.ClearUsernameCooldownResponse,
                idempotency_level=IdempotencyLevel.UNKNOWN,
            ),
            headers=headers,
            timeout_ms=timeout_ms,
        )

    def delete_user(
        self,
        request: chatto_dot_admin_dot_v1_dot_members__pb2.DeleteUserRequest,
        *,
        headers: Headers | Mapping[str, str] | None = None,
        timeout_ms: int | None = None,
    ) -> chatto_dot_admin_dot_v1_dot_members__pb2.DeleteUserResponse:
        return self.execute_unary(
            request=request,
            method=MethodInfo(
                name="DeleteUser",
                service_name="chatto.admin.v1.AdminUserService",
                input=chatto_dot_admin_dot_v1_dot_members__pb2.DeleteUserRequest,
                output=chatto_dot_admin_dot_v1_dot_members__pb2.DeleteUserResponse,
                idempotency_level=IdempotencyLevel.UNKNOWN,
            ),
            headers=headers,
            timeout_ms=timeout_ms,
        )
