"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import builtins
import google.protobuf.descriptor
import google.protobuf.message
import price_pb2
import sys

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

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

@typing_extensions.final
class feed_publish(google.protobuf.message.Message):
    """This is an operation for witnesses. 
    The witnesses publish the exchange rate between Hive and HBD.
    Only the exchange rate published by the top 20 witnesses is used to define the exchange rate.

    Description https://gitlab.syncad.com/hive/hive/-/blob/develop/doc/devs/operations/07_feed_publish.md?ref_type=heads
    """

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    PUBLISHER_FIELD_NUMBER: builtins.int
    EXCHANGE_RATE_FIELD_NUMBER: builtins.int
    publisher: builtins.str
    """ @param {string} publisher - The witness."""
    @property
    def exchange_rate(self) -> price_pb2.price:
        """@param {price} exchange_rate - How many HBD the 1 Hive should cost
                                       Example: "base":"0.345 HBD","quote":"1.000 HIVE"
        """
    def __init__(
        self,
        *,
        publisher: builtins.str | None = ...,
        exchange_rate: price_pb2.price | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["exchange_rate", b"exchange_rate", "publisher", b"publisher"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["exchange_rate", b"exchange_rate", "publisher", b"publisher"]) -> None: ...

global___feed_publish = feed_publish
