import VASSAL.configure
import java.awt
import javax.swing
import javax.swing.event
import typing



class ToggleablePasswordConfigurer(VASSAL.configure.Configurer):
    @typing.overload
    def __init__(self, string: str, string2: str): ...
    @typing.overload
    def __init__(self, string: str, string2: str, object: typing.Any): ...
    def getControls(self) -> java.awt.Component: ...
    def getValueString(self) -> str: ...
    def setLabelVisibile(self, boolean: bool) -> None: ...
    @typing.overload
    def setValue(self, object: typing.Any) -> None: ...
    @typing.overload
    def setValue(self, string: str) -> None: ...

class ToggleablePasswordFieldPanel:
    def __init__(self, string: str, string2: str): ...
    def addPasswordFieldListener(self, documentListener: javax.swing.event.DocumentListener) -> None: ...
    def getPanel(self) -> javax.swing.JPanel: ...
    def getPassword(self) -> str: ...
    def setLabeLVisible(self, boolean: bool) -> None: ...
    def setPassword(self, string: str) -> None: ...


class __module_protocol__(typing.Protocol):
    # A module protocol which reflects the result of ``jp.JPackage("VASSAL.configure.password")``.

    ToggleablePasswordConfigurer: typing.Type[ToggleablePasswordConfigurer]
    ToggleablePasswordFieldPanel: typing.Type[ToggleablePasswordFieldPanel]
