"""
@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 nibiru.oracle.v1.oracle_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 EventPriceUpdate(google.protobuf.message.Message):
    """Emitted when a price is posted"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    PAIR_FIELD_NUMBER: builtins.int
    PRICE_FIELD_NUMBER: builtins.int
    TIMESTAMP_MS_FIELD_NUMBER: builtins.int
    pair: builtins.str
    price: builtins.str
    timestamp_ms: builtins.int
    def __init__(
        self,
        *,
        pair: builtins.str = ...,
        price: builtins.str = ...,
        timestamp_ms: builtins.int = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["pair", b"pair", "price", b"price", "timestamp_ms", b"timestamp_ms"]) -> None: ...

global___EventPriceUpdate = EventPriceUpdate

@typing_extensions.final
class EventDelegateFeederConsent(google.protobuf.message.Message):
    """Emitted when a valoper delegates oracle voting rights to a feeder address."""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    VALIDATOR_FIELD_NUMBER: builtins.int
    FEEDER_FIELD_NUMBER: builtins.int
    validator: builtins.str
    """Validator is the Bech32 address that is delegating voting rights."""
    feeder: builtins.str
    """Feeder is the delegate or representative that will be able to send 
    vote and prevote transaction messages.
    """
    def __init__(
        self,
        *,
        validator: builtins.str = ...,
        feeder: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["feeder", b"feeder", "validator", b"validator"]) -> None: ...

global___EventDelegateFeederConsent = EventDelegateFeederConsent

@typing_extensions.final
class EventAggregateVote(google.protobuf.message.Message):
    """Emitted by MsgAggregateExchangeVote when an aggregate vote is added to state"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    VALIDATOR_FIELD_NUMBER: builtins.int
    FEEDER_FIELD_NUMBER: builtins.int
    PRICES_FIELD_NUMBER: builtins.int
    validator: builtins.str
    """Validator is the Bech32 address to which the vote will be credited."""
    feeder: builtins.str
    """Feeder is the delegate or representative that will send vote and prevote 
    transaction messages on behalf of the voting validator.
    """
    @property
    def prices(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[nibiru.oracle.v1.oracle_pb2.ExchangeRateTuple]: ...
    def __init__(
        self,
        *,
        validator: builtins.str = ...,
        feeder: builtins.str = ...,
        prices: collections.abc.Iterable[nibiru.oracle.v1.oracle_pb2.ExchangeRateTuple] | None = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["feeder", b"feeder", "prices", b"prices", "validator", b"validator"]) -> None: ...

global___EventAggregateVote = EventAggregateVote

@typing_extensions.final
class EventAggregatePrevote(google.protobuf.message.Message):
    """Emitted by MsgAggregateExchangePrevote when an aggregate prevote is added 
    to state
    """

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    VALIDATOR_FIELD_NUMBER: builtins.int
    FEEDER_FIELD_NUMBER: builtins.int
    validator: builtins.str
    """Validator is the Bech32 address to which the vote will be credited."""
    feeder: builtins.str
    """Feeder is the delegate or representative that will send vote and prevote 
    transaction messages on behalf of the voting validator.
    """
    def __init__(
        self,
        *,
        validator: builtins.str = ...,
        feeder: builtins.str = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["feeder", b"feeder", "validator", b"validator"]) -> None: ...

global___EventAggregatePrevote = EventAggregatePrevote
