...
    def post(self, data: Union[bytes, Iterable[bytes]]) -> str: ...
    def ihave(self, message_id: Any, data: Union[bytes, Iterable[bytes]]) -> str: ...
    def quit(self) -> str: ...
    def login(self, user: Optional[str] = ..., password: Optional[str] = ..., usenetrc: bool = ...) -> None: ...
    def starttls(self, ssl_context: Optional[ssl.SSLContext] = ...) -> None: ...

class NNTP(_NNTPBase):
    port: int
    sock: socket.socket
    def __init__(
        self,
        host: str,
        port: int = ...,
        user: Optional[str] = ...,
        password: Optional[str] = ...,
        readermode: Optional[bool] = ...,
        usenetrc: bool = ...,
        timeout: float = ...,
    ) -> None: ...

class NNTP_SSL(_NNTPBase):
    sock: socket.socket
    def __init__(
        self,
        host: str,
        port: int = ...,
        user: Optional[str] = ...,
        password: Optional[str] = ...,
        ssl_context: Optional[ssl.SSLContext] = ...,
        readermode: Optional[bool] = ...,
        usenetrc: bool = ...,
        timeout: float = ...,
    ) -> None: ...
PK