"""
@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 builtins
import collections.abc
import google.protobuf.descriptor
import google.protobuf.internal.containers
import google.protobuf.message
from .... import redpanda
import typing
DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

@typing.final
class BatchProcessorInitRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    CONFIG_FIELD_NUMBER: builtins.int

    @property
    def config(self) -> redpanda.runtime.v1alpha1.message_pb2.Value:
        ...

    def __init__(self, *, config: redpanda.runtime.v1alpha1.message_pb2.Value | None=...) -> None:
        ...

    def HasField(self, field_name: typing.Literal['config', b'config']) -> builtins.bool:
        ...

    def ClearField(self, field_name: typing.Literal['config', b'config']) -> None:
        ...
global___BatchProcessorInitRequest = BatchProcessorInitRequest

@typing.final
class BatchProcessorInitResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    ERROR_FIELD_NUMBER: builtins.int

    @property
    def error(self) -> redpanda.runtime.v1alpha1.message_pb2.Error:
        """If present, then the input configuration is invalid and an error should be
        surfaced at pipeline construction time.
        """

    def __init__(self, *, error: redpanda.runtime.v1alpha1.message_pb2.Error | None=...) -> None:
        ...

    def HasField(self, field_name: typing.Literal['error', b'error']) -> builtins.bool:
        ...

    def ClearField(self, field_name: typing.Literal['error', b'error']) -> None:
        ...
global___BatchProcessorInitResponse = BatchProcessorInitResponse

@typing.final
class BatchProcessorProcessBatchRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    BATCH_FIELD_NUMBER: builtins.int

    @property
    def batch(self) -> redpanda.runtime.v1alpha1.message_pb2.MessageBatch:
        """The input batch to the processor."""

    def __init__(self, *, batch: redpanda.runtime.v1alpha1.message_pb2.MessageBatch | None=...) -> None:
        ...

    def HasField(self, field_name: typing.Literal['batch', b'batch']) -> builtins.bool:
        ...

    def ClearField(self, field_name: typing.Literal['batch', b'batch']) -> None:
        ...
global___BatchProcessorProcessBatchRequest = BatchProcessorProcessBatchRequest

@typing.final
class BatchProcessorProcessBatchResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    BATCHES_FIELD_NUMBER: builtins.int
    ERROR_FIELD_NUMBER: builtins.int

    @property
    def batches(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[redpanda.runtime.v1alpha1.message_pb2.MessageBatch]:
        """The resulting batch of messages. Returning multiple batches allows
        for splitting a single batch into multiple batches.
        """

    @property
    def error(self) -> redpanda.runtime.v1alpha1.message_pb2.Error:
        """If present, then the processing failed."""

    def __init__(self, *, batches: collections.abc.Iterable[redpanda.runtime.v1alpha1.message_pb2.MessageBatch] | None=..., error: redpanda.runtime.v1alpha1.message_pb2.Error | None=...) -> None:
        ...

    def HasField(self, field_name: typing.Literal['error', b'error']) -> builtins.bool:
        ...

    def ClearField(self, field_name: typing.Literal['batches', b'batches', 'error', b'error']) -> None:
        ...
global___BatchProcessorProcessBatchResponse = BatchProcessorProcessBatchResponse

@typing.final
class BatchProcessorCloseRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    def __init__(self) -> None:
        ...
global___BatchProcessorCloseRequest = BatchProcessorCloseRequest

@typing.final
class BatchProcessorCloseResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    ERROR_FIELD_NUMBER: builtins.int

    @property
    def error(self) -> redpanda.runtime.v1alpha1.message_pb2.Error:
        """If present, then the close attempt failed."""

    def __init__(self, *, error: redpanda.runtime.v1alpha1.message_pb2.Error | None=...) -> None:
        ...

    def HasField(self, field_name: typing.Literal['error', b'error']) -> builtins.bool:
        ...

    def ClearField(self, field_name: typing.Literal['error', b'error']) -> None:
        ...
global___BatchProcessorCloseResponse = BatchProcessorCloseResponse