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

from google.protobuf import descriptor as _descriptor
from google.protobuf import message as _message
from google.protobuf import wrappers_pb2 as _wrappers_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 MediumUser(_message.Message):
    DESCRIPTOR: _descriptor.Descriptor

    ID_FIELD_NUMBER: _builtins.int
    USERNAME_FIELD_NUMBER: _builtins.int
    DISCRIMINATOR_FIELD_NUMBER: _builtins.int
    AVATAR_HASH_FIELD_NUMBER: _builtins.int
    BOT_FIELD_NUMBER: _builtins.int
    FLAGS_FIELD_NUMBER: _builtins.int
    EMAIL_FIELD_NUMBER: _builtins.int
    PHONE_FIELD_NUMBER: _builtins.int
    id: _builtins.int
    username: _builtins.str
    discriminator: _builtins.int
    bot: _builtins.bool
    flags: _builtins.int
    @_builtins.property
    def avatar_hash(self) -> _wrappers_pb2.StringValue: ...
    @_builtins.property
    def email(self) -> _wrappers_pb2.StringValue: ...
    @_builtins.property
    def phone(self) -> _wrappers_pb2.StringValue: ...
    def __init__(
        self,
        *,
        id: _builtins.int = ...,
        username: _builtins.str = ...,
        discriminator: _builtins.int = ...,
        avatar_hash: _wrappers_pb2.StringValue | None = ...,
        bot: _builtins.bool = ...,
        flags: _builtins.int = ...,
        email: _wrappers_pb2.StringValue | None = ...,
        phone: _wrappers_pb2.StringValue | None = ...,
    ) -> None: ...
    _HasFieldArgType: _TypeAlias = _typing.Literal["_avatar_hash", b"_avatar_hash", "_email", b"_email", "_phone", b"_phone", "avatar_hash", b"avatar_hash", "email", b"email", "phone", b"phone"]  # noqa: Y015
    def HasField(self, field_name: _HasFieldArgType) -> _builtins.bool: ...
    _ClearFieldArgType: _TypeAlias = _typing.Literal["_avatar_hash", b"_avatar_hash", "_email", b"_email", "_phone", b"_phone", "avatar_hash", b"avatar_hash", "bot", b"bot", "discriminator", b"discriminator", "email", b"email", "flags", b"flags", "id", b"id", "phone", b"phone", "username", b"username"]  # noqa: Y015
    def ClearField(self, field_name: _ClearFieldArgType) -> None: ...
    _WhichOneofReturnType__avatar_hash: _TypeAlias = _typing.Literal["avatar_hash"]  # noqa: Y015
    _WhichOneofArgType__avatar_hash: _TypeAlias = _typing.Literal["_avatar_hash", b"_avatar_hash"]  # noqa: Y015
    _WhichOneofReturnType__email: _TypeAlias = _typing.Literal["email"]  # noqa: Y015
    _WhichOneofArgType__email: _TypeAlias = _typing.Literal["_email", b"_email"]  # noqa: Y015
    _WhichOneofReturnType__phone: _TypeAlias = _typing.Literal["phone"]  # noqa: Y015
    _WhichOneofArgType__phone: _TypeAlias = _typing.Literal["_phone", b"_phone"]  # noqa: Y015
    @_typing.overload
    def WhichOneof(self, oneof_group: _WhichOneofArgType__avatar_hash) -> _WhichOneofReturnType__avatar_hash | None: ...
    @_typing.overload
    def WhichOneof(self, oneof_group: _WhichOneofArgType__email) -> _WhichOneofReturnType__email | None: ...
    @_typing.overload
    def WhichOneof(self, oneof_group: _WhichOneofArgType__phone) -> _WhichOneofReturnType__phone | None: ...

Global___MediumUser: _TypeAlias = MediumUser  # noqa: Y015
