"""
@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 google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper
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 UserPassword(_message.Message):
    DESCRIPTOR: _descriptor.Descriptor

    class _Transformer:
        ValueType = _typing.NewType("ValueType", _builtins.int)
        V: _TypeAlias = ValueType  # noqa: Y015

    class _TransformerEnumTypeWrapper(_enum_type_wrapper._EnumTypeWrapper[UserPassword._Transformer.ValueType], _builtins.type):
        DESCRIPTOR: _descriptor.EnumDescriptor
        NONE: UserPassword._Transformer.ValueType  # 0
        PBKDF2_HMAC_SHA512: UserPassword._Transformer.ValueType  # 1
        PBKDF2_HMAC_SHA384: UserPassword._Transformer.ValueType  # 2

    class Transformer(_Transformer, metaclass=_TransformerEnumTypeWrapper): ...
    NONE: UserPassword.Transformer.ValueType  # 0
    PBKDF2_HMAC_SHA512: UserPassword.Transformer.ValueType  # 1
    PBKDF2_HMAC_SHA384: UserPassword.Transformer.ValueType  # 2

    class _Encoding:
        ValueType = _typing.NewType("ValueType", _builtins.int)
        V: _TypeAlias = ValueType  # noqa: Y015

    class _EncodingEnumTypeWrapper(_enum_type_wrapper._EnumTypeWrapper[UserPassword._Encoding.ValueType], _builtins.type):
        DESCRIPTOR: _descriptor.EnumDescriptor
        UTF8: UserPassword._Encoding.ValueType  # 0
        UTF8_BROKEN: UserPassword._Encoding.ValueType  # 1

    class Encoding(_Encoding, metaclass=_EncodingEnumTypeWrapper): ...
    UTF8: UserPassword.Encoding.ValueType  # 0
    UTF8_BROKEN: UserPassword.Encoding.ValueType  # 1

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

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

            ASBLOB_FIELD_NUMBER: _builtins.int
            ASUNSIGNEDINTEGER_FIELD_NUMBER: _builtins.int
            asBlob: _builtins.bytes
            asUnsignedInteger: _builtins.int
            def __init__(
                self,
                *,
                asBlob: _builtins.bytes | None = ...,
                asUnsignedInteger: _builtins.int | None = ...,
            ) -> None: ...
            _HasFieldArgType: _TypeAlias = _typing.Literal["asBlob", b"asBlob", "asUnsignedInteger", b"asUnsignedInteger", "value", b"value"]  # noqa: Y015
            def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ...
            _ClearFieldArgType: _TypeAlias = _typing.Literal["asBlob", b"asBlob", "asUnsignedInteger", b"asUnsignedInteger", "value", b"value"]  # noqa: Y015
            def ClearField(self, field_name: _ClearFieldArgType) -> None: ...
            _WhichOneofReturnType_value: _TypeAlias = _typing.Literal["asBlob", "asUnsignedInteger"]  # noqa: Y015
            _WhichOneofArgType_value: _TypeAlias = _typing.Literal["value", b"value"]  # noqa: Y015
            def WhichOneof(self, oneof_group: _WhichOneofArgType_value) -> _WhichOneofReturnType_value | None: ...

        KEY_FIELD_NUMBER: _builtins.int
        VALUE_FIELD_NUMBER: _builtins.int
        key: _builtins.str
        @_builtins.property
        def value(self) -> Global___UserPassword.TransformerArg.Value: ...
        def __init__(
            self,
            *,
            key: _builtins.str | None = ...,
            value: Global___UserPassword.TransformerArg.Value | None = ...,
        ) -> None: ...
        _HasFieldArgType: _TypeAlias = _typing.Literal["key", b"key", "value", b"value"]  # noqa: Y015
        def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ...
        _ClearFieldArgType: _TypeAlias = _typing.Literal["key", b"key", "value", b"value"]  # noqa: Y015
        def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

    ENCODING_FIELD_NUMBER: _builtins.int
    TRANSFORMER_FIELD_NUMBER: _builtins.int
    TRANSFORMERARG_FIELD_NUMBER: _builtins.int
    TRANSFORMEDDATA_FIELD_NUMBER: _builtins.int
    encoding: Global___UserPassword.Encoding.ValueType
    transformer: Global___UserPassword.Transformer.ValueType
    transformedData: _builtins.bytes
    @_builtins.property
    def transformerArg(self) -> _containers.RepeatedCompositeFieldContainer[Global___UserPassword.TransformerArg]: ...
    def __init__(
        self,
        *,
        encoding: Global___UserPassword.Encoding.ValueType | None = ...,
        transformer: Global___UserPassword.Transformer.ValueType | None = ...,
        transformerArg: _abc.Iterable[Global___UserPassword.TransformerArg] | None = ...,
        transformedData: _builtins.bytes | None = ...,
    ) -> None: ...
    _HasFieldArgType: _TypeAlias = _typing.Literal["encoding", b"encoding", "transformedData", b"transformedData", "transformer", b"transformer"]  # noqa: Y015
    def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ...
    _ClearFieldArgType: _TypeAlias = _typing.Literal["encoding", b"encoding", "transformedData", b"transformedData", "transformer", b"transformer", "transformerArg", b"transformerArg"]  # noqa: Y015
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...

Global___UserPassword: _TypeAlias = UserPassword  # noqa: Y015
