"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import asset_pb2
import builtins
import collections.abc
import future_extensions_pb2
import google.protobuf.descriptor
import google.protobuf.internal.containers
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 claim_account(google.protobuf.message.Message):
    """A user may create a new account using a pair of operations: claim_account_operation and create_claimed_account_operation.
    After the operation claim_account_operation a user receives a token:
    pending claimed accounts and later (using operation create_claimed_account_operation) a user may create a new account.
    After executing the operation claim_account_operation, a new account is not created.

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

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    CREATOR_FIELD_NUMBER: builtins.int
    FEE_FIELD_NUMBER: builtins.int
    EXTENSIONS_FIELD_NUMBER: builtins.int
    creator: builtins.str
    """@param {string} creator - Account name."""
    @property
    def fee(self) -> asset_pb2.asset:
        """@param {asset} fee - The amount of fee for creating a new account is decided by the witnesses.
                             It may be paid in HIVE or in the Recourse Credit (RC).
                             If a user wants to pay a fee in RC, it should be set {fee= 0}.
        """
    @property
    def extensions(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[future_extensions_pb2.future_extensions]:
        """@param {future_extensions} extensions - Not currently used."""
    def __init__(
        self,
        *,
        creator: builtins.str | None = ...,
        fee: asset_pb2.asset | None = ...,
        extensions: collections.abc.Iterable[future_extensions_pb2.future_extensions] | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["creator", b"creator", "fee", b"fee"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["creator", b"creator", "extensions", b"extensions", "fee", b"fee"]) -> None: ...

global___claim_account = claim_account
