import typing

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

class WifiP2pDnsSdServiceInfo(WifiP2pServiceInfo):
    @staticmethod
    def newInstance(instanceName: str | java.lang.String, serviceType: str | java.lang.String, txtMap: java.util.Map[java.lang.String, java.lang.String], /) -> WifiP2pDnsSdServiceInfo: ...

class WifiP2pDnsSdServiceRequest(WifiP2pServiceRequest):
    @typing.overload
    @staticmethod
    def newInstance() -> WifiP2pDnsSdServiceRequest: ...
    @typing.overload
    @staticmethod
    def newInstance(serviceType: str | java.lang.String, /) -> WifiP2pDnsSdServiceRequest: ...
    @typing.overload
    @staticmethod
    def newInstance(instanceName: str | java.lang.String, serviceType: str | java.lang.String, /) -> WifiP2pDnsSdServiceRequest: ...

class WifiP2pServiceInfo(android.os.Parcelable):
    SERVICE_TYPE_ALL: typing.ClassVar[int] = ...
    SERVICE_TYPE_BONJOUR: typing.ClassVar[int] = ...
    SERVICE_TYPE_UPNP: typing.ClassVar[int] = ...
    SERVICE_TYPE_VENDOR_SPECIFIC: typing.ClassVar[int] = ...
    def __init__(self, usdConfig: WifiP2pUsdBasedServiceConfig, /) -> None: ...
    def describeContents(self) -> int: ...
    def equals(self, o: java.lang.Object | int | bool | float | str, /) -> bool: ...
    def getWifiP2pUsdBasedServiceConfig(self) -> WifiP2pUsdBasedServiceConfig: ...
    def hashCode(self) -> int: ...
    def writeToParcel(self, dest: android.os.Parcel, flags: int | java.jint | java.lang.Integer, /) -> None: ...

class WifiP2pServiceRequest(android.os.Parcelable):
    def __init__(self, usdConfig: WifiP2pUsdBasedServiceConfig, /) -> None: ...
    def describeContents(self) -> int: ...
    def equals(self, o: java.lang.Object | int | bool | float | str, /) -> bool: ...
    def getWifiP2pUsdBasedServiceConfig(self) -> WifiP2pUsdBasedServiceConfig: ...
    def hashCode(self) -> int: ...
    @typing.overload
    @staticmethod
    def newInstance(protocolType: int | java.jint | java.lang.Integer, /) -> WifiP2pServiceRequest: ...
    @typing.overload
    @staticmethod
    def newInstance(protocolType: int | java.jint | java.lang.Integer, queryData: str | java.lang.String, /) -> WifiP2pServiceRequest: ...
    def writeToParcel(self, dest: android.os.Parcel, flags: int | java.jint | java.lang.Integer, /) -> None: ...

class WifiP2pUpnpServiceInfo(WifiP2pServiceInfo):
    @staticmethod
    def newInstance(uuid: str | java.lang.String, device: str | java.lang.String, services: java.util.List[java.lang.String], /) -> WifiP2pUpnpServiceInfo: ...

class WifiP2pUpnpServiceRequest(WifiP2pServiceRequest):
    @typing.overload
    @staticmethod
    def newInstance() -> WifiP2pUpnpServiceRequest: ...
    @typing.overload
    @staticmethod
    def newInstance(st: str | java.lang.String, /) -> WifiP2pUpnpServiceRequest: ...

class WifiP2pUsdBasedServiceConfig(android.os.Parcelable):
    CREATOR: typing.ClassVar[android.os.Parcelable.Creator[WifiP2pUsdBasedServiceConfig]] = ...
    SERVICE_PROTOCOL_TYPE_BONJOUR: typing.ClassVar[int] = ...
    SERVICE_PROTOCOL_TYPE_GENERIC: typing.ClassVar[int] = ...
    def __init__(self) -> None: ...
    def describeContents(self) -> int: ...
    @staticmethod
    def getMaxAllowedServiceSpecificInfoLength() -> int: ...
    def getServiceName(self) -> str: ...
    def getServiceProtocolType(self) -> int: ...
    def getServiceSpecificInfo(self) -> java.chaquopy.JavaArrayJByte: ...
    def toString(self) -> str: ...
    def writeToParcel(self, dest: android.os.Parcel, flags: int | java.jint | java.lang.Integer, /) -> None: ...

    class Builder(java.lang.Object):
        def __init__(self, serviceName: str | java.lang.String, /) -> None: ...
        def build(self) -> WifiP2pUsdBasedServiceConfig: ...
        def setServiceProtocolType(self, serviceProtocolType: int | java.jint | java.lang.Integer, /) -> WifiP2pUsdBasedServiceConfig.Builder: ...
        def setServiceSpecificInfo(self, serviceSpecificInfo: java.chaquopy.JavaArrayJByte, /) -> WifiP2pUsdBasedServiceConfig.Builder: ...

class WifiP2pUsdBasedServiceResponse(android.os.Parcelable):
    CREATOR: typing.ClassVar[android.os.Parcelable.Creator[WifiP2pUsdBasedServiceResponse]] = ...
    def describeContents(self) -> int: ...
    def getServiceProtocolType(self) -> int: ...
    def getServiceSpecificInfo(self) -> java.chaquopy.JavaArrayJByte: ...
    def toString(self) -> str: ...
    def writeToParcel(self, dest: android.os.Parcel, flags: int | java.jint | java.lang.Integer, /) -> None: ...
