import typing

import android.graphics
import android.graphics.pdf.content
import android.os
import java
import java.lang
import java.util

class PageSelection(android.os.Parcelable):
    CREATOR: typing.ClassVar[android.os.Parcelable.Creator[PageSelection]] = ...
    def __init__(self, page: int | java.jint | java.lang.Integer, start: SelectionBoundary, stop: SelectionBoundary, selectedContents: java.util.List[android.graphics.pdf.content.PdfPageTextContent], /) -> None: ...
    def describeContents(self) -> int: ...
    def getPage(self) -> int: ...
    def getSelectedTextContents(self) -> java.util.List[android.graphics.pdf.content.PdfPageTextContent]: ...
    def getStart(self) -> SelectionBoundary: ...
    def getStop(self) -> SelectionBoundary: ...
    def writeToParcel(self, dest: android.os.Parcel, flags: int | java.jint | java.lang.Integer, /) -> None: ...

class SelectionBoundary(android.os.Parcelable):
    CREATOR: typing.ClassVar[android.os.Parcelable.Creator[SelectionBoundary]] = ...
    @typing.overload
    def __init__(self, index: int | java.jint | java.lang.Integer, /) -> None: ...
    @typing.overload
    def __init__(self, point: android.graphics.Point, /) -> None: ...
    def describeContents(self) -> int: ...
    def getIndex(self) -> int: ...
    def getIsRtl(self) -> bool: ...
    def getPoint(self) -> android.graphics.Point | None: ...
    def writeToParcel(self, dest: android.os.Parcel, flags: int | java.jint | java.lang.Integer, /) -> None: ...
