import typing

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

class DownloadableSubscription(android.os.Parcelable):
    CREATOR: typing.ClassVar[android.os.Parcelable.Creator[DownloadableSubscription]] = ...
    def describeContents(self) -> int: ...
    @staticmethod
    def forActivationCode(encodedActivationCode: str | java.lang.String, /) -> DownloadableSubscription: ...
    def getConfirmationCode(self) -> str | None: ...
    def getEncodedActivationCode(self) -> str | None: ...
    def writeToParcel(self, dest: android.os.Parcel, flags: int | java.jint | java.lang.Integer, /) -> None: ...

    class Builder(java.lang.Object):
        @typing.overload
        def __init__(self, baseSubscription: DownloadableSubscription, /) -> None: ...
        @typing.overload
        def __init__(self, encodedActivationCode: str | java.lang.String, /) -> None: ...
        def build(self) -> DownloadableSubscription: ...
        def setConfirmationCode(self, value: str | java.lang.String, /) -> DownloadableSubscription.Builder: ...
        def setEncodedActivationCode(self, value: str | java.lang.String, /) -> DownloadableSubscription.Builder: ...

class EuiccInfo(android.os.Parcelable):
    CREATOR: typing.ClassVar[android.os.Parcelable.Creator[EuiccInfo]] = ...
    def __init__(self, osVersion: str | java.lang.String, /) -> None: ...
    def describeContents(self) -> int: ...
    def getOsVersion(self) -> str | None: ...
    def writeToParcel(self, dest: android.os.Parcel, flags: int | java.jint | java.lang.Integer, /) -> None: ...

class EuiccManager(java.lang.Object):
    ACTION_MANAGE_EMBEDDED_SUBSCRIPTIONS: typing.ClassVar[str] = ...
    ACTION_NOTIFY_CARRIER_SETUP_INCOMPLETE: typing.ClassVar[str] = ...
    ACTION_START_EUICC_ACTIVATION: typing.ClassVar[str] = ...
    EMBEDDED_SUBSCRIPTION_RESULT_ERROR: typing.ClassVar[int] = ...
    EMBEDDED_SUBSCRIPTION_RESULT_OK: typing.ClassVar[int] = ...
    EMBEDDED_SUBSCRIPTION_RESULT_RESOLVABLE_ERROR: typing.ClassVar[int] = ...
    ERROR_ADDRESS_MISSING: typing.ClassVar[int] = ...
    ERROR_CARRIER_LOCKED: typing.ClassVar[int] = ...
    ERROR_CERTIFICATE_ERROR: typing.ClassVar[int] = ...
    ERROR_CONNECTION_ERROR: typing.ClassVar[int] = ...
    ERROR_DISALLOWED_BY_PPR: typing.ClassVar[int] = ...
    ERROR_EUICC_INSUFFICIENT_MEMORY: typing.ClassVar[int] = ...
    ERROR_EUICC_MISSING: typing.ClassVar[int] = ...
    ERROR_INCOMPATIBLE_CARRIER: typing.ClassVar[int] = ...
    ERROR_INSTALL_PROFILE: typing.ClassVar[int] = ...
    ERROR_INVALID_ACTIVATION_CODE: typing.ClassVar[int] = ...
    ERROR_INVALID_CONFIRMATION_CODE: typing.ClassVar[int] = ...
    ERROR_INVALID_PORT: typing.ClassVar[int] = ...
    ERROR_INVALID_RESPONSE: typing.ClassVar[int] = ...
    ERROR_NO_PROFILES_AVAILABLE: typing.ClassVar[int] = ...
    ERROR_OPERATION_BUSY: typing.ClassVar[int] = ...
    ERROR_SIM_MISSING: typing.ClassVar[int] = ...
    ERROR_TIME_OUT: typing.ClassVar[int] = ...
    ERROR_UNSUPPORTED_VERSION: typing.ClassVar[int] = ...
    EUICC_MEMORY_FIELD_UNAVAILABLE: typing.ClassVar[int] = ...
    EXTRA_EMBEDDED_SUBSCRIPTION_DETAILED_CODE: typing.ClassVar[str] = ...
    EXTRA_EMBEDDED_SUBSCRIPTION_DOWNLOADABLE_SUBSCRIPTION: typing.ClassVar[str] = ...
    EXTRA_EMBEDDED_SUBSCRIPTION_ERROR_CODE: typing.ClassVar[str] = ...
    EXTRA_EMBEDDED_SUBSCRIPTION_OPERATION_CODE: typing.ClassVar[str] = ...
    EXTRA_EMBEDDED_SUBSCRIPTION_SMDX_REASON_CODE: typing.ClassVar[str] = ...
    EXTRA_EMBEDDED_SUBSCRIPTION_SMDX_SUBJECT_CODE: typing.ClassVar[str] = ...
    EXTRA_USE_QR_SCANNER: typing.ClassVar[str] = ...
    META_DATA_CARRIER_ICON: typing.ClassVar[str] = ...
    OPERATION_APDU: typing.ClassVar[int] = ...
    OPERATION_DOWNLOAD: typing.ClassVar[int] = ...
    OPERATION_EUICC_CARD: typing.ClassVar[int] = ...
    OPERATION_EUICC_GSMA: typing.ClassVar[int] = ...
    OPERATION_HTTP: typing.ClassVar[int] = ...
    OPERATION_METADATA: typing.ClassVar[int] = ...
    OPERATION_SIM_SLOT: typing.ClassVar[int] = ...
    OPERATION_SMDX: typing.ClassVar[int] = ...
    OPERATION_SMDX_SUBJECT_REASON_CODE: typing.ClassVar[int] = ...
    OPERATION_SWITCH: typing.ClassVar[int] = ...
    OPERATION_SYSTEM: typing.ClassVar[int] = ...
    def createForCardId(self, cardId: int | java.jint | java.lang.Integer, /) -> EuiccManager: ...
    def deleteSubscription(self, subscriptionId: int | java.jint | java.lang.Integer, callbackIntent: android.app.PendingIntent, /) -> None: ...
    def downloadSubscription(self, subscription: DownloadableSubscription, switchAfterDownload: bool | java.jboolean | java.lang.Boolean, callbackIntent: android.app.PendingIntent, /) -> None: ...
    def getAvailableMemoryInBytes(self) -> int: ...
    def getEid(self) -> str | None: ...
    def getEuiccInfo(self) -> EuiccInfo | None: ...
    def isEnabled(self) -> bool: ...
    def isSimPortAvailable(self, portIndex: int | java.jint | java.lang.Integer, /) -> bool: ...
    def startResolutionActivity(self, activity: android.app.Activity, requestCode: int | java.jint | java.lang.Integer, resultIntent: android.content.Intent, callbackIntent: android.app.PendingIntent, /) -> None: ...
    @typing.overload
    def switchToSubscription(self, subscriptionId: int | java.jint | java.lang.Integer, callbackIntent: android.app.PendingIntent, /) -> None: ...
    @typing.overload
    def switchToSubscription(self, subscriptionId: int | java.jint | java.lang.Integer, portIndex: int | java.jint | java.lang.Integer, callbackIntent: android.app.PendingIntent, /) -> None: ...
    def updateSubscriptionNickname(self, subscriptionId: int | java.jint | java.lang.Integer, nickname: str | java.lang.String, callbackIntent: android.app.PendingIntent, /) -> None: ...
