import typing

import android.app
import android.content
import android.graphics.drawable
import android.os
import java
import java.lang

class Tile(android.os.Parcelable):
    CREATOR: typing.ClassVar[android.os.Parcelable.Creator[Tile]] = ...
    STATE_ACTIVE: typing.ClassVar[int] = ...
    STATE_INACTIVE: typing.ClassVar[int] = ...
    STATE_UNAVAILABLE: typing.ClassVar[int] = ...
    def describeContents(self) -> int: ...
    def getActivityLaunchForClick(self) -> android.app.PendingIntent | None: ...
    def getContentDescription(self) -> java.lang.CharSequence: ...
    def getIcon(self) -> android.graphics.drawable.Icon: ...
    def getLabel(self) -> java.lang.CharSequence: ...
    def getState(self) -> int: ...
    def getStateDescription(self) -> java.lang.CharSequence | None: ...
    def getSubtitle(self) -> java.lang.CharSequence | None: ...
    def setActivityLaunchForClick(self, pendingIntent: android.app.PendingIntent, /) -> None: ...
    def setContentDescription(self, contentDescription: java.lang.CharSequence, /) -> None: ...
    def setIcon(self, icon: android.graphics.drawable.Icon, /) -> None: ...
    def setLabel(self, label: java.lang.CharSequence, /) -> None: ...
    def setState(self, state: int | java.jint | java.lang.Integer, /) -> None: ...
    def setStateDescription(self, stateDescription: java.lang.CharSequence, /) -> None: ...
    def setSubtitle(self, subtitle: java.lang.CharSequence, /) -> None: ...
    def updateTile(self) -> None: ...
    def writeToParcel(self, dest: android.os.Parcel, flags: int | java.jint | java.lang.Integer, /) -> None: ...

class TileService(android.app.Service):
    ACTION_QS_TILE: typing.ClassVar[str] = ...
    ACTION_QS_TILE_PREFERENCES: typing.ClassVar[str] = ...
    META_DATA_ACTIVE_TILE: typing.ClassVar[str] = ...
    META_DATA_TOGGLEABLE_TILE: typing.ClassVar[str] = ...
    def __init__(self) -> None: ...
    def getQsTile(self) -> Tile: ...
    def isLocked(self) -> bool: ...
    def isSecure(self) -> bool: ...
    def onBind(self, intent: android.content.Intent, /) -> android.os.IBinder: ...
    def onClick(self) -> None: ...
    def onDestroy(self) -> None: ...
    def onStartListening(self) -> None: ...
    def onStopListening(self) -> None: ...
    def onTileAdded(self) -> None: ...
    def onTileRemoved(self) -> None: ...
    @staticmethod
    def requestListeningState(context: android.content.Context, component: android.content.ComponentName, /) -> None: ...
    def showDialog(self, dialog: android.app.Dialog, /) -> None: ...
    @typing.overload
    def startActivityAndCollapse(self, pendingIntent: android.app.PendingIntent, /) -> None: ...
    @typing.overload
    def startActivityAndCollapse(self, intent: android.content.Intent, /) -> None: ...
    def unlockAndRun(self, runnable: java.lang.Runnable, /) -> None: ...
