"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import asset_pb2
import builtins
import google.protobuf.descriptor
import google.protobuf.message
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 effective_comment_vote(google.protobuf.message.Message):
    """Related to vote_operation.
    Generated every time vote is cast for the first time or edited, but only as long as it is effective, that is,
    the target comment was not yet cashed out.
    """

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    VOTER_FIELD_NUMBER: builtins.int
    AUTHOR_FIELD_NUMBER: builtins.int
    PERMLINK_FIELD_NUMBER: builtins.int
    WEIGHT_FIELD_NUMBER: builtins.int
    RSHARES_FIELD_NUMBER: builtins.int
    TOTAL_VOTE_WEIGHT_FIELD_NUMBER: builtins.int
    PENDING_PAYOUT_FIELD_NUMBER: builtins.int
    voter: builtins.str
    """@param {string} voter - account that casts a vote"""
    author: builtins.str
    """@param {string} author - author of comment voted on"""
    permlink: builtins.str
    """@param {string} permlink - permlink of comment voted on"""
    weight: builtins.int
    """@param {number} weight - weight of vote depending on when vote was cast and with what power"""
    rshares: builtins.int
    """@param {number} rshares - power of the vote"""
    total_vote_weight: builtins.int
    """@param {number} total_vote_weight - sum of all vote weights on the target comment in the moment of casting current vote"""
    @property
    def pending_payout(self) -> asset_pb2.asset:
        """@param {asset} pending_payout - (HBD) estimated reward on target comment; supplemented by AH RocksDB plugin"""
    def __init__(
        self,
        *,
        voter: builtins.str | None = ...,
        author: builtins.str | None = ...,
        permlink: builtins.str | None = ...,
        weight: builtins.int | None = ...,
        rshares: builtins.int | None = ...,
        total_vote_weight: builtins.int | None = ...,
        pending_payout: asset_pb2.asset | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["author", b"author", "pending_payout", b"pending_payout", "permlink", b"permlink", "rshares", b"rshares", "total_vote_weight", b"total_vote_weight", "voter", b"voter", "weight", b"weight"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["author", b"author", "pending_payout", b"pending_payout", "permlink", b"permlink", "rshares", b"rshares", "total_vote_weight", b"total_vote_weight", "voter", b"voter", "weight", b"weight"]) -> None: ...

global___effective_comment_vote = effective_comment_vote
