"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
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 set_withdraw_vesting_route(google.protobuf.message.Message):
    """The operation set_withdraw_vesting_route_operation allows a user to decide where
    and how much percent of hive should be transferred to  the account { to_account }
    from power down operation. A user may also decide that the Hive may be immediately converted to Hive Power.
    The operation may be created in any moment of power down operation and even if there is no power down operation in progress.
    The setting is valid till a user creates an operation  set_withdraw_vesting_route_operation
    with the same { to_account} and with the {percent} = 0.
    A user may set up 10 { to_account } accounts.

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

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    FROM_ACCOUNT_FIELD_NUMBER: builtins.int
    TO_ACCOUNT_FIELD_NUMBER: builtins.int
    PERCENT_FIELD_NUMBER: builtins.int
    AUTO_VEST_FIELD_NUMBER: builtins.int
    from_account: builtins.str
    """@param {string} from_account - The account the funds are coming from."""
    to_account: builtins.str
    """@param {string} to_account - The account the funds are going to. A user may set up 10 accounts."""
    percent: builtins.int
    """@param {number} percent - The percentage of the HP shares.
                              If the sum of the setting shares is less than 100%,
                              the rest is transferred to the liquid balance of { from_account }.
                              Default value: percent = 0;
    """
    auto_vest: builtins.bool
    """@param {bool} auto_vest - If auto_vest = true, then the amount of the Hive is immediately converted
                              into HP on the { to_account } balance.
                              If auto_vest = false, there is no conversion from Hive into HP.
                              Default auto_vest = false;
    """
    def __init__(
        self,
        *,
        from_account: builtins.str | None = ...,
        to_account: builtins.str | None = ...,
        percent: builtins.int | None = ...,
        auto_vest: builtins.bool | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["auto_vest", b"auto_vest", "from_account", b"from_account", "percent", b"percent", "to_account", b"to_account"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["auto_vest", b"auto_vest", "from_account", b"from_account", "percent", b"percent", "to_account", b"to_account"]) -> None: ...

global___set_withdraw_vesting_route = set_withdraw_vesting_route
