import java.io
import java.lang
import java.util
import jpype.protocol
import org.ergoplatform.appkit
import typing



class ApiConfig:
    def __init__(self): ...
    def getApiKey(self) -> java.lang.String: ...
    def getApiUrl(self) -> java.lang.String: ...

class ErgoNodeConfig:
    def __init__(self): ...
    def getNetworkType(self) -> org.ergoplatform.appkit.NetworkType: ...
    def getNodeApi(self) -> ApiConfig: ...
    def getWallet(self) -> 'WalletConfig': ...

class ErgoToolConfig:
    def __init__(self): ...
    def getNode(self) -> ErgoNodeConfig: ...
    def getParameters(self) -> 'ToolParameters': ...
    @typing.overload
    @staticmethod
    def load(file: typing.Union[java.io.File, jpype.protocol.SupportsPath]) -> 'ErgoToolConfig': ...
    @typing.overload
    @staticmethod
    def load(reader: java.io.Reader) -> 'ErgoToolConfig': ...
    @typing.overload
    @staticmethod
    def load(string: typing.Union[java.lang.String, str]) -> 'ErgoToolConfig': ...

class ToolParameters(java.util.HashMap[java.lang.String, java.lang.String]):
    def __init__(self): ...
    def equals(self, object: typing.Any) -> bool: ...
    def hashCode(self) -> int: ...
    def toString(self) -> java.lang.String: ...

class WalletConfig:
    def __init__(self): ...
    def getMnemonic(self) -> java.lang.String: ...
    def getMnemonicPassword(self) -> java.lang.String: ...
    def getPassword(self) -> java.lang.String: ...


class __module_protocol__(typing.Protocol):
    # A module protocol which reflects the result of ``jp.JPackage("org.ergoplatform.appkit.config")``.

    ApiConfig: typing.Type[ApiConfig]
    ErgoNodeConfig: typing.Type[ErgoNodeConfig]
    ErgoToolConfig: typing.Type[ErgoToolConfig]
    ToolParameters: typing.Type[ToolParameters]
    WalletConfig: typing.Type[WalletConfig]
