# -*- coding: utf-8 -*-
# Generated by https://github.com/connectrpc/connect-python.  DO NOT EDIT!
# source: chatto/admin/v1/server.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.server_pb2 as chatto_dot_admin_dot_v1_dot_server__pb2


class AdminServerService(Protocol):
    async def get_server_config(self, request: chatto_dot_admin_dot_v1_dot_server__pb2.GetServerConfigRequest, ctx: RequestContext) -> chatto_dot_admin_dot_v1_dot_server__pb2.GetServerConfigResponse:
        raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")

    async def update_server_config(self, request: chatto_dot_admin_dot_v1_dot_server__pb2.UpdateServerConfigRequest, ctx: RequestContext) -> chatto_dot_admin_dot_v1_dot_server__pb2.UpdateServerConfigResponse:
        raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")

    async def upload_server_logo(self, request: chatto_dot_admin_dot_v1_dot_server__pb2.UploadServerLogoRequest, ctx: RequestContext) -> chatto_dot_admin_dot_v1_dot_server__pb2.UploadServerLogoResponse:
        raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")

    async def delete_server_logo(self, request: chatto_dot_admin_dot_v1_dot_server__pb2.DeleteServerLogoRequest, ctx: RequestContext) -> chatto_dot_admin_dot_v1_dot_server__pb2.DeleteServerLogoResponse:
        raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")

    async def upload_server_banner(self, request: chatto_dot_admin_dot_v1_dot_server__pb2.UploadServerBannerRequest, ctx: RequestContext) -> chatto_dot_admin_dot_v1_dot_server__pb2.UploadServerBannerResponse:
        raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")

    async def delete_server_banner(self, request: chatto_dot_admin_dot_v1_dot_server__pb2.DeleteServerBannerRequest, ctx: RequestContext) -> chatto_dot_admin_dot_v1_dot_server__pb2.DeleteServerBannerResponse:
        raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")

    async def get_server_security_config(self, request: chatto_dot_admin_dot_v1_dot_server__pb2.GetServerSecurityConfigRequest, ctx: RequestContext) -> chatto_dot_admin_dot_v1_dot_server__pb2.GetServerSecurityConfigResponse:
        raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")

    async def update_blocked_usernames(self, request: chatto_dot_admin_dot_v1_dot_server__pb2.UpdateBlockedUsernamesRequest, ctx: RequestContext) -> chatto_dot_admin_dot_v1_dot_server__pb2.UpdateBlockedUsernamesResponse:
        raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")


class AdminServerServiceASGIApplication(ConnectASGIApplication[AdminServerService]):
    def __init__(self, service: AdminServerService | AsyncGenerator[AdminServerService], *, 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.AdminServerService/GetServerConfig": Endpoint.unary(
                    method=MethodInfo(
                        name="GetServerConfig",
                        service_name="chatto.admin.v1.AdminServerService",
                        input=chatto_dot_admin_dot_v1_dot_server__pb2.GetServerConfigRequest,
                        output=chatto_dot_admin_dot_v1_dot_server__pb2.GetServerConfigResponse,
                        idempotency_level=IdempotencyLevel.UNKNOWN,
                    ),
                    function=svc.get_server_config,
                ),
                "/chatto.admin.v1.AdminServerService/UpdateServerConfig": Endpoint.unary(
                    method=MethodInfo(
                        name="UpdateServerConfig",
                        service_name="chatto.admin.v1.AdminServerService",
                        input=chatto_dot_admin_dot_v1_dot_server__pb2.UpdateServerConfigRequest,
                        output=chatto_dot_admin_dot_v1_dot_server__pb2.UpdateServerConfigResponse,
                        idempotency_level=IdempotencyLevel.UNKNOWN,
                    ),
                    function=svc.update_server_config,
                ),
                "/chatto.admin.v1.AdminServerService/UploadServerLogo": Endpoint.unary(
                    method=MethodInfo(
                        name="UploadServerLogo",
                        service_name="chatto.admin.v1.AdminServerService",
                        input=chatto_dot_admin_dot_v1_dot_server__pb2.UploadServerLogoRequest,
                        output=chatto_dot_admin_dot_v1_dot_server__pb2.UploadServerLogoResponse,
                        idempotency_level=IdempotencyLevel.UNKNOWN,
                    ),
                    function=svc.upload_server_logo,
                ),
                "/chatto.admin.v1.AdminServerService/DeleteServerLogo": Endpoint.unary(
                    method=MethodInfo(
                        name="DeleteServerLogo",
                        service_name="chatto.admin.v1.AdminServerService",
                        input=chatto_dot_admin_dot_v1_dot_server__pb2.DeleteServerLogoRequest,
                        output=chatto_dot_admin_dot_v1_dot_server__pb2.DeleteServerLogoResponse,
                        idempotency_level=IdempotencyLevel.UNKNOWN,
                    ),
                    function=svc.delete_server_logo,
                ),
                "/chatto.admin.v1.AdminServerService/UploadServerBanner": Endpoint.unary(
                    method=MethodInfo(
                        name="UploadServerBanner",
                        service_name="chatto.admin.v1.AdminServerService",
                        input=chatto_dot_admin_dot_v1_dot_server__pb2.UploadServerBannerRequest,
                        output=chatto_dot_admin_dot_v1_dot_server__pb2.UploadServerBannerResponse,
                        idempotency_level=IdempotencyLevel.UNKNOWN,
                    ),
                    function=svc.upload_server_banner,
                ),
                "/chatto.admin.v1.AdminServerService/DeleteServerBanner": Endpoint.unary(
                    method=MethodInfo(
                        name="DeleteServerBanner",
                        service_name="chatto.admin.v1.AdminServerService",
                        input=chatto_dot_admin_dot_v1_dot_server__pb2.DeleteServerBannerRequest,
                        output=chatto_dot_admin_dot_v1_dot_server__pb2.DeleteServerBannerResponse,
                        idempotency_level=IdempotencyLevel.UNKNOWN,
                    ),
                    function=svc.delete_server_banner,
                ),
                "/chatto.admin.v1.AdminServerService/GetServerSecurityConfig": Endpoint.unary(
                    method=MethodInfo(
                        name="GetServerSecurityConfig",
                        service_name="chatto.admin.v1.AdminServerService",
                        input=chatto_dot_admin_dot_v1_dot_server__pb2.GetServerSecurityConfigRequest,
                        output=chatto_dot_admin_dot_v1_dot_server__pb2.GetServerSecurityConfigResponse,
                        idempotency_level=IdempotencyLevel.UNKNOWN,
                    ),
                    function=svc.get_server_security_config,
                ),
                "/chatto.admin.v1.AdminServerService/UpdateBlockedUsernames": Endpoint.unary(
                    method=MethodInfo(
                        name="UpdateBlockedUsernames",
                        service_name="chatto.admin.v1.AdminServerService",
                        input=chatto_dot_admin_dot_v1_dot_server__pb2.UpdateBlockedUsernamesRequest,
                        output=chatto_dot_admin_dot_v1_dot_server__pb2.UpdateBlockedUsernamesResponse,
                        idempotency_level=IdempotencyLevel.UNKNOWN,
                    ),
                    function=svc.update_blocked_usernames,
                ),
            },
            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.AdminServerService"


class AdminServerServiceClient(ConnectClient):
    async def get_server_config(
        self,
        request: chatto_dot_admin_dot_v1_dot_server__pb2.GetServerConfigRequest,
        *,
        headers: Headers | Mapping[str, str] | None = None,
        timeout_ms: int | None = None,
    ) -> chatto_dot_admin_dot_v1_dot_server__pb2.GetServerConfigResponse:
        return await self.execute_unary(
            request=request,
            method=MethodInfo(
                name="GetServerConfig",
                service_name="chatto.admin.v1.AdminServerService",
                input=chatto_dot_admin_dot_v1_dot_server__pb2.GetServerConfigRequest,
                output=chatto_dot_admin_dot_v1_dot_server__pb2.GetServerConfigResponse,
                idempotency_level=IdempotencyLevel.UNKNOWN,
            ),
            headers=headers,
            timeout_ms=timeout_ms,
        )

    async def update_server_config(
        self,
        request: chatto_dot_admin_dot_v1_dot_server__pb2.UpdateServerConfigRequest,
        *,
        headers: Headers | Mapping[str, str] | None = None,
        timeout_ms: int | None = None,
    ) -> chatto_dot_admin_dot_v1_dot_server__pb2.UpdateServerConfigResponse:
        return await self.execute_unary(
            request=request,
            method=MethodInfo(
                name="UpdateServerConfig",
                service_name="chatto.admin.v1.AdminServerService",
                input=chatto_dot_admin_dot_v1_dot_server__pb2.UpdateServerConfigRequest,
                output=chatto_dot_admin_dot_v1_dot_server__pb2.UpdateServerConfigResponse,
                idempotency_level=IdempotencyLevel.UNKNOWN,
            ),
            headers=headers,
            timeout_ms=timeout_ms,
        )

    async def upload_server_logo(
        self,
        request: chatto_dot_admin_dot_v1_dot_server__pb2.UploadServerLogoRequest,
        *,
        headers: Headers | Mapping[str, str] | None = None,
        timeout_ms: int | None = None,
    ) -> chatto_dot_admin_dot_v1_dot_server__pb2.UploadServerLogoResponse:
        return await self.execute_unary(
            request=request,
            method=MethodInfo(
                name="UploadServerLogo",
                service_name="chatto.admin.v1.AdminServerService",
                input=chatto_dot_admin_dot_v1_dot_server__pb2.UploadServerLogoRequest,
                output=chatto_dot_admin_dot_v1_dot_server__pb2.UploadServerLogoResponse,
                idempotency_level=IdempotencyLevel.UNKNOWN,
            ),
            headers=headers,
            timeout_ms=timeout_ms,
        )

    async def delete_server_logo(
        self,
        request: chatto_dot_admin_dot_v1_dot_server__pb2.DeleteServerLogoRequest,
        *,
        headers: Headers | Mapping[str, str] | None = None,
        timeout_ms: int | None = None,
    ) -> chatto_dot_admin_dot_v1_dot_server__pb2.DeleteServerLogoResponse:
        return await self.execute_unary(
            request=request,
            method=MethodInfo(
                name="DeleteServerLogo",
                service_name="chatto.admin.v1.AdminServerService",
                input=chatto_dot_admin_dot_v1_dot_server__pb2.DeleteServerLogoRequest,
                output=chatto_dot_admin_dot_v1_dot_server__pb2.DeleteServerLogoResponse,
                idempotency_level=IdempotencyLevel.UNKNOWN,
            ),
            headers=headers,
            timeout_ms=timeout_ms,
        )

    async def upload_server_banner(
        self,
        request: chatto_dot_admin_dot_v1_dot_server__pb2.UploadServerBannerRequest,
        *,
        headers: Headers | Mapping[str, str] | None = None,
        timeout_ms: int | None = None,
    ) -> chatto_dot_admin_dot_v1_dot_server__pb2.UploadServerBannerResponse:
        return await self.execute_unary(
            request=request,
            method=MethodInfo(
                name="UploadServerBanner",
                service_name="chatto.admin.v1.AdminServerService",
                input=chatto_dot_admin_dot_v1_dot_server__pb2.UploadServerBannerRequest,
                output=chatto_dot_admin_dot_v1_dot_server__pb2.UploadServerBannerResponse,
                idempotency_level=IdempotencyLevel.UNKNOWN,
            ),
            headers=headers,
            timeout_ms=timeout_ms,
        )

    async def delete_server_banner(
        self,
        request: chatto_dot_admin_dot_v1_dot_server__pb2.DeleteServerBannerRequest,
        *,
        headers: Headers | Mapping[str, str] | None = None,
        timeout_ms: int | None = None,
    ) -> chatto_dot_admin_dot_v1_dot_server__pb2.DeleteServerBannerResponse:
        return await self.execute_unary(
            request=request,
            method=MethodInfo(
                name="DeleteServerBanner",
                service_name="chatto.admin.v1.AdminServerService",
                input=chatto_dot_admin_dot_v1_dot_server__pb2.DeleteServerBannerRequest,
                output=chatto_dot_admin_dot_v1_dot_server__pb2.DeleteServerBannerResponse,
                idempotency_level=IdempotencyLevel.UNKNOWN,
            ),
            headers=headers,
            timeout_ms=timeout_ms,
        )

    async def get_server_security_config(
        self,
        request: chatto_dot_admin_dot_v1_dot_server__pb2.GetServerSecurityConfigRequest,
        *,
        headers: Headers | Mapping[str, str] | None = None,
        timeout_ms: int | None = None,
    ) -> chatto_dot_admin_dot_v1_dot_server__pb2.GetServerSecurityConfigResponse:
        return await self.execute_unary(
            request=request,
            method=MethodInfo(
                name="GetServerSecurityConfig",
                service_name="chatto.admin.v1.AdminServerService",
                input=chatto_dot_admin_dot_v1_dot_server__pb2.GetServerSecurityConfigRequest,
                output=chatto_dot_admin_dot_v1_dot_server__pb2.GetServerSecurityConfigResponse,
                idempotency_level=IdempotencyLevel.UNKNOWN,
            ),
            headers=headers,
            timeout_ms=timeout_ms,
        )

    async def update_blocked_usernames(
        self,
        request: chatto_dot_admin_dot_v1_dot_server__pb2.UpdateBlockedUsernamesRequest,
        *,
        headers: Headers | Mapping[str, str] | None = None,
        timeout_ms: int | None = None,
    ) -> chatto_dot_admin_dot_v1_dot_server__pb2.UpdateBlockedUsernamesResponse:
        return await self.execute_unary(
            request=request,
            method=MethodInfo(
                name="UpdateBlockedUsernames",
                service_name="chatto.admin.v1.AdminServerService",
                input=chatto_dot_admin_dot_v1_dot_server__pb2.UpdateBlockedUsernamesRequest,
                output=chatto_dot_admin_dot_v1_dot_server__pb2.UpdateBlockedUsernamesResponse,
                idempotency_level=IdempotencyLevel.UNKNOWN,
            ),
            headers=headers,
            timeout_ms=timeout_ms,
        )


class AdminServerServiceSync(Protocol):
    def get_server_config(self, request: chatto_dot_admin_dot_v1_dot_server__pb2.GetServerConfigRequest, ctx: RequestContext) -> chatto_dot_admin_dot_v1_dot_server__pb2.GetServerConfigResponse:
        raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
    def update_server_config(self, request: chatto_dot_admin_dot_v1_dot_server__pb2.UpdateServerConfigRequest, ctx: RequestContext) -> chatto_dot_admin_dot_v1_dot_server__pb2.UpdateServerConfigResponse:
        raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
    def upload_server_logo(self, request: chatto_dot_admin_dot_v1_dot_server__pb2.UploadServerLogoRequest, ctx: RequestContext) -> chatto_dot_admin_dot_v1_dot_server__pb2.UploadServerLogoResponse:
        raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
    def delete_server_logo(self, request: chatto_dot_admin_dot_v1_dot_server__pb2.DeleteServerLogoRequest, ctx: RequestContext) -> chatto_dot_admin_dot_v1_dot_server__pb2.DeleteServerLogoResponse:
        raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
    def upload_server_banner(self, request: chatto_dot_admin_dot_v1_dot_server__pb2.UploadServerBannerRequest, ctx: RequestContext) -> chatto_dot_admin_dot_v1_dot_server__pb2.UploadServerBannerResponse:
        raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
    def delete_server_banner(self, request: chatto_dot_admin_dot_v1_dot_server__pb2.DeleteServerBannerRequest, ctx: RequestContext) -> chatto_dot_admin_dot_v1_dot_server__pb2.DeleteServerBannerResponse:
        raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
    def get_server_security_config(self, request: chatto_dot_admin_dot_v1_dot_server__pb2.GetServerSecurityConfigRequest, ctx: RequestContext) -> chatto_dot_admin_dot_v1_dot_server__pb2.GetServerSecurityConfigResponse:
        raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")
    def update_blocked_usernames(self, request: chatto_dot_admin_dot_v1_dot_server__pb2.UpdateBlockedUsernamesRequest, ctx: RequestContext) -> chatto_dot_admin_dot_v1_dot_server__pb2.UpdateBlockedUsernamesResponse:
        raise ConnectError(Code.UNIMPLEMENTED, "Not implemented")


class AdminServerServiceWSGIApplication(ConnectWSGIApplication):
    def __init__(self, service: AdminServerServiceSync, interceptors: Iterable[InterceptorSync]=(), read_max_bytes: int | None = None, compressions: Iterable[Compression] | None = None) -> None:
        super().__init__(
            endpoints={
                "/chatto.admin.v1.AdminServerService/GetServerConfig": EndpointSync.unary(
                    method=MethodInfo(
                        name="GetServerConfig",
                        service_name="chatto.admin.v1.AdminServerService",
                        input=chatto_dot_admin_dot_v1_dot_server__pb2.GetServerConfigRequest,
                        output=chatto_dot_admin_dot_v1_dot_server__pb2.GetServerConfigResponse,
                        idempotency_level=IdempotencyLevel.UNKNOWN,
                    ),
                    function=service.get_server_config,
                ),
                "/chatto.admin.v1.AdminServerService/UpdateServerConfig": EndpointSync.unary(
                    method=MethodInfo(
                        name="UpdateServerConfig",
                        service_name="chatto.admin.v1.AdminServerService",
                        input=chatto_dot_admin_dot_v1_dot_server__pb2.UpdateServerConfigRequest,
                        output=chatto_dot_admin_dot_v1_dot_server__pb2.UpdateServerConfigResponse,
                        idempotency_level=IdempotencyLevel.UNKNOWN,
                    ),
                    function=service.update_server_config,
                ),
                "/chatto.admin.v1.AdminServerService/UploadServerLogo": EndpointSync.unary(
                    method=MethodInfo(
                        name="UploadServerLogo",
                        service_name="chatto.admin.v1.AdminServerService",
                        input=chatto_dot_admin_dot_v1_dot_server__pb2.UploadServerLogoRequest,
                        output=chatto_dot_admin_dot_v1_dot_server__pb2.UploadServerLogoResponse,
                        idempotency_level=IdempotencyLevel.UNKNOWN,
                    ),
                    function=service.upload_server_logo,
                ),
                "/chatto.admin.v1.AdminServerService/DeleteServerLogo": EndpointSync.unary(
                    method=MethodInfo(
                        name="DeleteServerLogo",
                        service_name="chatto.admin.v1.AdminServerService",
                        input=chatto_dot_admin_dot_v1_dot_server__pb2.DeleteServerLogoRequest,
                        output=chatto_dot_admin_dot_v1_dot_server__pb2.DeleteServerLogoResponse,
                        idempotency_level=IdempotencyLevel.UNKNOWN,
                    ),
                    function=service.delete_server_logo,
                ),
                "/chatto.admin.v1.AdminServerService/UploadServerBanner": EndpointSync.unary(
                    method=MethodInfo(
                        name="UploadServerBanner",
                        service_name="chatto.admin.v1.AdminServerService",
                        input=chatto_dot_admin_dot_v1_dot_server__pb2.UploadServerBannerRequest,
                        output=chatto_dot_admin_dot_v1_dot_server__pb2.UploadServerBannerResponse,
                        idempotency_level=IdempotencyLevel.UNKNOWN,
                    ),
                    function=service.upload_server_banner,
                ),
                "/chatto.admin.v1.AdminServerService/DeleteServerBanner": EndpointSync.unary(
                    method=MethodInfo(
                        name="DeleteServerBanner",
                        service_name="chatto.admin.v1.AdminServerService",
                        input=chatto_dot_admin_dot_v1_dot_server__pb2.DeleteServerBannerRequest,
                        output=chatto_dot_admin_dot_v1_dot_server__pb2.DeleteServerBannerResponse,
                        idempotency_level=IdempotencyLevel.UNKNOWN,
                    ),
                    function=service.delete_server_banner,
                ),
                "/chatto.admin.v1.AdminServerService/GetServerSecurityConfig": EndpointSync.unary(
                    method=MethodInfo(
                        name="GetServerSecurityConfig",
                        service_name="chatto.admin.v1.AdminServerService",
                        input=chatto_dot_admin_dot_v1_dot_server__pb2.GetServerSecurityConfigRequest,
                        output=chatto_dot_admin_dot_v1_dot_server__pb2.GetServerSecurityConfigResponse,
                        idempotency_level=IdempotencyLevel.UNKNOWN,
                    ),
                    function=service.get_server_security_config,
                ),
                "/chatto.admin.v1.AdminServerService/UpdateBlockedUsernames": EndpointSync.unary(
                    method=MethodInfo(
                        name="UpdateBlockedUsernames",
                        service_name="chatto.admin.v1.AdminServerService",
                        input=chatto_dot_admin_dot_v1_dot_server__pb2.UpdateBlockedUsernamesRequest,
                        output=chatto_dot_admin_dot_v1_dot_server__pb2.UpdateBlockedUsernamesResponse,
                        idempotency_level=IdempotencyLevel.UNKNOWN,
                    ),
                    function=service.update_blocked_usernames,
                ),
            },
            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.AdminServerService"


class AdminServerServiceClientSync(ConnectClientSync):
    def get_server_config(
        self,
        request: chatto_dot_admin_dot_v1_dot_server__pb2.GetServerConfigRequest,
        *,
        headers: Headers | Mapping[str, str] | None = None,
        timeout_ms: int | None = None,
    ) -> chatto_dot_admin_dot_v1_dot_server__pb2.GetServerConfigResponse:
        return self.execute_unary(
            request=request,
            method=MethodInfo(
                name="GetServerConfig",
                service_name="chatto.admin.v1.AdminServerService",
                input=chatto_dot_admin_dot_v1_dot_server__pb2.GetServerConfigRequest,
                output=chatto_dot_admin_dot_v1_dot_server__pb2.GetServerConfigResponse,
                idempotency_level=IdempotencyLevel.UNKNOWN,
            ),
            headers=headers,
            timeout_ms=timeout_ms,
        )

    def update_server_config(
        self,
        request: chatto_dot_admin_dot_v1_dot_server__pb2.UpdateServerConfigRequest,
        *,
        headers: Headers | Mapping[str, str] | None = None,
        timeout_ms: int | None = None,
    ) -> chatto_dot_admin_dot_v1_dot_server__pb2.UpdateServerConfigResponse:
        return self.execute_unary(
            request=request,
            method=MethodInfo(
                name="UpdateServerConfig",
                service_name="chatto.admin.v1.AdminServerService",
                input=chatto_dot_admin_dot_v1_dot_server__pb2.UpdateServerConfigRequest,
                output=chatto_dot_admin_dot_v1_dot_server__pb2.UpdateServerConfigResponse,
                idempotency_level=IdempotencyLevel.UNKNOWN,
            ),
            headers=headers,
            timeout_ms=timeout_ms,
        )

    def upload_server_logo(
        self,
        request: chatto_dot_admin_dot_v1_dot_server__pb2.UploadServerLogoRequest,
        *,
        headers: Headers | Mapping[str, str] | None = None,
        timeout_ms: int | None = None,
    ) -> chatto_dot_admin_dot_v1_dot_server__pb2.UploadServerLogoResponse:
        return self.execute_unary(
            request=request,
            method=MethodInfo(
                name="UploadServerLogo",
                service_name="chatto.admin.v1.AdminServerService",
                input=chatto_dot_admin_dot_v1_dot_server__pb2.UploadServerLogoRequest,
                output=chatto_dot_admin_dot_v1_dot_server__pb2.UploadServerLogoResponse,
                idempotency_level=IdempotencyLevel.UNKNOWN,
            ),
            headers=headers,
            timeout_ms=timeout_ms,
        )

    def delete_server_logo(
        self,
        request: chatto_dot_admin_dot_v1_dot_server__pb2.DeleteServerLogoRequest,
        *,
        headers: Headers | Mapping[str, str] | None = None,
        timeout_ms: int | None = None,
    ) -> chatto_dot_admin_dot_v1_dot_server__pb2.DeleteServerLogoResponse:
        return self.execute_unary(
            request=request,
            method=MethodInfo(
                name="DeleteServerLogo",
                service_name="chatto.admin.v1.AdminServerService",
                input=chatto_dot_admin_dot_v1_dot_server__pb2.DeleteServerLogoRequest,
                output=chatto_dot_admin_dot_v1_dot_server__pb2.DeleteServerLogoResponse,
                idempotency_level=IdempotencyLevel.UNKNOWN,
            ),
            headers=headers,
            timeout_ms=timeout_ms,
        )

    def upload_server_banner(
        self,
        request: chatto_dot_admin_dot_v1_dot_server__pb2.UploadServerBannerRequest,
        *,
        headers: Headers | Mapping[str, str] | None = None,
        timeout_ms: int | None = None,
    ) -> chatto_dot_admin_dot_v1_dot_server__pb2.UploadServerBannerResponse:
        return self.execute_unary(
            request=request,
            method=MethodInfo(
                name="UploadServerBanner",
                service_name="chatto.admin.v1.AdminServerService",
                input=chatto_dot_admin_dot_v1_dot_server__pb2.UploadServerBannerRequest,
                output=chatto_dot_admin_dot_v1_dot_server__pb2.UploadServerBannerResponse,
                idempotency_level=IdempotencyLevel.UNKNOWN,
            ),
            headers=headers,
            timeout_ms=timeout_ms,
        )

    def delete_server_banner(
        self,
        request: chatto_dot_admin_dot_v1_dot_server__pb2.DeleteServerBannerRequest,
        *,
        headers: Headers | Mapping[str, str] | None = None,
        timeout_ms: int | None = None,
    ) -> chatto_dot_admin_dot_v1_dot_server__pb2.DeleteServerBannerResponse:
        return self.execute_unary(
            request=request,
            method=MethodInfo(
                name="DeleteServerBanner",
                service_name="chatto.admin.v1.AdminServerService",
                input=chatto_dot_admin_dot_v1_dot_server__pb2.DeleteServerBannerRequest,
                output=chatto_dot_admin_dot_v1_dot_server__pb2.DeleteServerBannerResponse,
                idempotency_level=IdempotencyLevel.UNKNOWN,
            ),
            headers=headers,
            timeout_ms=timeout_ms,
        )

    def get_server_security_config(
        self,
        request: chatto_dot_admin_dot_v1_dot_server__pb2.GetServerSecurityConfigRequest,
        *,
        headers: Headers | Mapping[str, str] | None = None,
        timeout_ms: int | None = None,
    ) -> chatto_dot_admin_dot_v1_dot_server__pb2.GetServerSecurityConfigResponse:
        return self.execute_unary(
            request=request,
            method=MethodInfo(
                name="GetServerSecurityConfig",
                service_name="chatto.admin.v1.AdminServerService",
                input=chatto_dot_admin_dot_v1_dot_server__pb2.GetServerSecurityConfigRequest,
                output=chatto_dot_admin_dot_v1_dot_server__pb2.GetServerSecurityConfigResponse,
                idempotency_level=IdempotencyLevel.UNKNOWN,
            ),
            headers=headers,
            timeout_ms=timeout_ms,
        )

    def update_blocked_usernames(
        self,
        request: chatto_dot_admin_dot_v1_dot_server__pb2.UpdateBlockedUsernamesRequest,
        *,
        headers: Headers | Mapping[str, str] | None = None,
        timeout_ms: int | None = None,
    ) -> chatto_dot_admin_dot_v1_dot_server__pb2.UpdateBlockedUsernamesResponse:
        return self.execute_unary(
            request=request,
            method=MethodInfo(
                name="UpdateBlockedUsernames",
                service_name="chatto.admin.v1.AdminServerService",
                input=chatto_dot_admin_dot_v1_dot_server__pb2.UpdateBlockedUsernamesRequest,
                output=chatto_dot_admin_dot_v1_dot_server__pb2.UpdateBlockedUsernamesResponse,
                idempotency_level=IdempotencyLevel.UNKNOWN,
            ),
            headers=headers,
            timeout_ms=timeout_ms,
        )
