"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
Copyright 2023 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 I2cWriteRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    BUS_INDEX_FIELD_NUMBER: builtins.int
    TARGET_ADDRESS_FIELD_NUMBER: builtins.int
    REGISTER_ADDRESS_FIELD_NUMBER: builtins.int
    VALUE_FIELD_NUMBER: builtins.int
    bus_index: builtins.int
    """Which I2C initiator bus to communicate on."""
    target_address: builtins.int
    """7-bit I2C target address to write to."""
    register_address: builtins.bytes
    """Register address to write. Follow the endianness required by the
    responder for multi-byte address.
    """
    value: builtins.bytes
    """Value to write. Follow the endianness required by the responder."""
    def __init__(
        self,
        *,
        bus_index: builtins.int = ...,
        target_address: builtins.int = ...,
        register_address: builtins.bytes = ...,
        value: builtins.bytes = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["bus_index", b"bus_index", "register_address", b"register_address", "target_address", b"target_address", "value", b"value"]) -> None: ...

global___I2cWriteRequest = I2cWriteRequest

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

    def __init__(
        self,
    ) -> None: ...

global___I2cWriteResponse = I2cWriteResponse

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

    BUS_INDEX_FIELD_NUMBER: builtins.int
    TARGET_ADDRESS_FIELD_NUMBER: builtins.int
    REGISTER_ADDRESS_FIELD_NUMBER: builtins.int
    READ_SIZE_FIELD_NUMBER: builtins.int
    bus_index: builtins.int
    """Which I2C initiator bus to communicate on."""
    target_address: builtins.int
    """7-bit I2C target address to read from."""
    register_address: builtins.bytes
    """Register address to write. Follow the endianness required by the
    responder for multi-byte address.
    """
    read_size: builtins.int
    """Expected number of bytes from the responder."""
    def __init__(
        self,
        *,
        bus_index: builtins.int = ...,
        target_address: builtins.int = ...,
        register_address: builtins.bytes = ...,
        read_size: builtins.int = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["bus_index", b"bus_index", "read_size", b"read_size", "register_address", b"register_address", "target_address", b"target_address"]) -> None: ...

global___I2cReadRequest = I2cReadRequest

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

    VALUE_FIELD_NUMBER: builtins.int
    value: builtins.bytes
    def __init__(
        self,
        *,
        value: builtins.bytes = ...,
    ) -> None: ...
    def ClearField(self, field_name: typing_extensions.Literal["value", b"value"]) -> None: ...

global___I2cReadResponse = I2cReadResponse
