"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""

import builtins
import collections.abc
import google.protobuf.descriptor
import google.protobuf.internal.containers
import google.protobuf.message
import typing

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

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

    def __init__(
        self,
    ) -> None: ...

global___SerializerAuto = SerializerAuto

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

    def __init__(
        self,
    ) -> None: ...

global___SerializerJSON = SerializerJSON

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

    KEY_FIELD_NUMBER: builtins.int
    VALUE_FIELD_NUMBER: builtins.int
    key: builtins.str
    """Name of the serializer parameter"""
    value: builtins.str
    """Value of the serializer parameter"""
    def __init__(
        self,
        *,
        key: builtins.str = ...,
        value: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["key", b"key", "value", b"value"]) -> None: ...

global___DebeziumSerializerParameter = DebeziumSerializerParameter

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

    SERIALIZER_PARAMETERS_FIELD_NUMBER: builtins.int
    @property
    def serializer_parameters(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___DebeziumSerializerParameter]:
        """Settings of sterilization parameters as key-value pairs"""

    def __init__(
        self,
        *,
        serializer_parameters: collections.abc.Iterable[global___DebeziumSerializerParameter] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing.Literal["serializer_parameters", b"serializer_parameters"]) -> None: ...

global___SerializerDebezium = SerializerDebezium

@typing.final
class Serializer(google.protobuf.message.Message):
    """Data serialization format"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    SERIALIZER_AUTO_FIELD_NUMBER: builtins.int
    SERIALIZER_JSON_FIELD_NUMBER: builtins.int
    SERIALIZER_DEBEZIUM_FIELD_NUMBER: builtins.int
    @property
    def serializer_auto(self) -> global___SerializerAuto:
        """Select the serialization format automatically"""

    @property
    def serializer_json(self) -> global___SerializerJSON:
        """Serialize data in json format"""

    @property
    def serializer_debezium(self) -> global___SerializerDebezium:
        """Serialize data in debezium format"""

    def __init__(
        self,
        *,
        serializer_auto: global___SerializerAuto | None = ...,
        serializer_json: global___SerializerJSON | None = ...,
        serializer_debezium: global___SerializerDebezium | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["serializer", b"serializer", "serializer_auto", b"serializer_auto", "serializer_debezium", b"serializer_debezium", "serializer_json", b"serializer_json"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["serializer", b"serializer", "serializer_auto", b"serializer_auto", "serializer_debezium", b"serializer_debezium", "serializer_json", b"serializer_json"]) -> None: ...
    def WhichOneof(self, oneof_group: typing.Literal["serializer", b"serializer"]) -> typing.Literal["serializer_auto", "serializer_json", "serializer_debezium"] | None: ...

global___Serializer = Serializer
