"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
Copyright 2024 The Pigweed Authors

Licensed under the Apache License, Version 2.0 (the "License"); you may not
use this file except in compliance with the License. You may obtain a copy of
the License at

    https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
License for the specific language governing permissions and limitations under
the License.
"""
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 RiscvCpuState(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    MEPC_FIELD_NUMBER: builtins.int
    MCAUSE_FIELD_NUMBER: builtins.int
    MSTATUS_FIELD_NUMBER: builtins.int
    MTVAL_FIELD_NUMBER: builtins.int
    RA_FIELD_NUMBER: builtins.int
    SP_FIELD_NUMBER: builtins.int
    T0_FIELD_NUMBER: builtins.int
    T1_FIELD_NUMBER: builtins.int
    T2_FIELD_NUMBER: builtins.int
    FP_FIELD_NUMBER: builtins.int
    S1_FIELD_NUMBER: builtins.int
    A0_FIELD_NUMBER: builtins.int
    A1_FIELD_NUMBER: builtins.int
    A2_FIELD_NUMBER: builtins.int
    A3_FIELD_NUMBER: builtins.int
    A4_FIELD_NUMBER: builtins.int
    A5_FIELD_NUMBER: builtins.int
    A6_FIELD_NUMBER: builtins.int
    A7_FIELD_NUMBER: builtins.int
    S2_FIELD_NUMBER: builtins.int
    S3_FIELD_NUMBER: builtins.int
    S4_FIELD_NUMBER: builtins.int
    S5_FIELD_NUMBER: builtins.int
    S6_FIELD_NUMBER: builtins.int
    S7_FIELD_NUMBER: builtins.int
    S8_FIELD_NUMBER: builtins.int
    S9_FIELD_NUMBER: builtins.int
    S10_FIELD_NUMBER: builtins.int
    S11_FIELD_NUMBER: builtins.int
    T3_FIELD_NUMBER: builtins.int
    T4_FIELD_NUMBER: builtins.int
    T5_FIELD_NUMBER: builtins.int
    T6_FIELD_NUMBER: builtins.int
    mepc: builtins.int
    mcause: builtins.int
    mstatus: builtins.int
    mtval: builtins.int
    ra: builtins.int
    sp: builtins.int
    t0: builtins.int
    t1: builtins.int
    t2: builtins.int
    fp: builtins.int
    s1: builtins.int
    a0: builtins.int
    a1: builtins.int
    a2: builtins.int
    a3: builtins.int
    a4: builtins.int
    a5: builtins.int
    a6: builtins.int
    a7: builtins.int
    s2: builtins.int
    s3: builtins.int
    s4: builtins.int
    s5: builtins.int
    s6: builtins.int
    s7: builtins.int
    s8: builtins.int
    s9: builtins.int
    s10: builtins.int
    s11: builtins.int
    t3: builtins.int
    t4: builtins.int
    t5: builtins.int
    t6: builtins.int
    def __init__(
        self,
        *,
        mepc: builtins.int | None = ...,
        mcause: builtins.int | None = ...,
        mstatus: builtins.int | None = ...,
        mtval: builtins.int | None = ...,
        ra: builtins.int | None = ...,
        sp: builtins.int | None = ...,
        t0: builtins.int | None = ...,
        t1: builtins.int | None = ...,
        t2: builtins.int | None = ...,
        fp: builtins.int | None = ...,
        s1: builtins.int | None = ...,
        a0: builtins.int | None = ...,
        a1: builtins.int | None = ...,
        a2: builtins.int | None = ...,
        a3: builtins.int | None = ...,
        a4: builtins.int | None = ...,
        a5: builtins.int | None = ...,
        a6: builtins.int | None = ...,
        a7: builtins.int | None = ...,
        s2: builtins.int | None = ...,
        s3: builtins.int | None = ...,
        s4: builtins.int | None = ...,
        s5: builtins.int | None = ...,
        s6: builtins.int | None = ...,
        s7: builtins.int | None = ...,
        s8: builtins.int | None = ...,
        s9: builtins.int | None = ...,
        s10: builtins.int | None = ...,
        s11: builtins.int | None = ...,
        t3: builtins.int | None = ...,
        t4: builtins.int | None = ...,
        t5: builtins.int | None = ...,
        t6: builtins.int | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["a0", b"a0", "a1", b"a1", "a2", b"a2", "a3", b"a3", "a4", b"a4", "a5", b"a5", "a6", b"a6", "a7", b"a7", "fp", b"fp", "mcause", b"mcause", "mepc", b"mepc", "mstatus", b"mstatus", "mtval", b"mtval", "ra", b"ra", "s1", b"s1", "s10", b"s10", "s11", b"s11", "s2", b"s2", "s3", b"s3", "s4", b"s4", "s5", b"s5", "s6", b"s6", "s7", b"s7", "s8", b"s8", "s9", b"s9", "sp", b"sp", "t0", b"t0", "t1", b"t1", "t2", b"t2", "t3", b"t3", "t4", b"t4", "t5", b"t5", "t6", b"t6"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["a0", b"a0", "a1", b"a1", "a2", b"a2", "a3", b"a3", "a4", b"a4", "a5", b"a5", "a6", b"a6", "a7", b"a7", "fp", b"fp", "mcause", b"mcause", "mepc", b"mepc", "mstatus", b"mstatus", "mtval", b"mtval", "ra", b"ra", "s1", b"s1", "s10", b"s10", "s11", b"s11", "s2", b"s2", "s3", b"s3", "s4", b"s4", "s5", b"s5", "s6", b"s6", "s7", b"s7", "s8", b"s8", "s9", b"s9", "sp", b"sp", "t0", b"t0", "t1", b"t1", "t2", b"t2", "t3", b"t3", "t4", b"t4", "t5", b"t5", "t6", b"t6"]) -> None: ...

global___RiscvCpuState = RiscvCpuState

@typing_extensions.final
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

    RISCV_CPU_STATE_FIELD_NUMBER: builtins.int
    @property
    def riscv_cpu_state(self) -> global___RiscvCpuState: ...
    def __init__(
        self,
        *,
        riscv_cpu_state: global___RiscvCpuState | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["riscv_cpu_state", b"riscv_cpu_state"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["riscv_cpu_state", b"riscv_cpu_state"]) -> None: ...

global___SnapshotCpuStateOverlay = SnapshotCpuStateOverlay
