# @generated by generate_proto_mypy_stubs.py.  Do not edit!
import sys
from google.protobuf.descriptor import (
    Descriptor as google___protobuf___descriptor___Descriptor,
    EnumDescriptor as google___protobuf___descriptor___EnumDescriptor,
)

from google.protobuf.internal.containers import (
    RepeatedScalarFieldContainer as google___protobuf___internal___containers___RepeatedScalarFieldContainer,
)

from google.protobuf.message import (
    Message as google___protobuf___message___Message,
)

from typing import (
    Iterable as typing___Iterable,
    List as typing___List,
    Optional as typing___Optional,
    Tuple as typing___Tuple,
    cast as typing___cast,
)

from typing_extensions import (
    Literal as typing_extensions___Literal,
)


class TextInputTraits(google___protobuf___message___Message):
    DESCRIPTOR: google___protobuf___descriptor___Descriptor = ...
    class AutocapitalizationType(int):
        DESCRIPTOR: google___protobuf___descriptor___EnumDescriptor = ...
        @classmethod
        def Name(cls, number: int) -> str: ...
        @classmethod
        def Value(cls, name: str) -> TextInputTraits.AutocapitalizationType: ...
        @classmethod
        def keys(cls) -> typing___List[str]: ...
        @classmethod
        def values(cls) -> typing___List[TextInputTraits.AutocapitalizationType]: ...
        @classmethod
        def items(cls) -> typing___List[typing___Tuple[str, TextInputTraits.AutocapitalizationType]]: ...
        NONE = typing___cast(TextInputTraits.AutocapitalizationType, 0)
        WORDS = typing___cast(TextInputTraits.AutocapitalizationType, 1)
        SENTENCES = typing___cast(TextInputTraits.AutocapitalizationType, 2)
        CHARACTERS = typing___cast(TextInputTraits.AutocapitalizationType, 3)
    NONE = typing___cast(TextInputTraits.AutocapitalizationType, 0)
    WORDS = typing___cast(TextInputTraits.AutocapitalizationType, 1)
    SENTENCES = typing___cast(TextInputTraits.AutocapitalizationType, 2)
    CHARACTERS = typing___cast(TextInputTraits.AutocapitalizationType, 3)

    class KeyboardType(int):
        DESCRIPTOR: google___protobuf___descriptor___EnumDescriptor = ...
        @classmethod
        def Name(cls, number: int) -> str: ...
        @classmethod
        def Value(cls, name: str) -> TextInputTraits.KeyboardType: ...
        @classmethod
        def keys(cls) -> typing___List[str]: ...
        @classmethod
        def values(cls) -> typing___List[TextInputTraits.KeyboardType]: ...
        @classmethod
        def items(cls) -> typing___List[typing___Tuple[str, TextInputTraits.KeyboardType]]: ...
        KEYBOARD_TYPE_DEFAULT = typing___cast(TextInputTraits.KeyboardType, 0)
        ASCII_CAPABLE = typing___cast(TextInputTraits.KeyboardType, 1)
        NUMBERS_AND_PUNCTUATION = typing___cast(TextInputTraits.KeyboardType, 2)
        URL = typing___cast(TextInputTraits.KeyboardType, 3)
        NUMBER_PAD = typing___cast(TextInputTraits.KeyboardType, 4)
        PHONE_PAD = typing___cast(TextInputTraits.KeyboardType, 5)
        NAME_PHONE_PAD = typing___cast(TextInputTraits.KeyboardType, 6)
        EMAIL_ADDRESS = typing___cast(TextInputTraits.KeyboardType, 7)
        DECIMAL_PAD = typing___cast(TextInputTraits.KeyboardType, 8)
        TWITTER = typing___cast(TextInputTraits.KeyboardType, 9)
        WEB_SEARCH = typing___cast(TextInputTraits.KeyboardType, 10)
    KEYBOARD_TYPE_DEFAULT = typing___cast(TextInputTraits.KeyboardType, 0)
    ASCII_CAPABLE = typing___cast(TextInputTraits.KeyboardType, 1)
    NUMBERS_AND_PUNCTUATION = typing___cast(TextInputTraits.KeyboardType, 2)
    URL = typing___cast(TextInputTraits.KeyboardType, 3)
    NUMBER_PAD = typing___cast(TextInputTraits.KeyboardType, 4)
    PHONE_PAD = typing___cast(TextInputTraits.KeyboardType, 5)
    NAME_PHONE_PAD = typing___cast(TextInputTraits.KeyboardType, 6)
    EMAIL_ADDRESS = typing___cast(TextInputTraits.KeyboardType, 7)
    DECIMAL_PAD = typing___cast(TextInputTraits.KeyboardType, 8)
    TWITTER = typing___cast(TextInputTraits.KeyboardType, 9)
    WEB_SEARCH = typing___cast(TextInputTraits.KeyboardType, 10)

    class ReturnKeyType(int):
        DESCRIPTOR: google___protobuf___descriptor___EnumDescriptor = ...
        @classmethod
        def Name(cls, number: int) -> str: ...
        @classmethod
        def Value(cls, name: str) -> TextInputTraits.ReturnKeyType: ...
        @classmethod
        def keys(cls) -> typing___List[str]: ...
        @classmethod
        def values(cls) -> typing___List[TextInputTraits.ReturnKeyType]: ...
        @classmethod
        def items(cls) -> typing___List[typing___Tuple[str, TextInputTraits.ReturnKeyType]]: ...
        RETURN_KEY_DEFAULT = typing___cast(TextInputTraits.ReturnKeyType, 0)
        GO = typing___cast(TextInputTraits.ReturnKeyType, 1)
        GOOGLE = typing___cast(TextInputTraits.ReturnKeyType, 2)
        JOIN = typing___cast(TextInputTraits.ReturnKeyType, 3)
        NEXT = typing___cast(TextInputTraits.ReturnKeyType, 4)
        ROUTE = typing___cast(TextInputTraits.ReturnKeyType, 5)
        SEARCH = typing___cast(TextInputTraits.ReturnKeyType, 6)
        SEND = typing___cast(TextInputTraits.ReturnKeyType, 7)
        YAHOO = typing___cast(TextInputTraits.ReturnKeyType, 8)
        DONE = typing___cast(TextInputTraits.ReturnKeyType, 9)
        EMERGENCY_CALL = typing___cast(TextInputTraits.ReturnKeyType, 10)
        CONTINUE = typing___cast(TextInputTraits.ReturnKeyType, 11)
    RETURN_KEY_DEFAULT = typing___cast(TextInputTraits.ReturnKeyType, 0)
    GO = typing___cast(TextInputTraits.ReturnKeyType, 1)
    GOOGLE = typing___cast(TextInputTraits.ReturnKeyType, 2)
    JOIN = typing___cast(TextInputTraits.ReturnKeyType, 3)
    NEXT = typing___cast(TextInputTraits.ReturnKeyType, 4)
    ROUTE = typing___cast(TextInputTraits.ReturnKeyType, 5)
    SEARCH = typing___cast(TextInputTraits.ReturnKeyType, 6)
    SEND = typing___cast(TextInputTraits.ReturnKeyType, 7)
    YAHOO = typing___cast(TextInputTraits.ReturnKeyType, 8)
    DONE = typing___cast(TextInputTraits.ReturnKeyType, 9)
    EMERGENCY_CALL = typing___cast(TextInputTraits.ReturnKeyType, 10)
    CONTINUE = typing___cast(TextInputTraits.ReturnKeyType, 11)

    autocapitalizationType = ... # type: TextInputTraits.AutocapitalizationType
    keyboardType = ... # type: TextInputTraits.KeyboardType
    returnKeyType = ... # type: TextInputTraits.ReturnKeyType
    autocorrection = ... # type: bool
    spellchecking = ... # type: bool
    enablesReturnKeyAutomatically = ... # type: bool
    secureTextEntry = ... # type: bool
    validTextRangeLocation = ... # type: int
    validTextRangeLength = ... # type: int
    PINEntrySeparatorIndexes = ... # type: google___protobuf___internal___containers___RepeatedScalarFieldContainer[int]

    def __init__(self,
        *,
        autocapitalizationType : typing___Optional[TextInputTraits.AutocapitalizationType] = None,
        keyboardType : typing___Optional[TextInputTraits.KeyboardType] = None,
        returnKeyType : typing___Optional[TextInputTraits.ReturnKeyType] = None,
        autocorrection : typing___Optional[bool] = None,
        spellchecking : typing___Optional[bool] = None,
        enablesReturnKeyAutomatically : typing___Optional[bool] = None,
        secureTextEntry : typing___Optional[bool] = None,
        validTextRangeLocation : typing___Optional[int] = None,
        validTextRangeLength : typing___Optional[int] = None,
        PINEntrySeparatorIndexes : typing___Optional[typing___Iterable[int]] = None,
        ) -> None: ...
    @classmethod
    def FromString(cls, s: bytes) -> TextInputTraits: ...
    def MergeFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    def CopyFrom(self, other_msg: google___protobuf___message___Message) -> None: ...
    if sys.version_info >= (3,):
        def HasField(self, field_name: typing_extensions___Literal[u"autocapitalizationType",u"autocorrection",u"enablesReturnKeyAutomatically",u"keyboardType",u"returnKeyType",u"secureTextEntry",u"spellchecking",u"validTextRangeLength",u"validTextRangeLocation"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"PINEntrySeparatorIndexes",u"autocapitalizationType",u"autocorrection",u"enablesReturnKeyAutomatically",u"keyboardType",u"returnKeyType",u"secureTextEntry",u"spellchecking",u"validTextRangeLength",u"validTextRangeLocation"]) -> None: ...
    else:
        def HasField(self, field_name: typing_extensions___Literal[u"autocapitalizationType",b"autocapitalizationType",u"autocorrection",b"autocorrection",u"enablesReturnKeyAutomatically",b"enablesReturnKeyAutomatically",u"keyboardType",b"keyboardType",u"returnKeyType",b"returnKeyType",u"secureTextEntry",b"secureTextEntry",u"spellchecking",b"spellchecking",u"validTextRangeLength",b"validTextRangeLength",u"validTextRangeLocation",b"validTextRangeLocation"]) -> bool: ...
        def ClearField(self, field_name: typing_extensions___Literal[u"PINEntrySeparatorIndexes",b"PINEntrySeparatorIndexes",u"autocapitalizationType",b"autocapitalizationType",u"autocorrection",b"autocorrection",u"enablesReturnKeyAutomatically",b"enablesReturnKeyAutomatically",u"keyboardType",b"keyboardType",u"returnKeyType",b"returnKeyType",u"secureTextEntry",b"secureTextEntry",u"spellchecking",b"spellchecking",u"validTextRangeLength",b"validTextRangeLength",u"validTextRangeLocation",b"validTextRangeLocation"]) -> None: ...
