from typing import Tuple, overload User = str Host = str Resource = str # Note: these typings are incomplete and evolve as needed. class JID: user: User host: Host resource: Resource @overload def __init__(self, str: str, tuple: None = None) -> None: ... @overload def __init__(self, str: None, tuple: Tuple[User, Host, Resource]) -> None: ... def userhost(self) -> str: ... def userhostJID(self) -> "JID": ... def full(self) -> str: ...