"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import builtins
import google.protobuf.descriptor
import google.protobuf.message
import legacy_chain_properties_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 pow_work(google.protobuf.message.Message):
    """Description https://gitlab.syncad.com/hive/hive/-/blob/develop/doc/devs/operations/14_pow.md?ref_type=heads"""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    WORKER_FIELD_NUMBER: builtins.int
    INPUT_FIELD_NUMBER: builtins.int
    SIGNATURE_FIELD_NUMBER: builtins.int
    WORK_FIELD_NUMBER: builtins.int
    worker: builtins.str
    input: builtins.str
    signature: builtins.str
    work: builtins.str
    def __init__(
        self,
        *,
        worker: builtins.str | None = ...,
        input: builtins.str | None = ...,
        signature: builtins.str | None = ...,
        work: builtins.str | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["input", b"input", "signature", b"signature", "work", b"work", "worker", b"worker"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["input", b"input", "signature", b"signature", "work", b"work", "worker", b"worker"]) -> None: ...

global___pow_work = pow_work

@typing_extensions.final
class pow(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    WORKER_ACCOUNT_FIELD_NUMBER: builtins.int
    BLOCK_ID_FIELD_NUMBER: builtins.int
    NONCE_FIELD_NUMBER: builtins.int
    WORK_FIELD_NUMBER: builtins.int
    PROPS_FIELD_NUMBER: builtins.int
    worker_account: builtins.str
    block_id: builtins.str
    nonce: builtins.int
    @property
    def work(self) -> global___pow_work: ...
    @property
    def props(self) -> legacy_chain_properties_pb2.legacy_chain_properties: ...
    def __init__(
        self,
        *,
        worker_account: builtins.str | None = ...,
        block_id: builtins.str | None = ...,
        nonce: builtins.int | None = ...,
        work: global___pow_work | None = ...,
        props: legacy_chain_properties_pb2.legacy_chain_properties | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["block_id", b"block_id", "nonce", b"nonce", "props", b"props", "work", b"work", "worker_account", b"worker_account"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["block_id", b"block_id", "nonce", b"nonce", "props", b"props", "work", b"work", "worker_account", b"worker_account"]) -> None: ...

global___pow = pow
