"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
Copyright 2025 Redpanda Data, Inc.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
"""
import abc
import collections.abc
import grpc
import grpc.aio
from .... import redpanda
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):
    ...

class AgentRuntimeStub:
    """`AgentRuntime` is the service that provides the ability to invoke an agent."""

    def __init__(self, channel: typing.Union[grpc.Channel, grpc.aio.Channel]) -> None:
        ...
    InvokeAgent: grpc.UnaryUnaryMultiCallable[redpanda.runtime.v1alpha1.agent_pb2.InvokeAgentRequest, redpanda.runtime.v1alpha1.agent_pb2.InvokeAgentResponse]

class AgentRuntimeAsyncStub:
    """`AgentRuntime` is the service that provides the ability to invoke an agent."""
    InvokeAgent: grpc.aio.UnaryUnaryMultiCallable[redpanda.runtime.v1alpha1.agent_pb2.InvokeAgentRequest, redpanda.runtime.v1alpha1.agent_pb2.InvokeAgentResponse]

class AgentRuntimeServicer(metaclass=abc.ABCMeta):
    """`AgentRuntime` is the service that provides the ability to invoke an agent."""

    @abc.abstractmethod
    def InvokeAgent(self, request: redpanda.runtime.v1alpha1.agent_pb2.InvokeAgentRequest, context: _ServicerContext) -> typing.Union[redpanda.runtime.v1alpha1.agent_pb2.InvokeAgentResponse, collections.abc.Awaitable[redpanda.runtime.v1alpha1.agent_pb2.InvokeAgentResponse]]:
        ...

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