"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import builtins
import google.protobuf.descriptor
import google.protobuf.message
import typing
import typing_extensions

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

class ArmV7mCpuState(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    PC_FIELD_NUMBER: builtins.int
    LR_FIELD_NUMBER: builtins.int
    PSR_FIELD_NUMBER: builtins.int
    MSP_FIELD_NUMBER: builtins.int
    PSP_FIELD_NUMBER: builtins.int
    EXC_RETURN_FIELD_NUMBER: builtins.int
    CFSR_FIELD_NUMBER: builtins.int
    MSPLIM_FIELD_NUMBER: builtins.int
    PSPLIM_FIELD_NUMBER: builtins.int
    MMFAR_FIELD_NUMBER: builtins.int
    BFAR_FIELD_NUMBER: builtins.int
    ICSR_FIELD_NUMBER: builtins.int
    HFSR_FIELD_NUMBER: builtins.int
    SHCSR_FIELD_NUMBER: builtins.int
    CONTROL_FIELD_NUMBER: builtins.int
    R0_FIELD_NUMBER: builtins.int
    R1_FIELD_NUMBER: builtins.int
    R2_FIELD_NUMBER: builtins.int
    R3_FIELD_NUMBER: builtins.int
    R4_FIELD_NUMBER: builtins.int
    R5_FIELD_NUMBER: builtins.int
    R6_FIELD_NUMBER: builtins.int
    R7_FIELD_NUMBER: builtins.int
    R8_FIELD_NUMBER: builtins.int
    R9_FIELD_NUMBER: builtins.int
    R10_FIELD_NUMBER: builtins.int
    R11_FIELD_NUMBER: builtins.int
    R12_FIELD_NUMBER: builtins.int
    pc: builtins.int
    lr: builtins.int
    psr: builtins.int
    msp: builtins.int
    psp: builtins.int
    exc_return: builtins.int
    cfsr: builtins.int
    msplim: builtins.int
    psplim: builtins.int
    mmfar: builtins.int
    bfar: builtins.int
    icsr: builtins.int
    hfsr: builtins.int
    shcsr: builtins.int
    control: builtins.int
    r0: builtins.int
    """General purpose registers."""

    r1: builtins.int
    r2: builtins.int
    r3: builtins.int
    r4: builtins.int
    r5: builtins.int
    r6: builtins.int
    r7: builtins.int
    r8: builtins.int
    r9: builtins.int
    r10: builtins.int
    r11: builtins.int
    r12: builtins.int
    def __init__(self,
        *,
        pc: typing.Optional[builtins.int] = ...,
        lr: typing.Optional[builtins.int] = ...,
        psr: typing.Optional[builtins.int] = ...,
        msp: typing.Optional[builtins.int] = ...,
        psp: typing.Optional[builtins.int] = ...,
        exc_return: typing.Optional[builtins.int] = ...,
        cfsr: typing.Optional[builtins.int] = ...,
        msplim: typing.Optional[builtins.int] = ...,
        psplim: typing.Optional[builtins.int] = ...,
        mmfar: typing.Optional[builtins.int] = ...,
        bfar: typing.Optional[builtins.int] = ...,
        icsr: typing.Optional[builtins.int] = ...,
        hfsr: typing.Optional[builtins.int] = ...,
        shcsr: typing.Optional[builtins.int] = ...,
        control: typing.Optional[builtins.int] = ...,
        r0: typing.Optional[builtins.int] = ...,
        r1: typing.Optional[builtins.int] = ...,
        r2: typing.Optional[builtins.int] = ...,
        r3: typing.Optional[builtins.int] = ...,
        r4: typing.Optional[builtins.int] = ...,
        r5: typing.Optional[builtins.int] = ...,
        r6: typing.Optional[builtins.int] = ...,
        r7: typing.Optional[builtins.int] = ...,
        r8: typing.Optional[builtins.int] = ...,
        r9: typing.Optional[builtins.int] = ...,
        r10: typing.Optional[builtins.int] = ...,
        r11: typing.Optional[builtins.int] = ...,
        r12: typing.Optional[builtins.int] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["bfar",b"bfar","cfsr",b"cfsr","control",b"control","exc_return",b"exc_return","hfsr",b"hfsr","icsr",b"icsr","lr",b"lr","mmfar",b"mmfar","msp",b"msp","msplim",b"msplim","pc",b"pc","psp",b"psp","psplim",b"psplim","psr",b"psr","r0",b"r0","r1",b"r1","r10",b"r10","r11",b"r11","r12",b"r12","r2",b"r2","r3",b"r3","r4",b"r4","r5",b"r5","r6",b"r6","r7",b"r7","r8",b"r8","r9",b"r9","shcsr",b"shcsr"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["bfar",b"bfar","cfsr",b"cfsr","control",b"control","exc_return",b"exc_return","hfsr",b"hfsr","icsr",b"icsr","lr",b"lr","mmfar",b"mmfar","msp",b"msp","msplim",b"msplim","pc",b"pc","psp",b"psp","psplim",b"psplim","psr",b"psr","r0",b"r0","r1",b"r1","r10",b"r10","r11",b"r11","r12",b"r12","r2",b"r2","r3",b"r3","r4",b"r4","r5",b"r5","r6",b"r6","r7",b"r7","r8",b"r8","r9",b"r9","shcsr",b"shcsr"]) -> None: ...
global___ArmV7mCpuState = ArmV7mCpuState

class SnapshotCpuStateOverlay(google.protobuf.message.Message):
    """This message overlays the pw.snapshot.Snapshot proto. It's valid to encode
    this message to the same sink that a Snapshot proto is being written to.
    """
    DESCRIPTOR: google.protobuf.descriptor.Descriptor
    ARMV7M_CPU_STATE_FIELD_NUMBER: builtins.int
    @property
    def armv7m_cpu_state(self) -> global___ArmV7mCpuState:
        """TODO(amontanez): Rename this to be Cortex-M arch generic, e.g.:
          optional CpuState cpu_state = 20;
        """
        pass
    def __init__(self,
        *,
        armv7m_cpu_state: typing.Optional[global___ArmV7mCpuState] = ...,
        ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["armv7m_cpu_state",b"armv7m_cpu_state"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["armv7m_cpu_state",b"armv7m_cpu_state"]) -> None: ...
global___SnapshotCpuStateOverlay = SnapshotCpuStateOverlay
