import typing

import android.content.res
import android.os
import java
import java.lang
import java.util

class FabricatedOverlay(java.lang.Object):
    def __init__(self, overlayName: str | java.lang.String, targetPackage: str | java.lang.String, /) -> None: ...
    def getIdentifier(self) -> OverlayIdentifier: ...
    def setNinePatchResourceValue(self, resourceName: str | java.lang.String, value: android.os.ParcelFileDescriptor, configuration: str | java.lang.String, /) -> None: ...
    @typing.overload
    def setResourceValue(self, resourceName: str | java.lang.String, value: android.content.res.AssetFileDescriptor, configuration: str | java.lang.String, /) -> None: ...
    @typing.overload
    def setResourceValue(self, resourceName: str | java.lang.String, value: android.os.ParcelFileDescriptor, configuration: str | java.lang.String, /) -> None: ...
    @typing.overload
    def setResourceValue(self, resourceName: str | java.lang.String, dataType: int | java.jint | java.lang.Integer, value: int | java.jint | java.lang.Integer, configuration: str | java.lang.String, /) -> None: ...
    @typing.overload
    def setResourceValue(self, resourceName: str | java.lang.String, dataType: int | java.jint | java.lang.Integer, value: str | java.lang.String, configuration: str | java.lang.String, /) -> None: ...
    def setTargetOverlayable(self, targetOverlayable: str | java.lang.String, /) -> None: ...

class OverlayIdentifier(android.os.Parcelable):
    CREATOR: typing.ClassVar[android.os.Parcelable.Creator[OverlayIdentifier]] = ...
    def describeContents(self) -> int: ...
    def equals(self, o: java.lang.Object | int | bool | float | str, /) -> bool: ...
    def hashCode(self) -> int: ...
    def toString(self) -> str: ...
    def writeToParcel(self, dest: android.os.Parcel, flags: int | java.jint | java.lang.Integer, /) -> None: ...

class OverlayInfo(android.os.Parcelable):
    CREATOR: typing.ClassVar[android.os.Parcelable.Creator[OverlayInfo]] = ...
    def describeContents(self) -> int: ...
    def equals(self, obj: java.lang.Object | int | bool | float | str, /) -> bool: ...
    def getOverlayIdentifier(self) -> OverlayIdentifier: ...
    def getOverlayName(self) -> str | None: ...
    def getTargetOverlayableName(self) -> str | None: ...
    def getTargetPackageName(self) -> str: ...
    def hashCode(self) -> int: ...
    def toString(self) -> str: ...
    def writeToParcel(self, dest: android.os.Parcel, flags: int | java.jint | java.lang.Integer, /) -> None: ...

class OverlayManager(java.lang.Object):
    def commit(self, transaction: OverlayManagerTransaction, /) -> None: ...
    def getOverlayInfosForTarget(self, targetPackageName: str | java.lang.String, /) -> java.util.List[OverlayInfo]: ...

class OverlayManagerTransaction(android.os.Parcelable):
    CREATOR: typing.ClassVar[android.os.Parcelable.Creator[OverlayManagerTransaction]] = ...
    def describeContents(self) -> int: ...
    @staticmethod
    def newInstance() -> OverlayManagerTransaction: ...
    def registerFabricatedOverlay(self, overlay: FabricatedOverlay, /) -> None: ...
    def toString(self) -> str: ...
    def unregisterFabricatedOverlay(self, overlay: OverlayIdentifier, /) -> None: ...
    def writeToParcel(self, dest: android.os.Parcel, flags: int | java.jint | java.lang.Integer, /) -> None: ...
