"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""

import builtins
import collections.abc
import google.protobuf.descriptor
import google.protobuf.internal.containers
import google.protobuf.message
import google.protobuf.timestamp_pb2
import sys
import typing

if sys.version_info >= (3, 10):
    import typing as typing_extensions
else:
    import typing_extensions

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

@typing.final
class GetLatestReadingsRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    DEVICE_ID_FIELD_NUMBER: builtins.int
    device_id: builtins.str
    def __init__(
        self,
        *,
        device_id: builtins.str = ...,
    ) -> None: ...
    _ClearFieldArgType: typing_extensions.TypeAlias = typing.Literal["device_id", b"device_id"]
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___GetLatestReadingsRequest: typing_extensions.TypeAlias = GetLatestReadingsRequest

@typing.final
class SensorReading(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    KEY_FIELD_NUMBER: builtins.int
    VALUE_FIELD_NUMBER: builtins.int
    TIME_FIELD_NUMBER: builtins.int
    key: builtins.str
    value: builtins.float
    @property
    def time(self) -> google.protobuf.timestamp_pb2.Timestamp: ...
    def __init__(
        self,
        *,
        key: builtins.str = ...,
        value: builtins.float = ...,
        time: google.protobuf.timestamp_pb2.Timestamp | None = ...,
    ) -> None: ...
    _HasFieldArgType: typing_extensions.TypeAlias = typing.Literal["time", b"time"]
    def HasField(self, field_name: _HasFieldArgType) -> builtins.bool: ...
    _ClearFieldArgType: typing_extensions.TypeAlias = typing.Literal["key", b"key", "time", b"time", "value", b"value"]
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___SensorReading: typing_extensions.TypeAlias = SensorReading

@typing.final
class GetLatestReadingsResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    READINGS_FIELD_NUMBER: builtins.int
    @property
    def readings(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___SensorReading]: ...
    def __init__(
        self,
        *,
        readings: collections.abc.Iterable[Global___SensorReading] | None = ...,
    ) -> None: ...
    _ClearFieldArgType: typing_extensions.TypeAlias = typing.Literal["readings", b"readings"]
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___GetLatestReadingsResponse: typing_extensions.TypeAlias = GetLatestReadingsResponse

@typing.final
class DeleteReadingsRequest(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    DEVICE_IDS_FIELD_NUMBER: builtins.int
    @property
    def device_ids(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ...
    def __init__(
        self,
        *,
        device_ids: collections.abc.Iterable[builtins.str] | None = ...,
    ) -> None: ...
    _ClearFieldArgType: typing_extensions.TypeAlias = typing.Literal["device_ids", b"device_ids"]
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___DeleteReadingsRequest: typing_extensions.TypeAlias = DeleteReadingsRequest

@typing.final
class DeleteReadingsResponse(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    SUCCESS_FIELD_NUMBER: builtins.int
    success: builtins.bool
    def __init__(
        self,
        *,
        success: builtins.bool = ...,
    ) -> None: ...
    _ClearFieldArgType: typing_extensions.TypeAlias = typing.Literal["success", b"success"]
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___DeleteReadingsResponse: typing_extensions.TypeAlias = DeleteReadingsResponse
