import typing

import android.os
import java
import java.chaquopy
import java.lang
import java.security
import java.security.cert
import java.util

class Credential(android.os.Parcelable):
    CREATOR: typing.ClassVar[android.os.Parcelable.Creator[Credential]] = ...
    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, source: Credential, /) -> None: ...
    def describeContents(self) -> int: ...
    def equals(self, thatObject: java.lang.Object | int | bool | float | str, /) -> bool: ...
    def getCaCertificate(self) -> java.security.cert.X509Certificate: ...
    def getCertCredential(self) -> Credential.CertificateCredential: ...
    def getClientCertificateChain(self) -> java.chaquopy.JavaArray[java.security.cert.X509Certificate]: ...
    def getClientPrivateKey(self) -> java.security.PrivateKey: ...
    def getMinimumTlsVersion(self) -> int: ...
    def getRealm(self) -> str: ...
    def getSimCredential(self) -> Credential.SimCredential: ...
    def getUserCredential(self) -> Credential.UserCredential: ...
    def hashCode(self) -> int: ...
    def setCaCertificate(self, caCertificate: java.security.cert.X509Certificate, /) -> None: ...
    def setCertCredential(self, certCredential: Credential.CertificateCredential, /) -> None: ...
    def setClientCertificateChain(self, certificateChain: java.chaquopy.JavaArray[java.security.cert.X509Certificate], /) -> None: ...
    def setClientPrivateKey(self, clientPrivateKey: java.security.PrivateKey, /) -> None: ...
    def setMinimumTlsVersion(self, tlsVersion: int | java.jint | java.lang.Integer, /) -> None: ...
    def setRealm(self, realm: str | java.lang.String, /) -> None: ...
    def setSimCredential(self, simCredential: Credential.SimCredential, /) -> None: ...
    def setUserCredential(self, userCredential: Credential.UserCredential, /) -> None: ...
    def toString(self) -> str: ...
    def writeToParcel(self, dest: android.os.Parcel, flags: int | java.jint | java.lang.Integer, /) -> None: ...

    class UserCredential(android.os.Parcelable):
        CREATOR: typing.ClassVar[android.os.Parcelable.Creator[Credential.UserCredential]] = ...
        @typing.overload
        def __init__(self) -> None: ...
        @typing.overload
        def __init__(self, source: Credential.UserCredential, /) -> None: ...
        def describeContents(self) -> int: ...
        def equals(self, thatObject: java.lang.Object | int | bool | float | str, /) -> bool: ...
        def getEapType(self) -> int: ...
        def getNonEapInnerMethod(self) -> str: ...
        def getPassword(self) -> str: ...
        def getUsername(self) -> str: ...
        def hashCode(self) -> int: ...
        def setEapType(self, eapType: int | java.jint | java.lang.Integer, /) -> None: ...
        def setNonEapInnerMethod(self, nonEapInnerMethod: str | java.lang.String, /) -> None: ...
        def setPassword(self, password: str | java.lang.String, /) -> None: ...
        def setUsername(self, username: str | java.lang.String, /) -> None: ...
        def toString(self) -> str: ...
        def writeToParcel(self, dest: android.os.Parcel, flags: int | java.jint | java.lang.Integer, /) -> None: ...

    class SimCredential(android.os.Parcelable):
        CREATOR: typing.ClassVar[android.os.Parcelable.Creator[Credential.SimCredential]] = ...
        @typing.overload
        def __init__(self) -> None: ...
        @typing.overload
        def __init__(self, source: Credential.SimCredential, /) -> None: ...
        def describeContents(self) -> int: ...
        def equals(self, thatObject: java.lang.Object | int | bool | float | str, /) -> bool: ...
        def getEapType(self) -> int: ...
        def getImsi(self) -> str: ...
        def hashCode(self) -> int: ...
        def setEapType(self, eapType: int | java.jint | java.lang.Integer, /) -> None: ...
        def setImsi(self, imsi: str | java.lang.String, /) -> None: ...
        def toString(self) -> str: ...
        def writeToParcel(self, dest: android.os.Parcel, flags: int | java.jint | java.lang.Integer, /) -> None: ...

    class CertificateCredential(android.os.Parcelable):
        CREATOR: typing.ClassVar[android.os.Parcelable.Creator[Credential.CertificateCredential]] = ...
        @typing.overload
        def __init__(self) -> None: ...
        @typing.overload
        def __init__(self, source: Credential.CertificateCredential, /) -> None: ...
        def describeContents(self) -> int: ...
        def equals(self, thatObject: java.lang.Object | int | bool | float | str, /) -> bool: ...
        def getCertSha256Fingerprint(self) -> java.chaquopy.JavaArrayJByte: ...
        def getCertType(self) -> str: ...
        def hashCode(self) -> int: ...
        def setCertSha256Fingerprint(self, certSha256Fingerprint: java.chaquopy.JavaArrayJByte, /) -> None: ...
        def setCertType(self, certType: str | java.lang.String, /) -> None: ...
        def toString(self) -> str: ...
        def writeToParcel(self, dest: android.os.Parcel, flags: int | java.jint | java.lang.Integer, /) -> None: ...

class HomeSp(android.os.Parcelable):
    CREATOR: typing.ClassVar[android.os.Parcelable.Creator[HomeSp]] = ...
    @typing.overload
    def __init__(self) -> None: ...
    @typing.overload
    def __init__(self, source: HomeSp, /) -> None: ...
    def describeContents(self) -> int: ...
    def equals(self, thatObject: java.lang.Object | int | bool | float | str, /) -> bool: ...
    def getFqdn(self) -> str: ...
    def getFriendlyName(self) -> str: ...
    def getMatchAllOis(self) -> java.chaquopy.JavaArrayJLong | None: ...
    def getMatchAnyOis(self) -> java.chaquopy.JavaArrayJLong | None: ...
    def getOtherHomePartnersList(self) -> java.util.Collection[java.lang.String]: ...
    def getRoamingConsortiumOis(self) -> java.chaquopy.JavaArrayJLong: ...
    def hashCode(self) -> int: ...
    def setFqdn(self, fqdn: str | java.lang.String, /) -> None: ...
    def setFriendlyName(self, friendlyName: str | java.lang.String, /) -> None: ...
    def setMatchAllOis(self, matchAllOis: java.chaquopy.JavaArrayJLong, /) -> None: ...
    def setMatchAnyOis(self, matchAnyOis: java.chaquopy.JavaArrayJLong, /) -> None: ...
    def setOtherHomePartnersList(self, otherHomePartners: java.util.Collection[java.lang.String], /) -> None: ...
    def setRoamingConsortiumOis(self, roamingConsortiumOis: java.chaquopy.JavaArrayJLong, /) -> None: ...
    def toString(self) -> str: ...
    def writeToParcel(self, dest: android.os.Parcel, flags: int | java.jint | java.lang.Integer, /) -> None: ...
