"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
/ Protobuf schema based on msg_format.h
/
/ @file
/ Author: Steffen Vogel <post@steffenvogel.de>
/ SPDX-FileCopyrightText: 2014-2023 Institute for Automation of Complex Power Systems, RWTH Aachen University
/ SPDX-License-Identifier: Apache-2.0
"""
import builtins
import collections.abc
import google.protobuf.descriptor
import google.protobuf.internal.containers
import google.protobuf.internal.enum_type_wrapper
import google.protobuf.message
import sys
import typing

if sys.version_info >= (3, 10):
    import typing as typing_extensions
else:
    import typing_extensions

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

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

    SAMPLES_FIELD_NUMBER: builtins.int
    @property
    def samples(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Sample]: ...
    def __init__(
        self,
        *,
        samples: collections.abc.Iterable[global___Sample] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["samples", b"samples"]) -> None: ...

global___Message = Message

@typing_extensions.final
class Sample(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    class _Type:
        ValueType = typing.NewType("ValueType", builtins.int)
        V: typing_extensions.TypeAlias = ValueType

    class _TypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[Sample._Type.ValueType], builtins.type):
        DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor
        DATA: Sample._Type.ValueType  # 1
        """Message contains float / integer data values"""
        START: Sample._Type.ValueType  # 2
        """Message marks the beginning of a new simulation case"""
        STOP: Sample._Type.ValueType  # 3
        """Message marks the end of a simulation case"""

    class Type(_Type, metaclass=_TypeEnumTypeWrapper): ...
    DATA: Sample.Type.ValueType  # 1
    """Message contains float / integer data values"""
    START: Sample.Type.ValueType  # 2
    """Message marks the beginning of a new simulation case"""
    STOP: Sample.Type.ValueType  # 3
    """Message marks the end of a simulation case"""

    TYPE_FIELD_NUMBER: builtins.int
    SEQUENCE_FIELD_NUMBER: builtins.int
    TS_ORIGIN_FIELD_NUMBER: builtins.int
    TS_RECEIVED_FIELD_NUMBER: builtins.int
    NEW_FRAME_FIELD_NUMBER: builtins.int
    VALUES_FIELD_NUMBER: builtins.int
    type: global___Sample.Type.ValueType
    sequence: builtins.int
    """The sequence number is incremented for consecutive samples."""
    @property
    def ts_origin(self) -> global___Timestamp: ...
    @property
    def ts_received(self) -> global___Timestamp: ...
    new_frame: builtins.bool
    @property
    def values(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Value]: ...
    def __init__(
        self,
        *,
        type: global___Sample.Type.ValueType | None = ...,
        sequence: builtins.int | None = ...,
        ts_origin: global___Timestamp | None = ...,
        ts_received: global___Timestamp | None = ...,
        new_frame: builtins.bool | None = ...,
        values: collections.abc.Iterable[global___Value] | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["new_frame", b"new_frame", "sequence", b"sequence", "ts_origin", b"ts_origin", "ts_received", b"ts_received", "type", b"type"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["new_frame", b"new_frame", "sequence", b"sequence", "ts_origin", b"ts_origin", "ts_received", b"ts_received", "type", b"type", "values", b"values"]) -> None: ...

global___Sample = Sample

@typing_extensions.final
class Timestamp(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    SEC_FIELD_NUMBER: builtins.int
    NSEC_FIELD_NUMBER: builtins.int
    sec: builtins.int
    """Seconds since 1970-01-01 00:00:00"""
    nsec: builtins.int
    """Nanoseconds of the current second."""
    def __init__(
        self,
        *,
        sec: builtins.int | None = ...,
        nsec: builtins.int | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["nsec", b"nsec", "sec", b"sec"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["nsec", b"nsec", "sec", b"sec"]) -> None: ...

global___Timestamp = Timestamp

@typing_extensions.final
class Value(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    F_FIELD_NUMBER: builtins.int
    I_FIELD_NUMBER: builtins.int
    B_FIELD_NUMBER: builtins.int
    Z_FIELD_NUMBER: builtins.int
    f: builtins.float
    """Floating point values."""
    i: builtins.int
    """Integer values."""
    b: builtins.bool
    """Boolean values."""
    @property
    def z(self) -> global___Complex:
        """Complex values."""
    def __init__(
        self,
        *,
        f: builtins.float | None = ...,
        i: builtins.int | None = ...,
        b: builtins.bool | None = ...,
        z: global___Complex | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["b", b"b", "f", b"f", "i", b"i", "value", b"value", "z", b"z"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["b", b"b", "f", b"f", "i", b"i", "value", b"value", "z", b"z"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions.Literal["value", b"value"]) -> typing_extensions.Literal["f", "i", "b", "z"] | None: ...

global___Value = Value

@typing_extensions.final
class Complex(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    REAL_FIELD_NUMBER: builtins.int
    IMAG_FIELD_NUMBER: builtins.int
    real: builtins.float
    """Real component"""
    imag: builtins.float
    """Imaginary component"""
    def __init__(
        self,
        *,
        real: builtins.float | None = ...,
        imag: builtins.float | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["imag", b"imag", "real", b"real"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["imag", b"imag", "real", b"real"]) -> None: ...

global___Complex = Complex
