import typing

import android.os
import android.telephony.ims.feature
import java
import java.lang
import java.util
import java.util.concurrent
import java.util.function

class ImsException(java.lang.Exception):
    CODE_ERROR_INVALID_SUBSCRIPTION: typing.ClassVar[int] = ...
    CODE_ERROR_SERVICE_UNAVAILABLE: typing.ClassVar[int] = ...
    CODE_ERROR_UNSPECIFIED: typing.ClassVar[int] = ...
    CODE_ERROR_UNSUPPORTED_OPERATION: typing.ClassVar[int] = ...
    def getCode(self) -> int: ...

class ImsManager(java.lang.Object):
    ACTION_WFC_IMS_REGISTRATION_ERROR: typing.ClassVar[str] = ...
    EXTRA_WFC_REGISTRATION_FAILURE_MESSAGE: typing.ClassVar[str] = ...
    EXTRA_WFC_REGISTRATION_FAILURE_TITLE: typing.ClassVar[str] = ...
    def getImsMmTelManager(self, subscriptionId: int | java.jint | java.lang.Integer, /) -> ImsMmTelManager: ...
    def getImsRcsManager(self, subscriptionId: int | java.jint | java.lang.Integer, /) -> ImsRcsManager: ...
    def getProvisioningManager(self, subscriptionId: int | java.jint | java.lang.Integer, /) -> ProvisioningManager: ...

class ImsMmTelManager(RegistrationManager):
    WIFI_MODE_CELLULAR_PREFERRED: typing.ClassVar[int] = ...
    WIFI_MODE_WIFI_ONLY: typing.ClassVar[int] = ...
    WIFI_MODE_WIFI_PREFERRED: typing.ClassVar[int] = ...
    def getRegistrationState(self, executor: java.util.concurrent.Executor, stateCallback: java.util.function.Consumer[java.lang.Integer], /) -> None: ...
    def getRegistrationTransportType(self, executor: java.util.concurrent.Executor, transportTypeCallback: java.util.function.Consumer[java.lang.Integer], /) -> None: ...
    def getVoWiFiModeSetting(self) -> int: ...
    def isAdvancedCallingSettingEnabled(self) -> bool: ...
    def isCrossSimCallingEnabled(self) -> bool: ...
    def isTtyOverVolteEnabled(self) -> bool: ...
    def isVoWiFiRoamingSettingEnabled(self) -> bool: ...
    def isVoWiFiSettingEnabled(self) -> bool: ...
    def isVtSettingEnabled(self) -> bool: ...
    def registerImsRegistrationCallback(self, executor: java.util.concurrent.Executor, c: RegistrationManager.RegistrationCallback, /) -> None: ...
    def registerImsStateCallback(self, executor: java.util.concurrent.Executor, callback: ImsStateCallback, /) -> None: ...
    def registerMmTelCapabilityCallback(self, executor: java.util.concurrent.Executor, c: ImsMmTelManager.CapabilityCallback, /) -> None: ...
    def unregisterImsRegistrationCallback(self, c: RegistrationManager.RegistrationCallback, /) -> None: ...
    def unregisterImsStateCallback(self, callback: ImsStateCallback, /) -> None: ...
    def unregisterMmTelCapabilityCallback(self, c: ImsMmTelManager.CapabilityCallback, /) -> None: ...

    class CapabilityCallback(java.lang.Object):
        def __init__(self) -> None: ...
        def onCapabilitiesStatusChanged(self, capabilities: android.telephony.ims.feature.MmTelFeature.MmTelCapabilities, /) -> None: ...

class ImsRcsManager(java.lang.Object):
    ACTION_SHOW_CAPABILITY_DISCOVERY_OPT_IN: typing.ClassVar[str] = ...
    CAPABILITY_TYPE_NONE: typing.ClassVar[int] = ...
    CAPABILITY_TYPE_OPTIONS_UCE: typing.ClassVar[int] = ...
    CAPABILITY_TYPE_PRESENCE_UCE: typing.ClassVar[int] = ...
    def getRegistrationState(self, executor: java.util.concurrent.Executor, stateCallback: java.util.function.Consumer[java.lang.Integer], /) -> None: ...
    def getRegistrationTransportType(self, executor: java.util.concurrent.Executor, transportTypeCallback: java.util.function.Consumer[java.lang.Integer], /) -> None: ...
    def getUceAdapter(self) -> RcsUceAdapter: ...
    def registerImsRegistrationCallback(self, executor: java.util.concurrent.Executor, c: RegistrationManager.RegistrationCallback, /) -> None: ...
    def registerImsStateCallback(self, executor: java.util.concurrent.Executor, callback: ImsStateCallback, /) -> None: ...
    def unregisterImsRegistrationCallback(self, c: RegistrationManager.RegistrationCallback, /) -> None: ...
    def unregisterImsStateCallback(self, callback: ImsStateCallback, /) -> None: ...

class ImsReasonInfo(android.os.Parcelable):
    CODE_ACCESS_CLASS_BLOCKED: typing.ClassVar[int] = ...
    CODE_ANSWERED_ELSEWHERE: typing.ClassVar[int] = ...
    CODE_BLACKLISTED_CALL_ID: typing.ClassVar[int] = ...
    CODE_CALL_BARRED: typing.ClassVar[int] = ...
    CODE_CALL_DROP_IWLAN_TO_LTE_UNAVAILABLE: typing.ClassVar[int] = ...
    CODE_CALL_END_CAUSE_CALL_PULL: typing.ClassVar[int] = ...
    CODE_CALL_PULL_OUT_OF_SYNC: typing.ClassVar[int] = ...
    CODE_DATA_DISABLED: typing.ClassVar[int] = ...
    CODE_DATA_LIMIT_REACHED: typing.ClassVar[int] = ...
    CODE_DIAL_MODIFIED_TO_DIAL: typing.ClassVar[int] = ...
    CODE_DIAL_MODIFIED_TO_DIAL_VIDEO: typing.ClassVar[int] = ...
    CODE_DIAL_MODIFIED_TO_SS: typing.ClassVar[int] = ...
    CODE_DIAL_MODIFIED_TO_USSD: typing.ClassVar[int] = ...
    CODE_DIAL_VIDEO_MODIFIED_TO_DIAL: typing.ClassVar[int] = ...
    CODE_DIAL_VIDEO_MODIFIED_TO_DIAL_VIDEO: typing.ClassVar[int] = ...
    CODE_DIAL_VIDEO_MODIFIED_TO_SS: typing.ClassVar[int] = ...
    CODE_DIAL_VIDEO_MODIFIED_TO_USSD: typing.ClassVar[int] = ...
    CODE_ECBM_NOT_SUPPORTED: typing.ClassVar[int] = ...
    CODE_EMERGENCY_PERM_FAILURE: typing.ClassVar[int] = ...
    CODE_EMERGENCY_TEMP_FAILURE: typing.ClassVar[int] = ...
    CODE_EPDG_TUNNEL_ESTABLISH_FAILURE: typing.ClassVar[int] = ...
    CODE_EPDG_TUNNEL_LOST_CONNECTION: typing.ClassVar[int] = ...
    CODE_EPDG_TUNNEL_REKEY_FAILURE: typing.ClassVar[int] = ...
    CODE_FDN_BLOCKED: typing.ClassVar[int] = ...
    CODE_IKEV2_AUTH_FAILURE: typing.ClassVar[int] = ...
    CODE_IMEI_NOT_ACCEPTED: typing.ClassVar[int] = ...
    CODE_IWLAN_DPD_FAILURE: typing.ClassVar[int] = ...
    CODE_LOCAL_CALL_BUSY: typing.ClassVar[int] = ...
    CODE_LOCAL_CALL_CS_RETRY_REQUIRED: typing.ClassVar[int] = ...
    CODE_LOCAL_CALL_DECLINE: typing.ClassVar[int] = ...
    CODE_LOCAL_CALL_EXCEEDED: typing.ClassVar[int] = ...
    CODE_LOCAL_CALL_RESOURCE_RESERVATION_FAILED: typing.ClassVar[int] = ...
    CODE_LOCAL_CALL_TERMINATED: typing.ClassVar[int] = ...
    CODE_LOCAL_CALL_VCC_ON_PROGRESSING: typing.ClassVar[int] = ...
    CODE_LOCAL_CALL_VOLTE_RETRY_REQUIRED: typing.ClassVar[int] = ...
    CODE_LOCAL_ENDED_BY_CONFERENCE_MERGE: typing.ClassVar[int] = ...
    CODE_LOCAL_HO_NOT_FEASIBLE: typing.ClassVar[int] = ...
    CODE_LOCAL_ILLEGAL_ARGUMENT: typing.ClassVar[int] = ...
    CODE_LOCAL_ILLEGAL_STATE: typing.ClassVar[int] = ...
    CODE_LOCAL_IMS_SERVICE_DOWN: typing.ClassVar[int] = ...
    CODE_LOCAL_INTERNAL_ERROR: typing.ClassVar[int] = ...
    CODE_LOCAL_LOW_BATTERY: typing.ClassVar[int] = ...
    CODE_LOCAL_NETWORK_IP_CHANGED: typing.ClassVar[int] = ...
    CODE_LOCAL_NETWORK_NO_LTE_COVERAGE: typing.ClassVar[int] = ...
    CODE_LOCAL_NETWORK_NO_SERVICE: typing.ClassVar[int] = ...
    CODE_LOCAL_NETWORK_ROAMING: typing.ClassVar[int] = ...
    CODE_LOCAL_NOT_REGISTERED: typing.ClassVar[int] = ...
    CODE_LOCAL_NO_PENDING_CALL: typing.ClassVar[int] = ...
    CODE_LOCAL_POWER_OFF: typing.ClassVar[int] = ...
    CODE_LOCAL_SERVICE_UNAVAILABLE: typing.ClassVar[int] = ...
    CODE_LOW_BATTERY: typing.ClassVar[int] = ...
    CODE_MAXIMUM_NUMBER_OF_CALLS_REACHED: typing.ClassVar[int] = ...
    CODE_MEDIA_INIT_FAILED: typing.ClassVar[int] = ...
    CODE_MEDIA_NOT_ACCEPTABLE: typing.ClassVar[int] = ...
    CODE_MEDIA_NO_DATA: typing.ClassVar[int] = ...
    CODE_MEDIA_UNSPECIFIED: typing.ClassVar[int] = ...
    CODE_MULTIENDPOINT_NOT_SUPPORTED: typing.ClassVar[int] = ...
    CODE_NETWORK_CONGESTION: typing.ClassVar[int] = ...
    CODE_NETWORK_DETACH: typing.ClassVar[int] = ...
    CODE_NETWORK_REJECT: typing.ClassVar[int] = ...
    CODE_NETWORK_RESP_TIMEOUT: typing.ClassVar[int] = ...
    CODE_NO_CSFB_IN_CS_ROAM: typing.ClassVar[int] = ...
    CODE_NO_VALID_SIM: typing.ClassVar[int] = ...
    CODE_OEM_CAUSE_10: typing.ClassVar[int] = ...
    CODE_OEM_CAUSE_11: typing.ClassVar[int] = ...
    CODE_OEM_CAUSE_12: typing.ClassVar[int] = ...
    CODE_OEM_CAUSE_13: typing.ClassVar[int] = ...
    CODE_OEM_CAUSE_14: typing.ClassVar[int] = ...
    CODE_OEM_CAUSE_15: typing.ClassVar[int] = ...
    CODE_OEM_CAUSE_1: typing.ClassVar[int] = ...
    CODE_OEM_CAUSE_2: typing.ClassVar[int] = ...
    CODE_OEM_CAUSE_3: typing.ClassVar[int] = ...
    CODE_OEM_CAUSE_4: typing.ClassVar[int] = ...
    CODE_OEM_CAUSE_5: typing.ClassVar[int] = ...
    CODE_OEM_CAUSE_6: typing.ClassVar[int] = ...
    CODE_OEM_CAUSE_7: typing.ClassVar[int] = ...
    CODE_OEM_CAUSE_8: typing.ClassVar[int] = ...
    CODE_OEM_CAUSE_9: typing.ClassVar[int] = ...
    CODE_RADIO_ACCESS_FAILURE: typing.ClassVar[int] = ...
    CODE_RADIO_INTERNAL_ERROR: typing.ClassVar[int] = ...
    CODE_RADIO_LINK_FAILURE: typing.ClassVar[int] = ...
    CODE_RADIO_LINK_LOST: typing.ClassVar[int] = ...
    CODE_RADIO_OFF: typing.ClassVar[int] = ...
    CODE_RADIO_RELEASE_ABNORMAL: typing.ClassVar[int] = ...
    CODE_RADIO_RELEASE_NORMAL: typing.ClassVar[int] = ...
    CODE_RADIO_SETUP_FAILURE: typing.ClassVar[int] = ...
    CODE_RADIO_UPLINK_FAILURE: typing.ClassVar[int] = ...
    CODE_REGISTRATION_ERROR: typing.ClassVar[int] = ...
    CODE_REJECTED_ELSEWHERE: typing.ClassVar[int] = ...
    CODE_REJECT_1X_COLLISION: typing.ClassVar[int] = ...
    CODE_REJECT_CALL_ON_OTHER_SUB: typing.ClassVar[int] = ...
    CODE_REJECT_CALL_TYPE_NOT_ALLOWED: typing.ClassVar[int] = ...
    CODE_REJECT_CONFERENCE_TTY_NOT_ALLOWED: typing.ClassVar[int] = ...
    CODE_REJECT_INTERNAL_ERROR: typing.ClassVar[int] = ...
    CODE_REJECT_MAX_CALL_LIMIT_REACHED: typing.ClassVar[int] = ...
    CODE_REJECT_ONGOING_CALL_SETUP: typing.ClassVar[int] = ...
    CODE_REJECT_ONGOING_CALL_TRANSFER: typing.ClassVar[int] = ...
    CODE_REJECT_ONGOING_CALL_UPGRADE: typing.ClassVar[int] = ...
    CODE_REJECT_ONGOING_CALL_WAITING_DISABLED: typing.ClassVar[int] = ...
    CODE_REJECT_ONGOING_CONFERENCE_CALL: typing.ClassVar[int] = ...
    CODE_REJECT_ONGOING_CS_CALL: typing.ClassVar[int] = ...
    CODE_REJECT_ONGOING_E911_CALL: typing.ClassVar[int] = ...
    CODE_REJECT_ONGOING_ENCRYPTED_CALL: typing.ClassVar[int] = ...
    CODE_REJECT_ONGOING_HANDOVER: typing.ClassVar[int] = ...
    CODE_REJECT_QOS_FAILURE: typing.ClassVar[int] = ...
    CODE_REJECT_SERVICE_NOT_REGISTERED: typing.ClassVar[int] = ...
    CODE_REJECT_UNKNOWN: typing.ClassVar[int] = ...
    CODE_REJECT_UNSUPPORTED_SDP_HEADERS: typing.ClassVar[int] = ...
    CODE_REJECT_UNSUPPORTED_SIP_HEADERS: typing.ClassVar[int] = ...
    CODE_REJECT_VT_AVPF_NOT_ALLOWED: typing.ClassVar[int] = ...
    CODE_REJECT_VT_TTY_NOT_ALLOWED: typing.ClassVar[int] = ...
    CODE_REMOTE_CALL_DECLINE: typing.ClassVar[int] = ...
    CODE_SESSION_MODIFICATION_FAILED: typing.ClassVar[int] = ...
    CODE_SIP_ALTERNATE_EMERGENCY_CALL: typing.ClassVar[int] = ...
    CODE_SIP_AMBIGUOUS: typing.ClassVar[int] = ...
    CODE_SIP_BAD_ADDRESS: typing.ClassVar[int] = ...
    CODE_SIP_BAD_REQUEST: typing.ClassVar[int] = ...
    CODE_SIP_BUSY: typing.ClassVar[int] = ...
    CODE_SIP_CALL_OR_TRANS_DOES_NOT_EXIST: typing.ClassVar[int] = ...
    CODE_SIP_CLIENT_ERROR: typing.ClassVar[int] = ...
    CODE_SIP_EXTENSION_REQUIRED: typing.ClassVar[int] = ...
    CODE_SIP_FORBIDDEN: typing.ClassVar[int] = ...
    CODE_SIP_GLOBAL_ERROR: typing.ClassVar[int] = ...
    CODE_SIP_INTERVAL_TOO_BRIEF: typing.ClassVar[int] = ...
    CODE_SIP_LOOP_DETECTED: typing.ClassVar[int] = ...
    CODE_SIP_METHOD_NOT_ALLOWED: typing.ClassVar[int] = ...
    CODE_SIP_NOT_ACCEPTABLE: typing.ClassVar[int] = ...
    CODE_SIP_NOT_FOUND: typing.ClassVar[int] = ...
    CODE_SIP_NOT_REACHABLE: typing.ClassVar[int] = ...
    CODE_SIP_NOT_SUPPORTED: typing.ClassVar[int] = ...
    CODE_SIP_PROXY_AUTHENTICATION_REQUIRED: typing.ClassVar[int] = ...
    CODE_SIP_REDIRECTED: typing.ClassVar[int] = ...
    CODE_SIP_REQUEST_CANCELLED: typing.ClassVar[int] = ...
    CODE_SIP_REQUEST_ENTITY_TOO_LARGE: typing.ClassVar[int] = ...
    CODE_SIP_REQUEST_PENDING: typing.ClassVar[int] = ...
    CODE_SIP_REQUEST_TIMEOUT: typing.ClassVar[int] = ...
    CODE_SIP_REQUEST_URI_TOO_LARGE: typing.ClassVar[int] = ...
    CODE_SIP_SERVER_ERROR: typing.ClassVar[int] = ...
    CODE_SIP_SERVER_INTERNAL_ERROR: typing.ClassVar[int] = ...
    CODE_SIP_SERVER_TIMEOUT: typing.ClassVar[int] = ...
    CODE_SIP_SERVICE_UNAVAILABLE: typing.ClassVar[int] = ...
    CODE_SIP_TEMPRARILY_UNAVAILABLE: typing.ClassVar[int] = ...
    CODE_SIP_TOO_MANY_HOPS: typing.ClassVar[int] = ...
    CODE_SIP_TRANSACTION_DOES_NOT_EXIST: typing.ClassVar[int] = ...
    CODE_SIP_UNDECIPHERABLE: typing.ClassVar[int] = ...
    CODE_SIP_USER_MARKED_UNWANTED: typing.ClassVar[int] = ...
    CODE_SIP_USER_REJECTED: typing.ClassVar[int] = ...
    CODE_SUPP_SVC_CANCELLED: typing.ClassVar[int] = ...
    CODE_SUPP_SVC_FAILED: typing.ClassVar[int] = ...
    CODE_SUPP_SVC_REINVITE_COLLISION: typing.ClassVar[int] = ...
    CODE_TIMEOUT_1XX_WAITING: typing.ClassVar[int] = ...
    CODE_TIMEOUT_NO_ANSWER: typing.ClassVar[int] = ...
    CODE_TIMEOUT_NO_ANSWER_CALL_UPDATE: typing.ClassVar[int] = ...
    CODE_UNSPECIFIED: typing.ClassVar[int] = ...
    CODE_USER_CANCELLED_SESSION_MODIFICATION: typing.ClassVar[int] = ...
    CODE_USER_DECLINE: typing.ClassVar[int] = ...
    CODE_USER_IGNORE: typing.ClassVar[int] = ...
    CODE_USER_NOANSWER: typing.ClassVar[int] = ...
    CODE_USER_REJECTED_SESSION_MODIFICATION: typing.ClassVar[int] = ...
    CODE_USER_TERMINATED: typing.ClassVar[int] = ...
    CODE_USER_TERMINATED_BY_REMOTE: typing.ClassVar[int] = ...
    CODE_UT_CB_PASSWORD_MISMATCH: typing.ClassVar[int] = ...
    CODE_UT_NETWORK_ERROR: typing.ClassVar[int] = ...
    CODE_UT_NOT_SUPPORTED: typing.ClassVar[int] = ...
    CODE_UT_OPERATION_NOT_ALLOWED: typing.ClassVar[int] = ...
    CODE_UT_SERVICE_UNAVAILABLE: typing.ClassVar[int] = ...
    CODE_UT_SS_MODIFIED_TO_DIAL: typing.ClassVar[int] = ...
    CODE_UT_SS_MODIFIED_TO_DIAL_VIDEO: typing.ClassVar[int] = ...
    CODE_UT_SS_MODIFIED_TO_SS: typing.ClassVar[int] = ...
    CODE_UT_SS_MODIFIED_TO_USSD: typing.ClassVar[int] = ...
    CODE_WIFI_LOST: typing.ClassVar[int] = ...
    CREATOR: typing.ClassVar[android.os.Parcelable.Creator[ImsReasonInfo]] = ...
    EXTRA_CODE_CALL_RETRY_BY_SETTINGS: typing.ClassVar[int] = ...
    EXTRA_CODE_CALL_RETRY_EMERGENCY: typing.ClassVar[int] = ...
    EXTRA_CODE_CALL_RETRY_NORMAL: typing.ClassVar[int] = ...
    EXTRA_CODE_CALL_RETRY_SILENT_REDIAL: typing.ClassVar[int] = ...
    def __init__(self, code: int | java.jint | java.lang.Integer, extraCode: int | java.jint | java.lang.Integer, extraMessage: str | java.lang.String, /) -> None: ...
    def describeContents(self) -> int: ...
    def getCode(self) -> int: ...
    def getExtraCode(self) -> int: ...
    def getExtraMessage(self) -> str | None: ...
    def toString(self) -> str: ...
    def writeToParcel(self, out: android.os.Parcel, flags: int | java.jint | java.lang.Integer, /) -> None: ...

class ImsRegistrationAttributes(android.os.Parcelable):
    ATTR_EPDG_OVER_CELL_INTERNET: typing.ClassVar[int] = ...
    CREATOR: typing.ClassVar[android.os.Parcelable.Creator[ImsRegistrationAttributes]] = ...
    def describeContents(self) -> int: ...
    def equals(self, o: java.lang.Object | int | bool | float | str, /) -> bool: ...
    def getAttributeFlags(self) -> int: ...
    def getFeatureTags(self) -> java.util.Set[java.lang.String]: ...
    def getSipDetails(self) -> SipDetails | None: ...
    def getTransportType(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 ImsStateCallback(java.lang.Object):
    REASON_IMS_SERVICE_DISCONNECTED: typing.ClassVar[int] = ...
    REASON_IMS_SERVICE_NOT_READY: typing.ClassVar[int] = ...
    REASON_NO_IMS_SERVICE_CONFIGURED: typing.ClassVar[int] = ...
    REASON_SUBSCRIPTION_INACTIVE: typing.ClassVar[int] = ...
    REASON_UNKNOWN_PERMANENT_ERROR: typing.ClassVar[int] = ...
    REASON_UNKNOWN_TEMPORARY_ERROR: typing.ClassVar[int] = ...
    def __init__(self) -> None: ...
    def onAvailable(self) -> None: ...
    def onError(self) -> None: ...
    def onUnavailable(self, arg1: int | java.jint | java.lang.Integer, /) -> None: ...

class ProvisioningManager(java.lang.Object):
    def getProvisioningStatusForCapability(self, capability: int | java.jint | java.lang.Integer, tech: int | java.jint | java.lang.Integer, /) -> bool: ...
    def getRcsProvisioningStatusForCapability(self, capability: int | java.jint | java.lang.Integer, tech: int | java.jint | java.lang.Integer, /) -> bool: ...
    def isProvisioningRequiredForCapability(self, capability: int | java.jint | java.lang.Integer, tech: int | java.jint | java.lang.Integer, /) -> bool: ...
    def isRcsProvisioningRequiredForCapability(self, capability: int | java.jint | java.lang.Integer, tech: int | java.jint | java.lang.Integer, /) -> bool: ...
    def registerFeatureProvisioningChangedCallback(self, executor: java.util.concurrent.Executor, callback: ProvisioningManager.FeatureProvisioningCallback, /) -> None: ...
    def setProvisioningStatusForCapability(self, capability: int | java.jint | java.lang.Integer, tech: int | java.jint | java.lang.Integer, isProvisioned: bool | java.jboolean | java.lang.Boolean, /) -> None: ...
    def setRcsProvisioningStatusForCapability(self, capability: int | java.jint | java.lang.Integer, tech: int | java.jint | java.lang.Integer, isProvisioned: bool | java.jboolean | java.lang.Boolean, /) -> None: ...
    def unregisterFeatureProvisioningChangedCallback(self, callback: ProvisioningManager.FeatureProvisioningCallback, /) -> None: ...

    class FeatureProvisioningCallback(java.lang.Object):
        def __init__(self) -> None: ...
        def onFeatureProvisioningChanged(self, arg1: int | java.jint | java.lang.Integer, arg2: int | java.jint | java.lang.Integer, arg3: bool | java.jboolean | java.lang.Boolean, /) -> None: ...
        def onRcsFeatureProvisioningChanged(self, arg1: int | java.jint | java.lang.Integer, arg2: int | java.jint | java.lang.Integer, arg3: bool | java.jboolean | java.lang.Boolean, /) -> None: ...

class RcsUceAdapter(java.lang.Object):
    def isUceSettingEnabled(self) -> bool: ...

class RegistrationManager(java.lang.Object):
    REGISTRATION_STATE_NOT_REGISTERED: typing.ClassVar[int] = ...
    REGISTRATION_STATE_REGISTERED: typing.ClassVar[int] = ...
    REGISTRATION_STATE_REGISTERING: typing.ClassVar[int] = ...
    def getRegistrationState(self, arg1: java.util.concurrent.Executor, arg2: java.util.function.Consumer[java.lang.Integer], /) -> None: ...
    def getRegistrationTransportType(self, arg1: java.util.concurrent.Executor, arg2: java.util.function.Consumer[java.lang.Integer], /) -> None: ...
    def registerImsRegistrationCallback(self, arg1: java.util.concurrent.Executor, arg2: RegistrationManager.RegistrationCallback, /) -> None: ...
    def unregisterImsRegistrationCallback(self, arg1: RegistrationManager.RegistrationCallback, /) -> None: ...

    class RegistrationCallback(java.lang.Object):
        def __init__(self) -> None: ...
        @typing.overload
        def onRegistered(self, imsTransportType: int | java.jint | java.lang.Integer, /) -> None: ...
        @typing.overload
        def onRegistered(self, attributes: ImsRegistrationAttributes, /) -> None: ...
        @typing.overload
        def onRegistering(self, imsTransportType: int | java.jint | java.lang.Integer, /) -> None: ...
        @typing.overload
        def onRegistering(self, attributes: ImsRegistrationAttributes, /) -> None: ...
        def onTechnologyChangeFailed(self, imsTransportType: int | java.jint | java.lang.Integer, info: ImsReasonInfo, /) -> None: ...
        def onUnregistered(self, info: ImsReasonInfo, /) -> None: ...

class SipDetails(android.os.Parcelable):
    CREATOR: typing.ClassVar[android.os.Parcelable.Creator[SipDetails]] = ...
    METHOD_PUBLISH: typing.ClassVar[int] = ...
    METHOD_REGISTER: typing.ClassVar[int] = ...
    METHOD_SUBSCRIBE: typing.ClassVar[int] = ...
    METHOD_UNKNOWN: typing.ClassVar[int] = ...
    def describeContents(self) -> int: ...
    def equals(self, o: java.lang.Object | int | bool | float | str, /) -> bool: ...
    def getCSeq(self) -> int: ...
    def getCallId(self) -> str | None: ...
    def getMethod(self) -> int: ...
    def getReasonHeaderCause(self) -> int: ...
    def getReasonHeaderText(self) -> str: ...
    def getResponseCode(self) -> int: ...
    def getResponsePhrase(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: ...
