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

from collections import abc as _abc
from google.protobuf import descriptor as _descriptor
from google.protobuf import message as _message
from google.protobuf.internal import containers as _containers
from waSyncAction import WAWebProtobufSyncAction_pb2 as _WAWebProtobufSyncAction_pb2
import builtins as _builtins
import sys
import typing as _typing

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

DESCRIPTOR: _descriptor.FileDescriptor

@_typing.final
class SyncdSnapshotRecovery(_message.Message):
    DESCRIPTOR: _descriptor.Descriptor

    VERSION_FIELD_NUMBER: _builtins.int
    COLLECTIONNAME_FIELD_NUMBER: _builtins.int
    MUTATIONRECORDS_FIELD_NUMBER: _builtins.int
    COLLECTIONLTHASH_FIELD_NUMBER: _builtins.int
    collectionName: _builtins.str
    collectionLthash: _builtins.bytes
    @_builtins.property
    def version(self) -> Global___SyncdVersion: ...
    @_builtins.property
    def mutationRecords(self) -> _containers.RepeatedCompositeFieldContainer[Global___SyncdPlainTextRecord]: ...
    def __init__(
        self,
        *,
        version: Global___SyncdVersion | None = ...,
        collectionName: _builtins.str | None = ...,
        mutationRecords: _abc.Iterable[Global___SyncdPlainTextRecord] | None = ...,
        collectionLthash: _builtins.bytes | None = ...,
    ) -> None: ...
    _HasFieldArgType: _TypeAlias = _typing.Literal["collectionLthash", b"collectionLthash", "collectionName", b"collectionName", "version", b"version"]  # noqa: Y015
    def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ...
    _ClearFieldArgType: _TypeAlias = _typing.Literal["collectionLthash", b"collectionLthash", "collectionName", b"collectionName", "mutationRecords", b"mutationRecords", "version", b"version"]  # noqa: Y015
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___SyncdSnapshotRecovery: _TypeAlias = SyncdSnapshotRecovery  # noqa: Y015

@_typing.final
class SyncdPlainTextRecord(_message.Message):
    DESCRIPTOR: _descriptor.Descriptor

    VALUE_FIELD_NUMBER: _builtins.int
    KEYID_FIELD_NUMBER: _builtins.int
    MAC_FIELD_NUMBER: _builtins.int
    keyID: _builtins.bytes
    mac: _builtins.bytes
    @_builtins.property
    def value(self) -> _WAWebProtobufSyncAction_pb2.SyncActionData: ...
    def __init__(
        self,
        *,
        value: _WAWebProtobufSyncAction_pb2.SyncActionData | None = ...,
        keyID: _builtins.bytes | None = ...,
        mac: _builtins.bytes | None = ...,
    ) -> None: ...
    _HasFieldArgType: _TypeAlias = _typing.Literal["keyID", b"keyID", "mac", b"mac", "value", b"value"]  # noqa: Y015
    def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ...
    _ClearFieldArgType: _TypeAlias = _typing.Literal["keyID", b"keyID", "mac", b"mac", "value", b"value"]  # noqa: Y015
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___SyncdPlainTextRecord: _TypeAlias = SyncdPlainTextRecord  # noqa: Y015

@_typing.final
class SyncdVersion(_message.Message):
    DESCRIPTOR: _descriptor.Descriptor

    VERSION_FIELD_NUMBER: _builtins.int
    version: _builtins.int
    def __init__(
        self,
        *,
        version: _builtins.int | None = ...,
    ) -> None: ...
    _HasFieldArgType: _TypeAlias = _typing.Literal["version", b"version"]  # noqa: Y015
    def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ...
    _ClearFieldArgType: _TypeAlias = _typing.Literal["version", b"version"]  # noqa: Y015
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___SyncdVersion: _TypeAlias = SyncdVersion  # noqa: Y015
