import typing

import android.app
import android.content
import android.graphics
import android.os
import android.text
import android.view
import android.widget
import java
import java.chaquopy
import java.lang
import java.util

class ArrowKeyMovementMethod(BaseMovementMethod, MovementMethod):
    def __init__(self) -> None: ...
    def bottom(self, widget: android.widget.TextView, buffer: android.text.Spannable, /) -> bool: ...
    def canSelectArbitrarily(self) -> bool: ...
    def down(self, widget: android.widget.TextView, buffer: android.text.Spannable, /) -> bool: ...
    def end(self, widget: android.widget.TextView, buffer: android.text.Spannable, /) -> bool: ...
    @staticmethod
    def getInstance() -> MovementMethod: ...
    def handleMovementKey(self, widget: android.widget.TextView, buffer: android.text.Spannable, keyCode: int | java.jint | java.lang.Integer, movementMetaState: int | java.jint | java.lang.Integer, event: android.view.KeyEvent, /) -> bool: ...
    def home(self, widget: android.widget.TextView, buffer: android.text.Spannable, /) -> bool: ...
    def initialize(self, widget: android.widget.TextView, text: android.text.Spannable, /) -> None: ...
    def left(self, widget: android.widget.TextView, buffer: android.text.Spannable, /) -> bool: ...
    def lineEnd(self, widget: android.widget.TextView, buffer: android.text.Spannable, /) -> bool: ...
    def lineStart(self, widget: android.widget.TextView, buffer: android.text.Spannable, /) -> bool: ...
    def nextParagraph(self, widget: android.widget.TextView, buffer: android.text.Spannable, /) -> bool: ...
    def onTakeFocus(self, view: android.widget.TextView, text: android.text.Spannable, dir: int | java.jint | java.lang.Integer, /) -> None: ...
    def onTouchEvent(self, widget: android.widget.TextView, buffer: android.text.Spannable, event: android.view.MotionEvent, /) -> bool: ...
    def pageDown(self, widget: android.widget.TextView, buffer: android.text.Spannable, /) -> bool: ...
    def pageUp(self, widget: android.widget.TextView, buffer: android.text.Spannable, /) -> bool: ...
    def previousParagraph(self, widget: android.widget.TextView, buffer: android.text.Spannable, /) -> bool: ...
    def right(self, widget: android.widget.TextView, buffer: android.text.Spannable, /) -> bool: ...
    def top(self, widget: android.widget.TextView, buffer: android.text.Spannable, /) -> bool: ...
    def up(self, widget: android.widget.TextView, buffer: android.text.Spannable, /) -> bool: ...

class BaseKeyListener(KeyListener, MetaKeyKeyListener):
    def __init__(self) -> None: ...
    def backspace(self, view: android.view.View, content: android.text.Editable, keyCode: int | java.jint | java.lang.Integer, event: android.view.KeyEvent, /) -> bool: ...
    def forwardDelete(self, view: android.view.View, content: android.text.Editable, keyCode: int | java.jint | java.lang.Integer, event: android.view.KeyEvent, /) -> bool: ...
    def onKeyDown(self, view: android.view.View, content: android.text.Editable, keyCode: int | java.jint | java.lang.Integer, event: android.view.KeyEvent, /) -> bool: ...
    def onKeyOther(self, view: android.view.View, content: android.text.Editable, event: android.view.KeyEvent, /) -> bool: ...

class BaseMovementMethod(MovementMethod):
    def __init__(self) -> None: ...
    def bottom(self, widget: android.widget.TextView, buffer: android.text.Spannable, /) -> bool: ...
    def canSelectArbitrarily(self) -> bool: ...
    def down(self, widget: android.widget.TextView, buffer: android.text.Spannable, /) -> bool: ...
    def end(self, widget: android.widget.TextView, buffer: android.text.Spannable, /) -> bool: ...
    def getMovementMetaState(self, buffer: android.text.Spannable, event: android.view.KeyEvent, /) -> int: ...
    def handleMovementKey(self, widget: android.widget.TextView, buffer: android.text.Spannable, keyCode: int | java.jint | java.lang.Integer, movementMetaState: int | java.jint | java.lang.Integer, event: android.view.KeyEvent, /) -> bool: ...
    def home(self, widget: android.widget.TextView, buffer: android.text.Spannable, /) -> bool: ...
    def initialize(self, widget: android.widget.TextView, text: android.text.Spannable, /) -> None: ...
    def left(self, widget: android.widget.TextView, buffer: android.text.Spannable, /) -> bool: ...
    def lineEnd(self, widget: android.widget.TextView, buffer: android.text.Spannable, /) -> bool: ...
    def lineStart(self, widget: android.widget.TextView, buffer: android.text.Spannable, /) -> bool: ...
    def nextParagraph(self, widget: android.widget.TextView, buffer: android.text.Spannable, /) -> bool: ...
    def onGenericMotionEvent(self, widget: android.widget.TextView, text: android.text.Spannable, event: android.view.MotionEvent, /) -> bool: ...
    def onKeyDown(self, widget: android.widget.TextView, text: android.text.Spannable, keyCode: int | java.jint | java.lang.Integer, event: android.view.KeyEvent, /) -> bool: ...
    def onKeyOther(self, widget: android.widget.TextView, text: android.text.Spannable, event: android.view.KeyEvent, /) -> bool: ...
    def onKeyUp(self, widget: android.widget.TextView, text: android.text.Spannable, keyCode: int | java.jint | java.lang.Integer, event: android.view.KeyEvent, /) -> bool: ...
    def onTakeFocus(self, widget: android.widget.TextView, text: android.text.Spannable, direction: int | java.jint | java.lang.Integer, /) -> None: ...
    def onTouchEvent(self, widget: android.widget.TextView, text: android.text.Spannable, event: android.view.MotionEvent, /) -> bool: ...
    def onTrackballEvent(self, widget: android.widget.TextView, text: android.text.Spannable, event: android.view.MotionEvent, /) -> bool: ...
    def pageDown(self, widget: android.widget.TextView, buffer: android.text.Spannable, /) -> bool: ...
    def pageUp(self, widget: android.widget.TextView, buffer: android.text.Spannable, /) -> bool: ...
    def previousParagraph(self, widget: android.widget.TextView, buffer: android.text.Spannable, /) -> bool: ...
    def right(self, widget: android.widget.TextView, buffer: android.text.Spannable, /) -> bool: ...
    def top(self, widget: android.widget.TextView, buffer: android.text.Spannable, /) -> bool: ...
    def up(self, widget: android.widget.TextView, buffer: android.text.Spannable, /) -> bool: ...

class CharacterPickerDialog(android.app.Dialog, android.view.View.OnClickListener, android.widget.AdapterView.OnItemClickListener):
    def __init__(self, context: android.content.Context, view: android.view.View, text: android.text.Editable, options: str | java.lang.String, insert: bool | java.jboolean | java.lang.Boolean, /) -> None: ...
    def onClick(self, v: android.view.View, /) -> None: ...
    def onCreate(self, savedInstanceState: android.os.Bundle, /) -> None: ...
    def onItemClick(self, parent: android.widget.AdapterView, view: android.view.View, position: int | java.jint | java.lang.Integer, id: int | java.jlong | java.lang.Long, /) -> None: ...

class DateKeyListener(NumberKeyListener):
    CHARACTERS: typing.ClassVar[java.chaquopy.JavaArrayJChar] = ...
    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, locale: java.util.Locale, /) -> None: ...
    def getAcceptedChars(self) -> java.chaquopy.JavaArrayJChar: ...
    def getInputType(self) -> int: ...
    @typing.overload
    @staticmethod
    def getInstance() -> DateKeyListener: ...
    @typing.overload
    @staticmethod
    def getInstance(locale: java.util.Locale, /) -> DateKeyListener: ...

class DateTimeKeyListener(NumberKeyListener):
    CHARACTERS: typing.ClassVar[java.chaquopy.JavaArrayJChar] = ...
    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, locale: java.util.Locale, /) -> None: ...
    def getAcceptedChars(self) -> java.chaquopy.JavaArrayJChar: ...
    def getInputType(self) -> int: ...
    @typing.overload
    @staticmethod
    def getInstance() -> DateTimeKeyListener: ...
    @typing.overload
    @staticmethod
    def getInstance(locale: java.util.Locale, /) -> DateTimeKeyListener: ...

class DialerKeyListener(NumberKeyListener):
    CHARACTERS: typing.ClassVar[java.chaquopy.JavaArrayJChar] = ...
    def __init__(self) -> None: ...
    def getAcceptedChars(self) -> java.chaquopy.JavaArrayJChar: ...
    def getInputType(self) -> int: ...
    @staticmethod
    def getInstance() -> DialerKeyListener: ...
    def lookup(self, event: android.view.KeyEvent, content: android.text.Spannable, /) -> int: ...

class DigitsKeyListener(NumberKeyListener):
    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, locale: java.util.Locale, /) -> None: ...
    @typing.overload
    def __init__(self, sign: bool | java.jboolean | java.lang.Boolean, decimal: bool | java.jboolean | java.lang.Boolean, /) -> None: ...
    @typing.overload
    def __init__(self, locale: java.util.Locale, sign: bool | java.jboolean | java.lang.Boolean, decimal: bool | java.jboolean | java.lang.Boolean, /) -> None: ...
    def filter(self, source: java.lang.CharSequence, start: int | java.jint | java.lang.Integer, end: int | java.jint | java.lang.Integer, dest: android.text.Spanned, dstart: int | java.jint | java.lang.Integer, dend: int | java.jint | java.lang.Integer, /) -> java.lang.CharSequence: ...
    def getAcceptedChars(self) -> java.chaquopy.JavaArrayJChar: ...
    def getInputType(self) -> int: ...
    @typing.overload
    @staticmethod
    def getInstance() -> DigitsKeyListener: ...
    @typing.overload
    @staticmethod
    def getInstance(accepted: str | java.lang.String, /) -> DigitsKeyListener: ...
    @typing.overload
    @staticmethod
    def getInstance(locale: java.util.Locale, /) -> DigitsKeyListener: ...
    @typing.overload
    @staticmethod
    def getInstance(sign: bool | java.jboolean | java.lang.Boolean, decimal: bool | java.jboolean | java.lang.Boolean, /) -> DigitsKeyListener: ...
    @typing.overload
    @staticmethod
    def getInstance(locale: java.util.Locale, sign: bool | java.jboolean | java.lang.Boolean, decimal: bool | java.jboolean | java.lang.Boolean, /) -> DigitsKeyListener: ...

class HideReturnsTransformationMethod(ReplacementTransformationMethod):
    def __init__(self) -> None: ...
    @staticmethod
    def getInstance() -> HideReturnsTransformationMethod: ...
    def getOriginal(self) -> java.chaquopy.JavaArrayJChar: ...
    def getReplacement(self) -> java.chaquopy.JavaArrayJChar: ...

class KeyListener(java.lang.Object):
    def clearMetaKeyState(self, arg1: android.view.View, arg2: android.text.Editable, arg3: int | java.jint | java.lang.Integer, /) -> None: ...
    def getInputType(self) -> int: ...
    def onKeyDown(self, arg1: android.view.View, arg2: android.text.Editable, arg3: int | java.jint | java.lang.Integer, arg4: android.view.KeyEvent, /) -> bool: ...
    def onKeyOther(self, arg1: android.view.View, arg2: android.text.Editable, arg3: android.view.KeyEvent, /) -> bool: ...
    def onKeyUp(self, arg1: android.view.View, arg2: android.text.Editable, arg3: int | java.jint | java.lang.Integer, arg4: android.view.KeyEvent, /) -> bool: ...

class LinkMovementMethod(ScrollingMovementMethod):
    def __init__(self) -> None: ...
    def canSelectArbitrarily(self) -> bool: ...
    def down(self, widget: android.widget.TextView, buffer: android.text.Spannable, /) -> bool: ...
    @staticmethod
    def getInstance() -> MovementMethod: ...
    def handleMovementKey(self, widget: android.widget.TextView, buffer: android.text.Spannable, keyCode: int | java.jint | java.lang.Integer, movementMetaState: int | java.jint | java.lang.Integer, event: android.view.KeyEvent, /) -> bool: ...
    def initialize(self, widget: android.widget.TextView, text: android.text.Spannable, /) -> None: ...
    def left(self, widget: android.widget.TextView, buffer: android.text.Spannable, /) -> bool: ...
    def onTakeFocus(self, view: android.widget.TextView, text: android.text.Spannable, dir: int | java.jint | java.lang.Integer, /) -> None: ...
    def onTouchEvent(self, widget: android.widget.TextView, buffer: android.text.Spannable, event: android.view.MotionEvent, /) -> bool: ...
    def right(self, widget: android.widget.TextView, buffer: android.text.Spannable, /) -> bool: ...
    def up(self, widget: android.widget.TextView, buffer: android.text.Spannable, /) -> bool: ...

class MetaKeyKeyListener(java.lang.Object):
    META_ALT_LOCKED: typing.ClassVar[int] = ...
    META_ALT_ON: typing.ClassVar[int] = ...
    META_CAP_LOCKED: typing.ClassVar[int] = ...
    META_SHIFT_ON: typing.ClassVar[int] = ...
    META_SYM_LOCKED: typing.ClassVar[int] = ...
    META_SYM_ON: typing.ClassVar[int] = ...
    def __init__(self) -> None: ...
    @typing.overload
    @staticmethod
    def adjustMetaAfterKeypress(state: int | java.jlong | java.lang.Long, /) -> int: ...
    @typing.overload
    @staticmethod
    def adjustMetaAfterKeypress(content: android.text.Spannable, /) -> None: ...
    @typing.overload
    def clearMetaKeyState(self, state: int | java.jlong | java.lang.Long, which: int | java.jint | java.lang.Integer, /) -> int: ...
    @typing.overload
    @staticmethod
    def clearMetaKeyState(content: android.text.Editable, states: int | java.jint | java.lang.Integer, /) -> None: ...
    @typing.overload
    def clearMetaKeyState(self, view: android.view.View, content: android.text.Editable, states: int | java.jint | java.lang.Integer, /) -> None: ...
    @typing.overload
    @staticmethod
    def getMetaState(state: int | java.jlong | java.lang.Long, /) -> int: ...
    @typing.overload
    @staticmethod
    def getMetaState(text: java.lang.CharSequence, /) -> int: ...
    @typing.overload
    @staticmethod
    def getMetaState(state: int | java.jlong | java.lang.Long, meta: int | java.jint | java.lang.Integer, /) -> int: ...
    @typing.overload
    @staticmethod
    def getMetaState(text: java.lang.CharSequence, meta: int | java.jint | java.lang.Integer, /) -> int: ...
    @typing.overload
    @staticmethod
    def getMetaState(text: java.lang.CharSequence, event: android.view.KeyEvent, /) -> int: ...
    @typing.overload
    @staticmethod
    def getMetaState(text: java.lang.CharSequence, meta: int | java.jint | java.lang.Integer, event: android.view.KeyEvent, /) -> int: ...
    @staticmethod
    def handleKeyDown(state: int | java.jlong | java.lang.Long, keyCode: int | java.jint | java.lang.Integer, event: android.view.KeyEvent, /) -> int: ...
    @staticmethod
    def handleKeyUp(state: int | java.jlong | java.lang.Long, keyCode: int | java.jint | java.lang.Integer, event: android.view.KeyEvent, /) -> int: ...
    @staticmethod
    def isMetaTracker(text: java.lang.CharSequence, what: java.lang.Object | int | bool | float | str, /) -> bool: ...
    @staticmethod
    def isSelectingMetaTracker(text: java.lang.CharSequence, what: java.lang.Object | int | bool | float | str, /) -> bool: ...
    def onKeyDown(self, view: android.view.View, content: android.text.Editable, keyCode: int | java.jint | java.lang.Integer, event: android.view.KeyEvent, /) -> bool: ...
    def onKeyUp(self, view: android.view.View, content: android.text.Editable, keyCode: int | java.jint | java.lang.Integer, event: android.view.KeyEvent, /) -> bool: ...
    @typing.overload
    @staticmethod
    def resetLockedMeta(state: int | java.jlong | java.lang.Long, /) -> int: ...
    @typing.overload
    @staticmethod
    def resetLockedMeta(content: android.text.Spannable, /) -> None: ...
    @staticmethod
    def resetMetaState(text: android.text.Spannable, /) -> None: ...

class MovementMethod(java.lang.Object):
    def canSelectArbitrarily(self) -> bool: ...
    def initialize(self, arg1: android.widget.TextView, arg2: android.text.Spannable, /) -> None: ...
    def onGenericMotionEvent(self, arg1: android.widget.TextView, arg2: android.text.Spannable, arg3: android.view.MotionEvent, /) -> bool: ...
    def onKeyDown(self, arg1: android.widget.TextView, arg2: android.text.Spannable, arg3: int | java.jint | java.lang.Integer, arg4: android.view.KeyEvent, /) -> bool: ...
    def onKeyOther(self, arg1: android.widget.TextView, arg2: android.text.Spannable, arg3: android.view.KeyEvent, /) -> bool: ...
    def onKeyUp(self, arg1: android.widget.TextView, arg2: android.text.Spannable, arg3: int | java.jint | java.lang.Integer, arg4: android.view.KeyEvent, /) -> bool: ...
    def onTakeFocus(self, arg1: android.widget.TextView, arg2: android.text.Spannable, arg3: int | java.jint | java.lang.Integer, /) -> None: ...
    def onTouchEvent(self, arg1: android.widget.TextView, arg2: android.text.Spannable, arg3: android.view.MotionEvent, /) -> bool: ...
    def onTrackballEvent(self, arg1: android.widget.TextView, arg2: android.text.Spannable, arg3: android.view.MotionEvent, /) -> bool: ...

class MultiTapKeyListener(android.text.SpanWatcher, BaseKeyListener):
    def __init__(self, cap: TextKeyListener.Capitalize, autotext: bool | java.jboolean | java.lang.Boolean, /) -> None: ...
    def getInputType(self) -> int: ...
    @staticmethod
    def getInstance(autotext: bool | java.jboolean | java.lang.Boolean, cap: TextKeyListener.Capitalize, /) -> MultiTapKeyListener: ...
    def onKeyDown(self, view: android.view.View, content: android.text.Editable, keyCode: int | java.jint | java.lang.Integer, event: android.view.KeyEvent, /) -> bool: ...
    def onSpanAdded(self, s: android.text.Spannable, what: java.lang.Object | int | bool | float | str, start: int | java.jint | java.lang.Integer, end: int | java.jint | java.lang.Integer, /) -> None: ...
    def onSpanChanged(self, buf: android.text.Spannable, what: java.lang.Object | int | bool | float | str, s: int | java.jint | java.lang.Integer, e: int | java.jint | java.lang.Integer, start: int | java.jint | java.lang.Integer, stop: int | java.jint | java.lang.Integer, /) -> None: ...
    def onSpanRemoved(self, s: android.text.Spannable, what: java.lang.Object | int | bool | float | str, start: int | java.jint | java.lang.Integer, end: int | java.jint | java.lang.Integer, /) -> None: ...

class NumberKeyListener(android.text.InputFilter, BaseKeyListener):
    def __init__(self) -> None: ...
    def filter(self, source: java.lang.CharSequence, start: int | java.jint | java.lang.Integer, end: int | java.jint | java.lang.Integer, dest: android.text.Spanned, dstart: int | java.jint | java.lang.Integer, dend: int | java.jint | java.lang.Integer, /) -> java.lang.CharSequence: ...
    def getAcceptedChars(self) -> java.chaquopy.JavaArrayJChar: ...
    def lookup(self, event: android.view.KeyEvent, content: android.text.Spannable, /) -> int: ...
    @staticmethod
    def ok(accept: java.chaquopy.JavaArrayJChar, c: str | java.jchar | java.lang.Character, /) -> bool: ...
    def onKeyDown(self, view: android.view.View, content: android.text.Editable, keyCode: int | java.jint | java.lang.Integer, event: android.view.KeyEvent, /) -> bool: ...

class PasswordTransformationMethod(TransformationMethod, android.text.TextWatcher):
    def __init__(self) -> None: ...
    def afterTextChanged(self, s: android.text.Editable, /) -> None: ...
    def beforeTextChanged(self, s: java.lang.CharSequence, start: int | java.jint | java.lang.Integer, count: int | java.jint | java.lang.Integer, after: int | java.jint | java.lang.Integer, /) -> None: ...
    @staticmethod
    def getInstance() -> PasswordTransformationMethod: ...
    def getTransformation(self, source: java.lang.CharSequence, view: android.view.View, /) -> java.lang.CharSequence: ...
    def onFocusChanged(self, view: android.view.View, sourceText: java.lang.CharSequence, focused: bool | java.jboolean | java.lang.Boolean, direction: int | java.jint | java.lang.Integer, previouslyFocusedRect: android.graphics.Rect, /) -> None: ...
    def onTextChanged(self, s: java.lang.CharSequence, start: int | java.jint | java.lang.Integer, before: int | java.jint | java.lang.Integer, count: int | java.jint | java.lang.Integer, /) -> None: ...

class QwertyKeyListener(BaseKeyListener):
    def __init__(self, cap: TextKeyListener.Capitalize, autoText: bool | java.jboolean | java.lang.Boolean, /) -> None: ...
    def getInputType(self) -> int: ...
    @staticmethod
    def getInstance(autoText: bool | java.jboolean | java.lang.Boolean, cap: TextKeyListener.Capitalize, /) -> QwertyKeyListener: ...
    @staticmethod
    def getInstanceForFullKeyboard() -> QwertyKeyListener: ...
    @staticmethod
    def markAsReplaced(content: android.text.Spannable, start: int | java.jint | java.lang.Integer, end: int | java.jint | java.lang.Integer, original: str | java.lang.String, /) -> None: ...
    def onKeyDown(self, view: android.view.View, content: android.text.Editable, keyCode: int | java.jint | java.lang.Integer, event: android.view.KeyEvent, /) -> bool: ...

class ReplacementTransformationMethod(TransformationMethod):
    def __init__(self) -> None: ...
    def getOriginal(self) -> java.chaquopy.JavaArrayJChar: ...
    def getReplacement(self) -> java.chaquopy.JavaArrayJChar: ...
    def getTransformation(self, source: java.lang.CharSequence, v: android.view.View, /) -> java.lang.CharSequence: ...
    def onFocusChanged(self, view: android.view.View, sourceText: java.lang.CharSequence, focused: bool | java.jboolean | java.lang.Boolean, direction: int | java.jint | java.lang.Integer, previouslyFocusedRect: android.graphics.Rect, /) -> None: ...

class ScrollingMovementMethod(BaseMovementMethod, MovementMethod):
    def __init__(self) -> None: ...
    def bottom(self, widget: android.widget.TextView, buffer: android.text.Spannable, /) -> bool: ...
    def down(self, widget: android.widget.TextView, buffer: android.text.Spannable, /) -> bool: ...
    def end(self, widget: android.widget.TextView, buffer: android.text.Spannable, /) -> bool: ...
    @staticmethod
    def getInstance() -> MovementMethod: ...
    def home(self, widget: android.widget.TextView, buffer: android.text.Spannable, /) -> bool: ...
    def left(self, widget: android.widget.TextView, buffer: android.text.Spannable, /) -> bool: ...
    def lineEnd(self, widget: android.widget.TextView, buffer: android.text.Spannable, /) -> bool: ...
    def lineStart(self, widget: android.widget.TextView, buffer: android.text.Spannable, /) -> bool: ...
    def onTakeFocus(self, widget: android.widget.TextView, text: android.text.Spannable, dir: int | java.jint | java.lang.Integer, /) -> None: ...
    def onTouchEvent(self, widget: android.widget.TextView, buffer: android.text.Spannable, event: android.view.MotionEvent, /) -> bool: ...
    def pageDown(self, widget: android.widget.TextView, buffer: android.text.Spannable, /) -> bool: ...
    def pageUp(self, widget: android.widget.TextView, buffer: android.text.Spannable, /) -> bool: ...
    def right(self, widget: android.widget.TextView, buffer: android.text.Spannable, /) -> bool: ...
    def top(self, widget: android.widget.TextView, buffer: android.text.Spannable, /) -> bool: ...
    def up(self, widget: android.widget.TextView, buffer: android.text.Spannable, /) -> bool: ...

class SingleLineTransformationMethod(ReplacementTransformationMethod):
    def __init__(self) -> None: ...
    @staticmethod
    def getInstance() -> SingleLineTransformationMethod: ...
    def getOriginal(self) -> java.chaquopy.JavaArrayJChar: ...
    def getReplacement(self) -> java.chaquopy.JavaArrayJChar: ...

class TextKeyListener(android.text.SpanWatcher, BaseKeyListener):
    def __init__(self, cap: TextKeyListener.Capitalize, autotext: bool | java.jboolean | java.lang.Boolean, /) -> None: ...
    @staticmethod
    def clear(e: android.text.Editable, /) -> None: ...
    def getInputType(self) -> int: ...
    @typing.overload
    @staticmethod
    def getInstance() -> TextKeyListener: ...
    @typing.overload
    @staticmethod
    def getInstance(autotext: bool | java.jboolean | java.lang.Boolean, cap: TextKeyListener.Capitalize, /) -> TextKeyListener: ...
    def onKeyDown(self, view: android.view.View, content: android.text.Editable, keyCode: int | java.jint | java.lang.Integer, event: android.view.KeyEvent, /) -> bool: ...
    def onKeyOther(self, view: android.view.View, content: android.text.Editable, event: android.view.KeyEvent, /) -> bool: ...
    def onKeyUp(self, view: android.view.View, content: android.text.Editable, keyCode: int | java.jint | java.lang.Integer, event: android.view.KeyEvent, /) -> bool: ...
    def onSpanAdded(self, s: android.text.Spannable, what: java.lang.Object | int | bool | float | str, start: int | java.jint | java.lang.Integer, end: int | java.jint | java.lang.Integer, /) -> None: ...
    def onSpanChanged(self, s: android.text.Spannable, what: java.lang.Object | int | bool | float | str, start: int | java.jint | java.lang.Integer, end: int | java.jint | java.lang.Integer, st: int | java.jint | java.lang.Integer, en: int | java.jint | java.lang.Integer, /) -> None: ...
    def onSpanRemoved(self, s: android.text.Spannable, what: java.lang.Object | int | bool | float | str, start: int | java.jint | java.lang.Integer, end: int | java.jint | java.lang.Integer, /) -> None: ...
    def release(self) -> None: ...
    @staticmethod
    def shouldCap(cap: TextKeyListener.Capitalize, cs: java.lang.CharSequence, off: int | java.jint | java.lang.Integer, /) -> bool: ...

    class Capitalize(java.lang.Enum[TextKeyListener.Capitalize]):
        CHARACTERS: typing.ClassVar[TextKeyListener.Capitalize] = ...
        NONE: typing.ClassVar[TextKeyListener.Capitalize] = ...
        SENTENCES: typing.ClassVar[TextKeyListener.Capitalize] = ...
        WORDS: typing.ClassVar[TextKeyListener.Capitalize] = ...
        @staticmethod
        def valueOf(name: str | java.lang.String, /) -> TextKeyListener.Capitalize: ...
        @staticmethod
        def values() -> java.chaquopy.JavaArray[TextKeyListener.Capitalize]: ...

class TimeKeyListener(NumberKeyListener):
    CHARACTERS: typing.ClassVar[java.chaquopy.JavaArrayJChar] = ...
    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, locale: java.util.Locale, /) -> None: ...
    def getAcceptedChars(self) -> java.chaquopy.JavaArrayJChar: ...
    def getInputType(self) -> int: ...
    @typing.overload
    @staticmethod
    def getInstance() -> TimeKeyListener: ...
    @typing.overload
    @staticmethod
    def getInstance(locale: java.util.Locale, /) -> TimeKeyListener: ...

class Touch(java.lang.Object):
    @staticmethod
    def getInitialScrollX(widget: android.widget.TextView, buffer: android.text.Spannable, /) -> int: ...
    @staticmethod
    def getInitialScrollY(widget: android.widget.TextView, buffer: android.text.Spannable, /) -> int: ...
    @staticmethod
    def onTouchEvent(widget: android.widget.TextView, buffer: android.text.Spannable, event: android.view.MotionEvent, /) -> bool: ...
    @staticmethod
    def scrollTo(widget: android.widget.TextView, layout: android.text.Layout, x: int | java.jint | java.lang.Integer, y: int | java.jint | java.lang.Integer, /) -> None: ...

class TransformationMethod(java.lang.Object):
    def getTransformation(self, arg1: java.lang.CharSequence, arg2: android.view.View, /) -> java.lang.CharSequence: ...
    def onFocusChanged(self, arg1: android.view.View, arg2: java.lang.CharSequence, arg3: bool | java.jboolean | java.lang.Boolean, arg4: int | java.jint | java.lang.Integer, arg5: android.graphics.Rect, /) -> None: ...
