import typing

import android.app
import android.content
import android.content.res
import android.graphics
import android.graphics.drawable
import android.graphics.text
import android.net
import android.os
import android.text
import android.view
import java
import java.chaquopy
import java.lang
import java.util

class AbsoluteSizeSpan(android.text.ParcelableSpan, MetricAffectingSpan):
    @typing.overload
    def __init__(self, size: int | java.jint | java.lang.Integer, /) -> None: ...
    @typing.overload
    def __init__(self, src: android.os.Parcel, /) -> None: ...
    @typing.overload
    def __init__(self, size: int | java.jint | java.lang.Integer, dip: bool | java.jboolean | java.lang.Boolean, /) -> None: ...
    def describeContents(self) -> int: ...
    def getDip(self) -> bool: ...
    def getSize(self) -> int: ...
    def getSpanTypeId(self) -> int: ...
    def toString(self) -> str: ...
    def updateDrawState(self, ds: android.text.TextPaint, /) -> None: ...
    def updateMeasureState(self, ds: android.text.TextPaint, /) -> None: ...
    def writeToParcel(self, dest: android.os.Parcel, flags: int | java.jint | java.lang.Integer, /) -> None: ...

class AlignmentSpan(ParagraphStyle):
    def getAlignment(self) -> android.text.Layout.Alignment: ...

    class Standard(AlignmentSpan, android.text.ParcelableSpan):
        @typing.overload
        def __init__(self, src: android.os.Parcel, /) -> None: ...
        @typing.overload
        def __init__(self, align: android.text.Layout.Alignment, /) -> None: ...
        def describeContents(self) -> int: ...
        def getAlignment(self) -> android.text.Layout.Alignment: ...
        def getSpanTypeId(self) -> int: ...
        def toString(self) -> str: ...
        def writeToParcel(self, dest: android.os.Parcel, flags: int | java.jint | java.lang.Integer, /) -> None: ...

class BackgroundColorSpan(android.text.ParcelableSpan, CharacterStyle, UpdateAppearance):
    @typing.overload
    def __init__(self, color: int | java.jint | java.lang.Integer, /) -> None: ...
    @typing.overload
    def __init__(self, src: android.os.Parcel, /) -> None: ...
    def describeContents(self) -> int: ...
    def getBackgroundColor(self) -> int: ...
    def getSpanTypeId(self) -> int: ...
    def toString(self) -> str: ...
    def updateDrawState(self, textPaint: android.text.TextPaint, /) -> None: ...
    def writeToParcel(self, dest: android.os.Parcel, flags: int | java.jint | java.lang.Integer, /) -> None: ...

class BulletSpan(LeadingMarginSpan, android.text.ParcelableSpan):
    STANDARD_GAP_WIDTH: typing.ClassVar[int] = ...
    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, gapWidth: int | java.jint | java.lang.Integer, /) -> None: ...
    @typing.overload
    def __init__(self, src: android.os.Parcel, /) -> None: ...
    @typing.overload
    def __init__(self, gapWidth: int | java.jint | java.lang.Integer, color: int | java.jint | java.lang.Integer, /) -> None: ...
    @typing.overload
    def __init__(self, gapWidth: int | java.jint | java.lang.Integer, color: int | java.jint | java.lang.Integer, bulletRadius: int | java.jint | java.lang.Integer, /) -> None: ...
    def describeContents(self) -> int: ...
    def drawLeadingMargin(self, canvas: android.graphics.Canvas, paint: android.graphics.Paint, x: int | java.jint | java.lang.Integer, dir: int | java.jint | java.lang.Integer, top: int | java.jint | java.lang.Integer, baseline: int | java.jint | java.lang.Integer, bottom: int | java.jint | java.lang.Integer, text: java.lang.CharSequence, start: int | java.jint | java.lang.Integer, end: int | java.jint | java.lang.Integer, first: bool | java.jboolean | java.lang.Boolean, layout: android.text.Layout, /) -> None: ...
    def getBulletRadius(self) -> int: ...
    def getColor(self) -> int: ...
    def getGapWidth(self) -> int: ...
    def getLeadingMargin(self, first: bool | java.jboolean | java.lang.Boolean, /) -> int: ...
    def getSpanTypeId(self) -> int: ...
    def toString(self) -> str: ...
    def writeToParcel(self, dest: android.os.Parcel, flags: int | java.jint | java.lang.Integer, /) -> None: ...

class CharacterStyle(java.lang.Object):
    def __init__(self) -> None: ...
    def getUnderlying(self) -> CharacterStyle: ...
    def updateDrawState(self, arg1: android.text.TextPaint, /) -> None: ...
    @staticmethod
    def wrap(cs: CharacterStyle, /) -> CharacterStyle: ...

class ClickableSpan(CharacterStyle, UpdateAppearance):
    def __init__(self) -> None: ...
    def onClick(self, arg1: android.view.View, /) -> None: ...
    def toString(self) -> str: ...
    def updateDrawState(self, ds: android.text.TextPaint, /) -> None: ...

class DrawableMarginSpan(LeadingMarginSpan, LineHeightSpan):
    @typing.overload
    def __init__(self, drawable: android.graphics.drawable.Drawable, /) -> None: ...
    @typing.overload
    def __init__(self, drawable: android.graphics.drawable.Drawable, pad: int | java.jint | java.lang.Integer, /) -> None: ...
    def chooseHeight(self, text: java.lang.CharSequence, start: int | java.jint | java.lang.Integer, end: int | java.jint | java.lang.Integer, istartv: int | java.jint | java.lang.Integer, v: int | java.jint | java.lang.Integer, fm: android.graphics.Paint.FontMetricsInt, /) -> None: ...
    def drawLeadingMargin(self, c: android.graphics.Canvas, p: android.graphics.Paint, x: int | java.jint | java.lang.Integer, dir: int | java.jint | java.lang.Integer, top: int | java.jint | java.lang.Integer, baseline: int | java.jint | java.lang.Integer, bottom: int | java.jint | java.lang.Integer, text: java.lang.CharSequence, start: int | java.jint | java.lang.Integer, end: int | java.jint | java.lang.Integer, first: bool | java.jboolean | java.lang.Boolean, layout: android.text.Layout, /) -> None: ...
    def getDrawable(self) -> android.graphics.drawable.Drawable: ...
    def getLeadingMargin(self, first: bool | java.jboolean | java.lang.Boolean, /) -> int: ...
    def getPadding(self) -> int: ...
    def toString(self) -> str: ...

class DynamicDrawableSpan(ReplacementSpan):
    ALIGN_BASELINE: typing.ClassVar[int] = ...
    ALIGN_BOTTOM: typing.ClassVar[int] = ...
    ALIGN_CENTER: typing.ClassVar[int] = ...
    mVerticalAlignment: int = ...
    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, verticalAlignment: int | java.jint | java.lang.Integer, /) -> None: ...
    def draw(self, canvas: android.graphics.Canvas, text: java.lang.CharSequence, start: int | java.jint | java.lang.Integer, end: int | java.jint | java.lang.Integer, x: float | java.jfloat | java.lang.Float, top: int | java.jint | java.lang.Integer, y: int | java.jint | java.lang.Integer, bottom: int | java.jint | java.lang.Integer, paint: android.graphics.Paint, /) -> None: ...
    def getDrawable(self) -> android.graphics.drawable.Drawable: ...
    def getSize(self, paint: android.graphics.Paint, text: java.lang.CharSequence, start: int | java.jint | java.lang.Integer, end: int | java.jint | java.lang.Integer, fm: android.graphics.Paint.FontMetricsInt, /) -> int: ...
    def getVerticalAlignment(self) -> int: ...
    def toString(self) -> str: ...

class EasyEditSpan(android.text.ParcelableSpan):
    EXTRA_TEXT_CHANGED_TYPE: typing.ClassVar[str] = ...
    TEXT_DELETED: typing.ClassVar[int] = ...
    TEXT_MODIFIED: typing.ClassVar[int] = ...
    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, pendingIntent: android.app.PendingIntent, /) -> None: ...
    @typing.overload
    def __init__(self, source: android.os.Parcel, /) -> None: ...
    def describeContents(self) -> int: ...
    def getSpanTypeId(self) -> int: ...
    def writeToParcel(self, dest: android.os.Parcel, flags: int | java.jint | java.lang.Integer, /) -> None: ...

class ForegroundColorSpan(android.text.ParcelableSpan, CharacterStyle, UpdateAppearance):
    @typing.overload
    def __init__(self, color: int | java.jint | java.lang.Integer, /) -> None: ...
    @typing.overload
    def __init__(self, src: android.os.Parcel, /) -> None: ...
    def describeContents(self) -> int: ...
    def getForegroundColor(self) -> int: ...
    def getSpanTypeId(self) -> int: ...
    def toString(self) -> str: ...
    def updateDrawState(self, textPaint: android.text.TextPaint, /) -> None: ...
    def writeToParcel(self, dest: android.os.Parcel, flags: int | java.jint | java.lang.Integer, /) -> None: ...

class IconMarginSpan(LeadingMarginSpan, LineHeightSpan):
    @typing.overload
    def __init__(self, bitmap: android.graphics.Bitmap, /) -> None: ...
    @typing.overload
    def __init__(self, bitmap: android.graphics.Bitmap, pad: int | java.jint | java.lang.Integer, /) -> None: ...
    def chooseHeight(self, text: java.lang.CharSequence, start: int | java.jint | java.lang.Integer, end: int | java.jint | java.lang.Integer, istartv: int | java.jint | java.lang.Integer, v: int | java.jint | java.lang.Integer, fm: android.graphics.Paint.FontMetricsInt, /) -> None: ...
    def drawLeadingMargin(self, c: android.graphics.Canvas, p: android.graphics.Paint, x: int | java.jint | java.lang.Integer, dir: int | java.jint | java.lang.Integer, top: int | java.jint | java.lang.Integer, baseline: int | java.jint | java.lang.Integer, bottom: int | java.jint | java.lang.Integer, text: java.lang.CharSequence, start: int | java.jint | java.lang.Integer, end: int | java.jint | java.lang.Integer, first: bool | java.jboolean | java.lang.Boolean, layout: android.text.Layout, /) -> None: ...
    def getBitmap(self) -> android.graphics.Bitmap: ...
    def getLeadingMargin(self, first: bool | java.jboolean | java.lang.Boolean, /) -> int: ...
    def getPadding(self) -> int: ...
    def toString(self) -> str: ...

class ImageSpan(DynamicDrawableSpan):
    @typing.overload
    def __init__(self, b: android.graphics.Bitmap, /) -> None: ...
    @typing.overload
    def __init__(self, drawable: android.graphics.drawable.Drawable, /) -> None: ...
    @typing.overload
    def __init__(self, context: android.content.Context, resourceId: int | java.jint | java.lang.Integer, /) -> None: ...
    @typing.overload
    def __init__(self, context: android.content.Context, bitmap: android.graphics.Bitmap, /) -> None: ...
    @typing.overload
    def __init__(self, context: android.content.Context, uri: android.net.Uri, /) -> None: ...
    @typing.overload
    def __init__(self, b: android.graphics.Bitmap, verticalAlignment: int | java.jint | java.lang.Integer, /) -> None: ...
    @typing.overload
    def __init__(self, drawable: android.graphics.drawable.Drawable, verticalAlignment: int | java.jint | java.lang.Integer, /) -> None: ...
    @typing.overload
    def __init__(self, drawable: android.graphics.drawable.Drawable, source: str | java.lang.String, /) -> None: ...
    @typing.overload
    def __init__(self, context: android.content.Context, resourceId: int | java.jint | java.lang.Integer, verticalAlignment: int | java.jint | java.lang.Integer, /) -> None: ...
    @typing.overload
    def __init__(self, context: android.content.Context, bitmap: android.graphics.Bitmap, verticalAlignment: int | java.jint | java.lang.Integer, /) -> None: ...
    @typing.overload
    def __init__(self, context: android.content.Context, uri: android.net.Uri, verticalAlignment: int | java.jint | java.lang.Integer, /) -> None: ...
    @typing.overload
    def __init__(self, drawable: android.graphics.drawable.Drawable, source: str | java.lang.String, verticalAlignment: int | java.jint | java.lang.Integer, /) -> None: ...
    def getDrawable(self) -> android.graphics.drawable.Drawable: ...
    def getSource(self) -> str | None: ...
    def toString(self) -> str: ...

class LeadingMarginSpan(ParagraphStyle):
    def drawLeadingMargin(self, arg1: android.graphics.Canvas, arg2: android.graphics.Paint, arg3: int | java.jint | java.lang.Integer, arg4: int | java.jint | java.lang.Integer, arg5: int | java.jint | java.lang.Integer, arg6: int | java.jint | java.lang.Integer, arg7: int | java.jint | java.lang.Integer, arg8: java.lang.CharSequence, arg9: int | java.jint | java.lang.Integer, arg10: int | java.jint | java.lang.Integer, arg11: bool | java.jboolean | java.lang.Boolean, arg12: android.text.Layout, /) -> None: ...
    def getLeadingMargin(self, arg1: bool | java.jboolean | java.lang.Boolean, /) -> int: ...

    class Standard(LeadingMarginSpan, android.text.ParcelableSpan):
        @typing.overload
        def __init__(self, every: int | java.jint | java.lang.Integer, /) -> None: ...
        @typing.overload
        def __init__(self, src: android.os.Parcel, /) -> None: ...
        @typing.overload
        def __init__(self, first: int | java.jint | java.lang.Integer, rest: int | java.jint | java.lang.Integer, /) -> None: ...
        def describeContents(self) -> int: ...
        def drawLeadingMargin(self, c: android.graphics.Canvas, p: android.graphics.Paint, x: int | java.jint | java.lang.Integer, dir: int | java.jint | java.lang.Integer, top: int | java.jint | java.lang.Integer, baseline: int | java.jint | java.lang.Integer, bottom: int | java.jint | java.lang.Integer, text: java.lang.CharSequence, start: int | java.jint | java.lang.Integer, end: int | java.jint | java.lang.Integer, first: bool | java.jboolean | java.lang.Boolean, layout: android.text.Layout, /) -> None: ...
        def getLeadingMargin(self, first: bool | java.jboolean | java.lang.Boolean, /) -> int: ...
        def getSpanTypeId(self) -> int: ...
        def writeToParcel(self, dest: android.os.Parcel, flags: int | java.jint | java.lang.Integer, /) -> None: ...

    class LeadingMarginSpan2(LeadingMarginSpan, WrapTogetherSpan):
        def getLeadingMarginLineCount(self) -> int: ...

class LineBackgroundSpan(ParagraphStyle):
    def drawBackground(self, arg1: android.graphics.Canvas, arg2: android.graphics.Paint, arg3: int | java.jint | java.lang.Integer, arg4: int | java.jint | java.lang.Integer, arg5: int | java.jint | java.lang.Integer, arg6: int | java.jint | java.lang.Integer, arg7: int | java.jint | java.lang.Integer, arg8: java.lang.CharSequence, arg9: int | java.jint | java.lang.Integer, arg10: int | java.jint | java.lang.Integer, arg11: int | java.jint | java.lang.Integer, /) -> None: ...

    class Standard(LineBackgroundSpan, android.text.ParcelableSpan):
        @typing.overload
        def __init__(self, color: int | java.jint | java.lang.Integer, /) -> None: ...
        @typing.overload
        def __init__(self, src: android.os.Parcel, /) -> None: ...
        def describeContents(self) -> int: ...
        def drawBackground(self, canvas: android.graphics.Canvas, paint: android.graphics.Paint, left: int | java.jint | java.lang.Integer, right: int | java.jint | java.lang.Integer, top: int | java.jint | java.lang.Integer, baseline: int | java.jint | java.lang.Integer, bottom: int | java.jint | java.lang.Integer, text: java.lang.CharSequence, start: int | java.jint | java.lang.Integer, end: int | java.jint | java.lang.Integer, lineNumber: int | java.jint | java.lang.Integer, /) -> None: ...
        def getColor(self) -> int: ...
        def getSpanTypeId(self) -> int: ...
        def writeToParcel(self, dest: android.os.Parcel, flags: int | java.jint | java.lang.Integer, /) -> None: ...

class LineBreakConfigSpan(android.text.ParcelableSpan):
    CREATOR: typing.ClassVar[android.os.Parcelable.Creator[LineBreakConfigSpan]] = ...
    def __init__(self, lineBreakConfig: android.graphics.text.LineBreakConfig, /) -> None: ...
    @staticmethod
    def createNoBreakSpan() -> LineBreakConfigSpan: ...
    @staticmethod
    def createNoHyphenationSpan() -> LineBreakConfigSpan: ...
    def describeContents(self) -> int: ...
    def equals(self, o: java.lang.Object | int | bool | float | str, /) -> bool: ...
    def getLineBreakConfig(self) -> android.graphics.text.LineBreakConfig: ...
    def getSpanTypeId(self) -> int: ...
    def hashCode(self) -> int: ...
    def toString(self) -> str: ...
    def writeToParcel(self, dest: android.os.Parcel, flags: int | java.jint | java.lang.Integer, /) -> None: ...

class LineHeightSpan(WrapTogetherSpan, ParagraphStyle):
    def chooseHeight(self, arg1: java.lang.CharSequence, arg2: int | java.jint | java.lang.Integer, arg3: int | java.jint | java.lang.Integer, arg4: int | java.jint | java.lang.Integer, arg5: int | java.jint | java.lang.Integer, arg6: android.graphics.Paint.FontMetricsInt, /) -> None: ...

    class WithDensity(LineHeightSpan):
        def chooseHeight(self, arg1: java.lang.CharSequence, arg2: int | java.jint | java.lang.Integer, arg3: int | java.jint | java.lang.Integer, arg4: int | java.jint | java.lang.Integer, arg5: int | java.jint | java.lang.Integer, arg6: android.graphics.Paint.FontMetricsInt, arg7: android.text.TextPaint, /) -> None: ...

    class Standard(LineHeightSpan, android.text.ParcelableSpan):
        @typing.overload
        def __init__(self, height: int | java.jint | java.lang.Integer, /) -> None: ...
        @typing.overload
        def __init__(self, src: android.os.Parcel, /) -> None: ...
        def chooseHeight(self, text: java.lang.CharSequence, start: int | java.jint | java.lang.Integer, end: int | java.jint | java.lang.Integer, spanstartv: int | java.jint | java.lang.Integer, lineHeight: int | java.jint | java.lang.Integer, fm: android.graphics.Paint.FontMetricsInt, /) -> None: ...
        def describeContents(self) -> int: ...
        def getHeight(self) -> int: ...
        def getSpanTypeId(self) -> int: ...
        def writeToParcel(self, dest: android.os.Parcel, flags: int | java.jint | java.lang.Integer, /) -> None: ...

class LocaleSpan(android.text.ParcelableSpan, MetricAffectingSpan):
    @typing.overload
    def __init__(self, locales: android.os.LocaleList, /) -> None: ...
    @typing.overload
    def __init__(self, source: android.os.Parcel, /) -> None: ...
    @typing.overload
    def __init__(self, locale: java.util.Locale, /) -> None: ...
    def describeContents(self) -> int: ...
    def getLocale(self) -> java.util.Locale | None: ...
    def getLocales(self) -> android.os.LocaleList: ...
    def getSpanTypeId(self) -> int: ...
    def toString(self) -> str: ...
    def updateDrawState(self, ds: android.text.TextPaint, /) -> None: ...
    def updateMeasureState(self, paint: android.text.TextPaint, /) -> None: ...
    def writeToParcel(self, dest: android.os.Parcel, flags: int | java.jint | java.lang.Integer, /) -> None: ...

class MaskFilterSpan(CharacterStyle, UpdateAppearance):
    def __init__(self, filter: android.graphics.MaskFilter, /) -> None: ...
    def getMaskFilter(self) -> android.graphics.MaskFilter: ...
    def toString(self) -> str: ...
    def updateDrawState(self, ds: android.text.TextPaint, /) -> None: ...

class MetricAffectingSpan(CharacterStyle, UpdateLayout):
    def __init__(self) -> None: ...
    def getUnderlying(self) -> MetricAffectingSpan: ...
    def updateMeasureState(self, arg1: android.text.TextPaint, /) -> None: ...

class NoWritingToolsSpan(android.text.ParcelableSpan):
    CREATOR: typing.ClassVar[android.os.Parcelable.Creator[NoWritingToolsSpan]] = ...
    def __init__(self) -> None: ...
    def describeContents(self) -> int: ...
    def getSpanTypeId(self) -> int: ...
    def toString(self) -> str: ...
    def writeToParcel(self, dest: android.os.Parcel, flags: int | java.jint | java.lang.Integer, /) -> None: ...

class ParagraphStyle(java.lang.Object): ...

class QuoteSpan(LeadingMarginSpan, android.text.ParcelableSpan):
    STANDARD_COLOR: typing.ClassVar[int] = ...
    STANDARD_GAP_WIDTH_PX: typing.ClassVar[int] = ...
    STANDARD_STRIPE_WIDTH_PX: typing.ClassVar[int] = ...
    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, color: int | java.jint | java.lang.Integer, /) -> None: ...
    @typing.overload
    def __init__(self, src: android.os.Parcel, /) -> None: ...
    @typing.overload
    def __init__(self, color: int | java.jint | java.lang.Integer, stripeWidth: int | java.jint | java.lang.Integer, gapWidth: int | java.jint | java.lang.Integer, /) -> None: ...
    def describeContents(self) -> int: ...
    def drawLeadingMargin(self, c: android.graphics.Canvas, p: android.graphics.Paint, x: int | java.jint | java.lang.Integer, dir: int | java.jint | java.lang.Integer, top: int | java.jint | java.lang.Integer, baseline: int | java.jint | java.lang.Integer, bottom: int | java.jint | java.lang.Integer, text: java.lang.CharSequence, start: int | java.jint | java.lang.Integer, end: int | java.jint | java.lang.Integer, first: bool | java.jboolean | java.lang.Boolean, layout: android.text.Layout, /) -> None: ...
    def getColor(self) -> int: ...
    def getGapWidth(self) -> int: ...
    def getLeadingMargin(self, first: bool | java.jboolean | java.lang.Boolean, /) -> int: ...
    def getSpanTypeId(self) -> int: ...
    def getStripeWidth(self) -> int: ...
    def toString(self) -> str: ...
    def writeToParcel(self, dest: android.os.Parcel, flags: int | java.jint | java.lang.Integer, /) -> None: ...

class RelativeSizeSpan(android.text.ParcelableSpan, MetricAffectingSpan):
    @typing.overload
    def __init__(self, proportion: float | java.jfloat | java.lang.Float, /) -> None: ...
    @typing.overload
    def __init__(self, src: android.os.Parcel, /) -> None: ...
    def describeContents(self) -> int: ...
    def getSizeChange(self) -> float: ...
    def getSpanTypeId(self) -> int: ...
    def toString(self) -> str: ...
    def updateDrawState(self, ds: android.text.TextPaint, /) -> None: ...
    def updateMeasureState(self, ds: android.text.TextPaint, /) -> None: ...
    def writeToParcel(self, dest: android.os.Parcel, flags: int | java.jint | java.lang.Integer, /) -> None: ...

class ReplacementSpan(MetricAffectingSpan):
    def __init__(self) -> None: ...
    def draw(self, arg1: android.graphics.Canvas, arg2: java.lang.CharSequence, arg3: int | java.jint | java.lang.Integer, arg4: int | java.jint | java.lang.Integer, arg5: float | java.jfloat | java.lang.Float, arg6: int | java.jint | java.lang.Integer, arg7: int | java.jint | java.lang.Integer, arg8: int | java.jint | java.lang.Integer, arg9: android.graphics.Paint, /) -> None: ...
    def getContentDescription(self) -> java.lang.CharSequence | None: ...
    def getSize(self, arg1: android.graphics.Paint, arg2: java.lang.CharSequence, arg3: int | java.jint | java.lang.Integer, arg4: int | java.jint | java.lang.Integer, arg5: android.graphics.Paint.FontMetricsInt, /) -> int: ...
    def setContentDescription(self, contentDescription: java.lang.CharSequence, /) -> None: ...
    def updateDrawState(self, ds: android.text.TextPaint, /) -> None: ...
    def updateMeasureState(self, p: android.text.TextPaint, /) -> None: ...

class ScaleXSpan(android.text.ParcelableSpan, MetricAffectingSpan):
    @typing.overload
    def __init__(self, proportion: float | java.jfloat | java.lang.Float, /) -> None: ...
    @typing.overload
    def __init__(self, src: android.os.Parcel, /) -> None: ...
    def describeContents(self) -> int: ...
    def getScaleX(self) -> float: ...
    def getSpanTypeId(self) -> int: ...
    def toString(self) -> str: ...
    def updateDrawState(self, ds: android.text.TextPaint, /) -> None: ...
    def updateMeasureState(self, ds: android.text.TextPaint, /) -> None: ...
    def writeToParcel(self, dest: android.os.Parcel, flags: int | java.jint | java.lang.Integer, /) -> None: ...

class StrikethroughSpan(android.text.ParcelableSpan, CharacterStyle, UpdateAppearance):
    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, src: android.os.Parcel, /) -> None: ...
    def describeContents(self) -> int: ...
    def getSpanTypeId(self) -> int: ...
    def toString(self) -> str: ...
    def updateDrawState(self, ds: android.text.TextPaint, /) -> None: ...
    def writeToParcel(self, dest: android.os.Parcel, flags: int | java.jint | java.lang.Integer, /) -> None: ...

class StyleSpan(android.text.ParcelableSpan, MetricAffectingSpan):
    @typing.overload
    def __init__(self, style: int | java.jint | java.lang.Integer, /) -> None: ...
    @typing.overload
    def __init__(self, src: android.os.Parcel, /) -> None: ...
    @typing.overload
    def __init__(self, style: int | java.jint | java.lang.Integer, fontWeightAdjustment: int | java.jint | java.lang.Integer, /) -> None: ...
    def describeContents(self) -> int: ...
    def getFontWeightAdjustment(self) -> int: ...
    def getSpanTypeId(self) -> int: ...
    def getStyle(self) -> int: ...
    def toString(self) -> str: ...
    def updateDrawState(self, ds: android.text.TextPaint, /) -> None: ...
    def updateMeasureState(self, paint: android.text.TextPaint, /) -> None: ...
    def writeToParcel(self, dest: android.os.Parcel, flags: int | java.jint | java.lang.Integer, /) -> None: ...

class SubscriptSpan(android.text.ParcelableSpan, MetricAffectingSpan):
    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, src: android.os.Parcel, /) -> None: ...
    def describeContents(self) -> int: ...
    def getSpanTypeId(self) -> int: ...
    def toString(self) -> str: ...
    def updateDrawState(self, textPaint: android.text.TextPaint, /) -> None: ...
    def updateMeasureState(self, textPaint: android.text.TextPaint, /) -> None: ...
    def writeToParcel(self, dest: android.os.Parcel, flags: int | java.jint | java.lang.Integer, /) -> None: ...

class SuggestionRangeSpan(android.text.ParcelableSpan, CharacterStyle):
    CREATOR: typing.ClassVar[android.os.Parcelable.Creator[SuggestionRangeSpan]] = ...
    def __init__(self) -> None: ...
    def describeContents(self) -> int: ...
    def getBackgroundColor(self) -> int: ...
    def getSpanTypeId(self) -> int: ...
    def setBackgroundColor(self, backgroundColor: int | java.jint | java.lang.Integer, /) -> None: ...
    def updateDrawState(self, tp: android.text.TextPaint, /) -> None: ...
    def writeToParcel(self, dest: android.os.Parcel, flags: int | java.jint | java.lang.Integer, /) -> None: ...

class SuggestionSpan(android.text.ParcelableSpan, CharacterStyle):
    ACTION_SUGGESTION_PICKED: typing.ClassVar[str] = ...
    CREATOR: typing.ClassVar[android.os.Parcelable.Creator[SuggestionSpan]] = ...
    FLAG_AUTO_CORRECTION: typing.ClassVar[int] = ...
    FLAG_EASY_CORRECT: typing.ClassVar[int] = ...
    FLAG_GRAMMAR_ERROR: typing.ClassVar[int] = ...
    FLAG_MISSPELLED: typing.ClassVar[int] = ...
    SUGGESTIONS_MAX_SIZE: typing.ClassVar[int] = ...
    SUGGESTION_SPAN_PICKED_AFTER: typing.ClassVar[str] = ...
    SUGGESTION_SPAN_PICKED_BEFORE: typing.ClassVar[str] = ...
    SUGGESTION_SPAN_PICKED_HASHCODE: typing.ClassVar[str] = ...
    @typing.overload
    def __init__(self, src: android.os.Parcel, /) -> None: ...
    @typing.overload
    def __init__(self, context: android.content.Context, suggestions: java.chaquopy.JavaArray[java.lang.String], flags: int | java.jint | java.lang.Integer, /) -> None: ...
    @typing.overload
    def __init__(self, locale: java.util.Locale, suggestions: java.chaquopy.JavaArray[java.lang.String], flags: int | java.jint | java.lang.Integer, /) -> None: ...
    @typing.overload
    def __init__(self, context: android.content.Context, locale: java.util.Locale, suggestions: java.chaquopy.JavaArray[java.lang.String], flags: int | java.jint | java.lang.Integer, notificationTargetClass: typing.Type[java.lang.Object], /) -> None: ...
    def describeContents(self) -> int: ...
    def equals(self, o: java.lang.Object | int | bool | float | str, /) -> bool: ...
    def getFlags(self) -> int: ...
    def getLocale(self) -> str: ...
    def getLocaleObject(self) -> java.util.Locale | None: ...
    def getSpanTypeId(self) -> int: ...
    def getSuggestions(self) -> java.chaquopy.JavaArray[java.lang.String]: ...
    def getUnderlineColor(self) -> int: ...
    def hashCode(self) -> int: ...
    def setFlags(self, flags: int | java.jint | java.lang.Integer, /) -> None: ...
    def updateDrawState(self, tp: android.text.TextPaint, /) -> None: ...
    def writeToParcel(self, dest: android.os.Parcel, flags: int | java.jint | java.lang.Integer, /) -> None: ...

class SuperscriptSpan(android.text.ParcelableSpan, MetricAffectingSpan):
    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, src: android.os.Parcel, /) -> None: ...
    def describeContents(self) -> int: ...
    def getSpanTypeId(self) -> int: ...
    def toString(self) -> str: ...
    def updateDrawState(self, textPaint: android.text.TextPaint, /) -> None: ...
    def updateMeasureState(self, textPaint: android.text.TextPaint, /) -> None: ...
    def writeToParcel(self, dest: android.os.Parcel, flags: int | java.jint | java.lang.Integer, /) -> None: ...

class TabStopSpan(ParagraphStyle):
    def getTabStop(self) -> int: ...

    class Standard(TabStopSpan):
        def __init__(self, offset: int | java.jint | java.lang.Integer, /) -> None: ...
        def getTabStop(self) -> int: ...
        def toString(self) -> str: ...

class TextAppearanceSpan(android.text.ParcelableSpan, MetricAffectingSpan):
    @typing.overload
    def __init__(self, src: android.os.Parcel, /) -> None: ...
    @typing.overload
    def __init__(self, context: android.content.Context, appearance: int | java.jint | java.lang.Integer, /) -> None: ...
    @typing.overload
    def __init__(self, context: android.content.Context, appearance: int | java.jint | java.lang.Integer, colorList: int | java.jint | java.lang.Integer, /) -> None: ...
    @typing.overload
    def __init__(self, family: str | java.lang.String, style: int | java.jint | java.lang.Integer, size: int | java.jint | java.lang.Integer, color: android.content.res.ColorStateList, linkColor: android.content.res.ColorStateList, /) -> None: ...
    def describeContents(self) -> int: ...
    def getFamily(self) -> str: ...
    def getFontFeatureSettings(self) -> str | None: ...
    def getFontVariationSettings(self) -> str | None: ...
    def getLetterSpacing(self) -> float: ...
    def getLinkTextColor(self) -> android.content.res.ColorStateList: ...
    def getShadowColor(self) -> int: ...
    def getShadowDx(self) -> float: ...
    def getShadowDy(self) -> float: ...
    def getShadowRadius(self) -> float: ...
    def getSpanTypeId(self) -> int: ...
    def getTextColor(self) -> android.content.res.ColorStateList: ...
    def getTextFontWeight(self) -> int: ...
    def getTextLocales(self) -> android.os.LocaleList | None: ...
    def getTextSize(self) -> int: ...
    def getTextStyle(self) -> int: ...
    def getTypeface(self) -> android.graphics.Typeface | None: ...
    def isElegantTextHeight(self) -> bool: ...
    def toString(self) -> str: ...
    def updateDrawState(self, ds: android.text.TextPaint, /) -> None: ...
    def updateMeasureState(self, ds: android.text.TextPaint, /) -> None: ...
    def writeToParcel(self, dest: android.os.Parcel, flags: int | java.jint | java.lang.Integer, /) -> None: ...


_TtsSpan__SemioticClassBuilder__C = typing.TypeVar('_TtsSpan__SemioticClassBuilder__C', bound=TtsSpan.SemioticClassBuilder[java.lang.Object])  # <C>

_TtsSpan__Builder__C = typing.TypeVar('_TtsSpan__Builder__C', bound=TtsSpan.Builder[java.lang.Object])  # <C>
class TtsSpan(android.text.ParcelableSpan):
    ANIMACY_ANIMATE: typing.ClassVar[str] = ...
    ANIMACY_INANIMATE: typing.ClassVar[str] = ...
    ARG_ANIMACY: typing.ClassVar[str] = ...
    ARG_CASE: typing.ClassVar[str] = ...
    ARG_COUNTRY_CODE: typing.ClassVar[str] = ...
    ARG_CURRENCY: typing.ClassVar[str] = ...
    ARG_DAY: typing.ClassVar[str] = ...
    ARG_DENOMINATOR: typing.ClassVar[str] = ...
    ARG_DIGITS: typing.ClassVar[str] = ...
    ARG_DOMAIN: typing.ClassVar[str] = ...
    ARG_EXTENSION: typing.ClassVar[str] = ...
    ARG_FRACTIONAL_PART: typing.ClassVar[str] = ...
    ARG_FRAGMENT_ID: typing.ClassVar[str] = ...
    ARG_GENDER: typing.ClassVar[str] = ...
    ARG_HOURS: typing.ClassVar[str] = ...
    ARG_INTEGER_PART: typing.ClassVar[str] = ...
    ARG_MINUTES: typing.ClassVar[str] = ...
    ARG_MONTH: typing.ClassVar[str] = ...
    ARG_MULTIPLICITY: typing.ClassVar[str] = ...
    ARG_NUMBER: typing.ClassVar[str] = ...
    ARG_NUMBER_PARTS: typing.ClassVar[str] = ...
    ARG_NUMERATOR: typing.ClassVar[str] = ...
    ARG_PASSWORD: typing.ClassVar[str] = ...
    ARG_PATH: typing.ClassVar[str] = ...
    ARG_PORT: typing.ClassVar[str] = ...
    ARG_PROTOCOL: typing.ClassVar[str] = ...
    ARG_QUANTITY: typing.ClassVar[str] = ...
    ARG_QUERY_STRING: typing.ClassVar[str] = ...
    ARG_SECONDS: typing.ClassVar[str] = ...
    ARG_TEXT: typing.ClassVar[str] = ...
    ARG_UNIT: typing.ClassVar[str] = ...
    ARG_USERNAME: typing.ClassVar[str] = ...
    ARG_VERBATIM: typing.ClassVar[str] = ...
    ARG_WEEKDAY: typing.ClassVar[str] = ...
    ARG_YEAR: typing.ClassVar[str] = ...
    CASE_ABLATIVE: typing.ClassVar[str] = ...
    CASE_ACCUSATIVE: typing.ClassVar[str] = ...
    CASE_DATIVE: typing.ClassVar[str] = ...
    CASE_GENITIVE: typing.ClassVar[str] = ...
    CASE_INSTRUMENTAL: typing.ClassVar[str] = ...
    CASE_LOCATIVE: typing.ClassVar[str] = ...
    CASE_NOMINATIVE: typing.ClassVar[str] = ...
    CASE_VOCATIVE: typing.ClassVar[str] = ...
    GENDER_FEMALE: typing.ClassVar[str] = ...
    GENDER_MALE: typing.ClassVar[str] = ...
    GENDER_NEUTRAL: typing.ClassVar[str] = ...
    MONTH_APRIL: typing.ClassVar[int] = ...
    MONTH_AUGUST: typing.ClassVar[int] = ...
    MONTH_DECEMBER: typing.ClassVar[int] = ...
    MONTH_FEBRUARY: typing.ClassVar[int] = ...
    MONTH_JANUARY: typing.ClassVar[int] = ...
    MONTH_JULY: typing.ClassVar[int] = ...
    MONTH_JUNE: typing.ClassVar[int] = ...
    MONTH_MARCH: typing.ClassVar[int] = ...
    MONTH_MAY: typing.ClassVar[int] = ...
    MONTH_NOVEMBER: typing.ClassVar[int] = ...
    MONTH_OCTOBER: typing.ClassVar[int] = ...
    MONTH_SEPTEMBER: typing.ClassVar[int] = ...
    MULTIPLICITY_DUAL: typing.ClassVar[str] = ...
    MULTIPLICITY_PLURAL: typing.ClassVar[str] = ...
    MULTIPLICITY_SINGLE: typing.ClassVar[str] = ...
    TYPE_CARDINAL: typing.ClassVar[str] = ...
    TYPE_DATE: typing.ClassVar[str] = ...
    TYPE_DECIMAL: typing.ClassVar[str] = ...
    TYPE_DIGITS: typing.ClassVar[str] = ...
    TYPE_DURATION: typing.ClassVar[str] = ...
    TYPE_ELECTRONIC: typing.ClassVar[str] = ...
    TYPE_FRACTION: typing.ClassVar[str] = ...
    TYPE_MEASURE: typing.ClassVar[str] = ...
    TYPE_MONEY: typing.ClassVar[str] = ...
    TYPE_ORDINAL: typing.ClassVar[str] = ...
    TYPE_TELEPHONE: typing.ClassVar[str] = ...
    TYPE_TEXT: typing.ClassVar[str] = ...
    TYPE_TIME: typing.ClassVar[str] = ...
    TYPE_VERBATIM: typing.ClassVar[str] = ...
    WEEKDAY_FRIDAY: typing.ClassVar[int] = ...
    WEEKDAY_MONDAY: typing.ClassVar[int] = ...
    WEEKDAY_SATURDAY: typing.ClassVar[int] = ...
    WEEKDAY_SUNDAY: typing.ClassVar[int] = ...
    WEEKDAY_THURSDAY: typing.ClassVar[int] = ...
    WEEKDAY_TUESDAY: typing.ClassVar[int] = ...
    WEEKDAY_WEDNESDAY: typing.ClassVar[int] = ...
    @typing.overload
    def __init__(self, src: android.os.Parcel, /) -> None: ...
    @typing.overload
    def __init__(self, type: str | java.lang.String, args: android.os.PersistableBundle, /) -> None: ...
    def describeContents(self) -> int: ...
    def getArgs(self) -> android.os.PersistableBundle: ...
    def getSpanTypeId(self) -> int: ...
    def getType(self) -> str: ...
    def writeToParcel(self, dest: android.os.Parcel, flags: int | java.jint | java.lang.Integer, /) -> None: ...

    class VerbatimBuilder(TtsSpan.SemioticClassBuilder[TtsSpan.VerbatimBuilder]):
        @typing.overload
        def __init__(self) -> None: ...
        @typing.overload
        def __init__(self, verbatim: str | java.lang.String, /) -> None: ...
        def setVerbatim(self, verbatim: str | java.lang.String, /) -> TtsSpan.VerbatimBuilder: ...

    class TimeBuilder(TtsSpan.SemioticClassBuilder[TtsSpan.TimeBuilder]):
        @typing.overload
        def __init__(self) -> None: ...
        @typing.overload
        def __init__(self, hours: int | java.jint | java.lang.Integer, minutes: int | java.jint | java.lang.Integer, /) -> None: ...
        def setHours(self, hours: int | java.jint | java.lang.Integer, /) -> TtsSpan.TimeBuilder: ...
        def setMinutes(self, minutes: int | java.jint | java.lang.Integer, /) -> TtsSpan.TimeBuilder: ...
        def setSeconds(self, seconds: int | java.jint | java.lang.Integer, /) -> TtsSpan.TimeBuilder: ...

    class TextBuilder(TtsSpan.SemioticClassBuilder[TtsSpan.TextBuilder]):
        @typing.overload
        def __init__(self) -> None: ...
        @typing.overload
        def __init__(self, text: str | java.lang.String, /) -> None: ...
        def setText(self, text: str | java.lang.String, /) -> TtsSpan.TextBuilder: ...

    class TelephoneBuilder(TtsSpan.SemioticClassBuilder[TtsSpan.TelephoneBuilder]):
        @typing.overload
        def __init__(self) -> None: ...
        @typing.overload
        def __init__(self, numberParts: str | java.lang.String, /) -> None: ...
        def setCountryCode(self, countryCode: str | java.lang.String, /) -> TtsSpan.TelephoneBuilder: ...
        def setExtension(self, extension: str | java.lang.String, /) -> TtsSpan.TelephoneBuilder: ...
        def setNumberParts(self, numberParts: str | java.lang.String, /) -> TtsSpan.TelephoneBuilder: ...
    class SemioticClassBuilder(TtsSpan.Builder[_TtsSpan__SemioticClassBuilder__C], typing.Generic[_TtsSpan__SemioticClassBuilder__C]):
        def __init__(self, type: str | java.lang.String, /) -> None: ...
        def setAnimacy(self, animacy: str | java.lang.String, /) -> _TtsSpan__SemioticClassBuilder__C: ...
        def setCase(self, grammaticalCase: str | java.lang.String, /) -> _TtsSpan__SemioticClassBuilder__C: ...
        def setGender(self, gender: str | java.lang.String, /) -> _TtsSpan__SemioticClassBuilder__C: ...
        def setMultiplicity(self, multiplicity: str | java.lang.String, /) -> _TtsSpan__SemioticClassBuilder__C: ...

    class OrdinalBuilder(TtsSpan.SemioticClassBuilder[TtsSpan.OrdinalBuilder]):
        @typing.overload
        def __init__(self) -> None: ...
        @typing.overload
        def __init__(self, number: int | java.jlong | java.lang.Long, /) -> None: ...
        @typing.overload
        def __init__(self, number: str | java.lang.String, /) -> None: ...
        @typing.overload
        def setNumber(self, number: int | java.jlong | java.lang.Long, /) -> TtsSpan.OrdinalBuilder: ...
        @typing.overload
        def setNumber(self, number: str | java.lang.String, /) -> TtsSpan.OrdinalBuilder: ...

    class MoneyBuilder(TtsSpan.SemioticClassBuilder[TtsSpan.MoneyBuilder]):
        def __init__(self) -> None: ...
        def setCurrency(self, currency: str | java.lang.String, /) -> TtsSpan.MoneyBuilder: ...
        def setFractionalPart(self, fractionalPart: str | java.lang.String, /) -> TtsSpan.MoneyBuilder: ...
        @typing.overload
        def setIntegerPart(self, integerPart: int | java.jlong | java.lang.Long, /) -> TtsSpan.MoneyBuilder: ...
        @typing.overload
        def setIntegerPart(self, integerPart: str | java.lang.String, /) -> TtsSpan.MoneyBuilder: ...
        def setQuantity(self, quantity: str | java.lang.String, /) -> TtsSpan.MoneyBuilder: ...

    class MeasureBuilder(TtsSpan.SemioticClassBuilder[TtsSpan.MeasureBuilder]):
        def __init__(self) -> None: ...
        @typing.overload
        def setDenominator(self, denominator: int | java.jlong | java.lang.Long, /) -> TtsSpan.MeasureBuilder: ...
        @typing.overload
        def setDenominator(self, denominator: str | java.lang.String, /) -> TtsSpan.MeasureBuilder: ...
        def setFractionalPart(self, fractionalPart: str | java.lang.String, /) -> TtsSpan.MeasureBuilder: ...
        @typing.overload
        def setIntegerPart(self, integerPart: int | java.jlong | java.lang.Long, /) -> TtsSpan.MeasureBuilder: ...
        @typing.overload
        def setIntegerPart(self, integerPart: str | java.lang.String, /) -> TtsSpan.MeasureBuilder: ...
        @typing.overload
        def setNumber(self, number: int | java.jlong | java.lang.Long, /) -> TtsSpan.MeasureBuilder: ...
        @typing.overload
        def setNumber(self, number: str | java.lang.String, /) -> TtsSpan.MeasureBuilder: ...
        @typing.overload
        def setNumerator(self, numerator: int | java.jlong | java.lang.Long, /) -> TtsSpan.MeasureBuilder: ...
        @typing.overload
        def setNumerator(self, numerator: str | java.lang.String, /) -> TtsSpan.MeasureBuilder: ...
        def setUnit(self, unit: str | java.lang.String, /) -> TtsSpan.MeasureBuilder: ...

    class FractionBuilder(TtsSpan.SemioticClassBuilder[TtsSpan.FractionBuilder]):
        @typing.overload
        def __init__(self) -> None: ...
        @typing.overload
        def __init__(self, integerPart: int | java.jlong | java.lang.Long, numerator: int | java.jlong | java.lang.Long, denominator: int | java.jlong | java.lang.Long, /) -> None: ...
        @typing.overload
        def setDenominator(self, denominator: int | java.jlong | java.lang.Long, /) -> TtsSpan.FractionBuilder: ...
        @typing.overload
        def setDenominator(self, denominator: str | java.lang.String, /) -> TtsSpan.FractionBuilder: ...
        @typing.overload
        def setIntegerPart(self, integerPart: int | java.jlong | java.lang.Long, /) -> TtsSpan.FractionBuilder: ...
        @typing.overload
        def setIntegerPart(self, integerPart: str | java.lang.String, /) -> TtsSpan.FractionBuilder: ...
        @typing.overload
        def setNumerator(self, numerator: int | java.jlong | java.lang.Long, /) -> TtsSpan.FractionBuilder: ...
        @typing.overload
        def setNumerator(self, numerator: str | java.lang.String, /) -> TtsSpan.FractionBuilder: ...

    class ElectronicBuilder(TtsSpan.SemioticClassBuilder[TtsSpan.ElectronicBuilder]):
        def __init__(self) -> None: ...
        def setDomain(self, domain: str | java.lang.String, /) -> TtsSpan.ElectronicBuilder: ...
        def setEmailArguments(self, username: str | java.lang.String, domain: str | java.lang.String, /) -> TtsSpan.ElectronicBuilder: ...
        def setFragmentId(self, fragmentId: str | java.lang.String, /) -> TtsSpan.ElectronicBuilder: ...
        def setPassword(self, password: str | java.lang.String, /) -> TtsSpan.ElectronicBuilder: ...
        def setPath(self, path: str | java.lang.String, /) -> TtsSpan.ElectronicBuilder: ...
        def setPort(self, port: int | java.jint | java.lang.Integer, /) -> TtsSpan.ElectronicBuilder: ...
        def setProtocol(self, protocol: str | java.lang.String, /) -> TtsSpan.ElectronicBuilder: ...
        def setQueryString(self, queryString: str | java.lang.String, /) -> TtsSpan.ElectronicBuilder: ...
        def setUsername(self, username: str | java.lang.String, /) -> TtsSpan.ElectronicBuilder: ...

    class DurationBuilder(TtsSpan.SemioticClassBuilder[TtsSpan.DurationBuilder]):
        def __init__(self) -> None: ...
        def setHours(self, hours: int | java.jint | java.lang.Integer, /) -> TtsSpan.DurationBuilder: ...
        def setMinutes(self, minutes: int | java.jint | java.lang.Integer, /) -> TtsSpan.DurationBuilder: ...
        def setSeconds(self, seconds: int | java.jint | java.lang.Integer, /) -> TtsSpan.DurationBuilder: ...

    class DigitsBuilder(TtsSpan.SemioticClassBuilder[TtsSpan.DigitsBuilder]):
        @typing.overload
        def __init__(self) -> None: ...
        @typing.overload
        def __init__(self, digits: str | java.lang.String, /) -> None: ...
        def setDigits(self, digits: str | java.lang.String, /) -> TtsSpan.DigitsBuilder: ...

    class DecimalBuilder(TtsSpan.SemioticClassBuilder[TtsSpan.DecimalBuilder]):
        @typing.overload
        def __init__(self) -> None: ...
        @typing.overload
        def __init__(self, integerPart: str | java.lang.String, fractionalPart: str | java.lang.String, /) -> None: ...
        @typing.overload
        def __init__(self, number: float | java.jdouble | java.lang.Double, minimumFractionDigits: int | java.jint | java.lang.Integer, maximumFractionDigits: int | java.jint | java.lang.Integer, /) -> None: ...
        def setArgumentsFromDouble(self, number: float | java.jdouble | java.lang.Double, minimumFractionDigits: int | java.jint | java.lang.Integer, maximumFractionDigits: int | java.jint | java.lang.Integer, /) -> TtsSpan.DecimalBuilder: ...
        def setFractionalPart(self, fractionalPart: str | java.lang.String, /) -> TtsSpan.DecimalBuilder: ...
        @typing.overload
        def setIntegerPart(self, integerPart: int | java.jlong | java.lang.Long, /) -> TtsSpan.DecimalBuilder: ...
        @typing.overload
        def setIntegerPart(self, integerPart: str | java.lang.String, /) -> TtsSpan.DecimalBuilder: ...

    class DateBuilder(TtsSpan.SemioticClassBuilder[TtsSpan.DateBuilder]):
        @typing.overload
        def __init__(self) -> None: ...
        @typing.overload
        def __init__(self, weekday: int | java.jint | java.lang.Integer, day: int | java.jint | java.lang.Integer, month: int | java.jint | java.lang.Integer, year: int | java.jint | java.lang.Integer, /) -> None: ...
        def setDay(self, day: int | java.jint | java.lang.Integer, /) -> TtsSpan.DateBuilder: ...
        def setMonth(self, month: int | java.jint | java.lang.Integer, /) -> TtsSpan.DateBuilder: ...
        def setWeekday(self, weekday: int | java.jint | java.lang.Integer, /) -> TtsSpan.DateBuilder: ...
        def setYear(self, year: int | java.jint | java.lang.Integer, /) -> TtsSpan.DateBuilder: ...

    class CardinalBuilder(TtsSpan.SemioticClassBuilder[TtsSpan.CardinalBuilder]):
        @typing.overload
        def __init__(self) -> None: ...
        @typing.overload
        def __init__(self, number: int | java.jlong | java.lang.Long, /) -> None: ...
        @typing.overload
        def __init__(self, number: str | java.lang.String, /) -> None: ...
        @typing.overload
        def setNumber(self, number: int | java.jlong | java.lang.Long, /) -> TtsSpan.CardinalBuilder: ...
        @typing.overload
        def setNumber(self, number: str | java.lang.String, /) -> TtsSpan.CardinalBuilder: ...
    class Builder(java.lang.Object, typing.Generic[_TtsSpan__Builder__C]):
        def __init__(self, type: str | java.lang.String, /) -> None: ...
        def build(self) -> TtsSpan: ...
        def setIntArgument(self, arg: str | java.lang.String, value: int | java.jint | java.lang.Integer, /) -> _TtsSpan__Builder__C: ...
        def setLongArgument(self, arg: str | java.lang.String, value: int | java.jlong | java.lang.Long, /) -> _TtsSpan__Builder__C: ...
        def setStringArgument(self, arg: str | java.lang.String, value: str | java.lang.String, /) -> _TtsSpan__Builder__C: ...

class TypefaceSpan(android.text.ParcelableSpan, MetricAffectingSpan):
    @typing.overload
    def __init__(self, typeface: android.graphics.Typeface, /) -> None: ...
    @typing.overload
    def __init__(self, src: android.os.Parcel, /) -> None: ...
    @typing.overload
    def __init__(self, family: str | java.lang.String, /) -> None: ...
    def describeContents(self) -> int: ...
    def getFamily(self) -> str | None: ...
    def getSpanTypeId(self) -> int: ...
    def getTypeface(self) -> android.graphics.Typeface | None: ...
    def toString(self) -> str: ...
    def updateDrawState(self, ds: android.text.TextPaint, /) -> None: ...
    def updateMeasureState(self, paint: android.text.TextPaint, /) -> None: ...
    def writeToParcel(self, dest: android.os.Parcel, flags: int | java.jint | java.lang.Integer, /) -> None: ...

class URLSpan(android.text.ParcelableSpan, ClickableSpan):
    @typing.overload
    def __init__(self, src: android.os.Parcel, /) -> None: ...
    @typing.overload
    def __init__(self, url: str | java.lang.String, /) -> None: ...
    def describeContents(self) -> int: ...
    def getSpanTypeId(self) -> int: ...
    def getURL(self) -> str: ...
    def onClick(self, widget: android.view.View, /) -> None: ...
    def toString(self) -> str: ...
    def writeToParcel(self, dest: android.os.Parcel, flags: int | java.jint | java.lang.Integer, /) -> None: ...

class UnderlineSpan(android.text.ParcelableSpan, CharacterStyle, UpdateAppearance):
    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, src: android.os.Parcel, /) -> None: ...
    def describeContents(self) -> int: ...
    def getSpanTypeId(self) -> int: ...
    def toString(self) -> str: ...
    def updateDrawState(self, ds: android.text.TextPaint, /) -> None: ...
    def writeToParcel(self, dest: android.os.Parcel, flags: int | java.jint | java.lang.Integer, /) -> None: ...

class UpdateAppearance(java.lang.Object): ...

class UpdateLayout(UpdateAppearance): ...

class WrapTogetherSpan(ParagraphStyle): ...
