# Stubs for rfc822 (Python 2)
#
# Based on stub generated by stubgen.

from typing import Any

class Message:
    fp = ...  # type: Any
    seekable = ...  # type: Any
    startofheaders = ...  # type: Any
    startofbody = ...  # type: Any
    def __init__(self, fp, seekable=1): ...
    def rewindbody(self): ...
    dict = ...  # type: Any
    unixfrom = ...  # type: Any
    headers = ...  # type: Any
    status = ...  # type: Any
    def readheaders(self): ...
    def isheader(self, line): ...
    def islast(self, line): ...
    def iscomment(self, line): ...
    def getallmatchingheaders(self, name): ...
    def getfirstmatchingheader(self, name): ...
    def getrawheader(self, name): ...
    def getheader(self, name, default=None): ...
    get = ...  # type: Any
    def getheaders(self, name): ...
    def getaddr(self, name): ...
    def getaddrlist(self, name): ...
    def getdate(self, name): ...
    def getdate_tz(self, name): ...
    def __len__(self): ...
    def __getitem__(self, name): ...
    def __setitem__(self, name, value): ...
    def __delitem__(self, name): ...
    def setdefault(self, name, default=...): ...
    def has_key(self, name): ...
    def __contains__(self, name): ...
    def __iter__(self): ...
    def keys(self): ...
    def values(self): ...
    def items(self): ...

class AddrlistClass:
    specials = ...  # type: Any
    pos = ...  # type: Any
    LWS = ...  # type: Any
    CR = ...  # type: Any
    atomends = ...  # type: Any
    phraseends = ...  # type: Any
    field = ...  # type: Any
    commentlist = ...  # type: Any
    def __init__(self, field): ...
    def gotonext(self): ...
    def getaddrlist(self): ...
    def getaddress(self): ...
    def getrouteaddr(self): ...
    def getaddrspec(self): ...
    def getdomain(self): ...
    def getdelimited(self, beginchar, endchars, allowcomments=1): ...
    def getquote(self): ...
    def getcomment(self): ...
    def getdomainliteral(self): ...
    def getatom(self, atomends=None): ...
    def getphraselist(self): ...

class AddressList(AddrlistClass):
    addresslist = ...  # type: Any
    def __init__(self, field): ...
    def __len__(self): ...
    def __add__(self, other): ...
    def __iadd__(self, other): ...
    def __sub__(self, other): ...
    def __isub__(self, other): ...
    def __getitem__(self, index): ...

def parsedate_tz(data): ...
def parsedate(data): ...
def mktime_tz(data): ...
