"""
@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 fill_recurrent_transfer(google.protobuf.message.Message):
    """Related to recurrent_transfer_operation.
    Generated during block processing starting in the block that included above operation and then after every period
    set in the operation until all transfers are executed, too many fail due to shortfall of funds or the transfer is cancelled.
    Note: in case of accumulation of very big amount of recurrent transfers to be executed in particular block, some
    are going to be postponed to next block(s) and so will be generation of this vop.
    @see failed_recurrent_transfer
    """

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    FROM_ACCOUNT_FIELD_NUMBER: builtins.int
    TO_ACCOUNT_FIELD_NUMBER: builtins.int
    AMOUNT_FIELD_NUMBER: builtins.int
    MEMO_FIELD_NUMBER: builtins.int
    REMAINING_EXECUTIONS_FIELD_NUMBER: builtins.int
    from_account: builtins.str
    """@param {string} from_account - user that initiated the transfer (source of amount)"""
    to_account: builtins.str
    """@param {string} to_account - user that is target of transfer (receiver of amount)"""
    @property
    def amount(self) -> asset_pb2.asset:
        """@param {asset} amount - (HIVE of HBD) amount transferred in current iteration"""
    memo: builtins.str
    """@param {string} memo - memo attached to the transfer"""
    remaining_executions: builtins.int
    """@param {number} remaining_executions - number of remaining pending transferss"""
    def __init__(
        self,
        *,
        from_account: builtins.str | None = ...,
        to_account: builtins.str | None = ...,
        amount: asset_pb2.asset | None = ...,
        memo: builtins.str | None = ...,
        remaining_executions: builtins.int | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["amount", b"amount", "from_account", b"from_account", "memo", b"memo", "remaining_executions", b"remaining_executions", "to_account", b"to_account"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["amount", b"amount", "from_account", b"from_account", "memo", b"memo", "remaining_executions", b"remaining_executions", "to_account", b"to_account"]) -> None: ...

global___fill_recurrent_transfer = fill_recurrent_transfer
