# Stubs for email._header_value_parser (Python 3.4)
#
# NOTE: This dynamically typed stub was automatically generated by stubgen.

from typing import Undefined, Any

WSP = Undefined(Any)
CFWS_LEADER = Undefined(Any)
SPECIALS = Undefined(Any)
ATOM_ENDS = Undefined(Any)
DOT_ATOM_ENDS = Undefined(Any)
PHRASE_ENDS = Undefined(Any)
TSPECIALS = Undefined(Any)
TOKEN_ENDS = Undefined(Any)
ASPECIALS = Undefined(Any)
ATTRIBUTE_ENDS = Undefined(Any)
EXTENDED_ATTRIBUTE_ENDS = Undefined(Any)

def quote_string(value): pass

class _Folded:
    maxlen = Undefined(Any)
    policy = Undefined(Any)
    lastlen = Undefined(Any)
    stickyspace = Undefined(Any)
    firstline = Undefined(Any)
    done = Undefined(Any)
    current = Undefined(Any)
    def __init__(self, maxlen, policy): pass
    def newline(self): pass
    def finalize(self): pass
    def append(self, stoken): pass
    def append_if_fits(self, token, stoken=None): pass

class TokenList(list):
    token_type = Undefined(Any)
    defects = Undefined(Any)
    def __init__(self, *args, **kw): pass
    @property
    def value(self): pass
    @property
    def all_defects(self): pass
    @property
    def parts(self): pass
    def startswith_fws(self): pass
    def pop_leading_fws(self): pass
    def pop_trailing_ws(self): pass
    @property
    def has_fws(self): pass
    def has_leading_comment(self): pass
    @property
    def comments(self): pass
    def fold(self, policy): pass
    def as_encoded_word(self, charset): pass
    def cte_encode(self, charset, policy): pass
    def pprint(self, indent=''): pass
    def ppstr(self, indent=''): pass

class WhiteSpaceTokenList(TokenList):
    @property
    def value(self): pass
    @property
    def comments(self): pass

class UnstructuredTokenList(TokenList):
    token_type = Undefined(Any)
    def cte_encode(self, charset, policy): pass

class Phrase(TokenList):
    token_type = Undefined(Any)
    def cte_encode(self, charset, policy): pass

class Word(TokenList):
    token_type = Undefined(Any)

class CFWSList(WhiteSpaceTokenList):
    token_type = Undefined(Any)
    def has_leading_comment(self): pass

class Atom(TokenList):
    token_type = Undefined(Any)

class Token(TokenList):
    token_type = Undefined(Any)

class EncodedWord(TokenList):
    token_type = Undefined(Any)
    cte = Undefined(Any)
    charset = Undefined(Any)
    lang = Undefined(Any)
    @property
    def encoded(self): pass

class QuotedString(TokenList):
    token_type = Undefined(Any)
    @property
    def content(self): pass
    @property
    def quoted_value(self): pass
    @property
    def stripped_value(self): pass

class BareQuotedString(QuotedString):
    token_type = Undefined(Any)
    @property
    def value(self): pass

class Comment(WhiteSpaceTokenList):
    token_type = Undefined(Any)
    def quote(self, value): pass
    @property
    def content(self): pass
    @property
    def comments(self): pass

class AddressList(TokenList):
    token_type = Undefined(Any)
    @property
    def addresses(self): pass
    @property
    def mailboxes(self): pass
    @property
    def all_mailboxes(self): pass

class Address(TokenList):
    token_type = Undefined(Any)
    @property
    def display_name(self): pass
    @property
    def mailboxes(self): pass
    @property
    def all_mailboxes(self): pass

class MailboxList(TokenList):
    token_type = Undefined(Any)
    @property
    def mailboxes(self): pass
    @property
    def all_mailboxes(self): pass

class GroupList(TokenList):
    token_type = Undefined(Any)
    @property
    def mailboxes(self): pass
    @property
    def all_mailboxes(self): pass

class Group(TokenList):
    token_type = Undefined(Any)
    @property
    def mailboxes(self): pass
    @property
    def all_mailboxes(self): pass
    @property
    def display_name(self): pass

class NameAddr(TokenList):
    token_type = Undefined(Any)
    @property
    def display_name(self): pass
    @property
    def local_part(self): pass
    @property
    def domain(self): pass
    @property
    def route(self): pass
    @property
    def addr_spec(self): pass

class AngleAddr(TokenList):
    token_type = Undefined(Any)
    @property
    def local_part(self): pass
    @property
    def domain(self): pass
    @property
    def route(self): pass
    @property
    def addr_spec(self): pass

class ObsRoute(TokenList):
    token_type = Undefined(Any)
    @property
    def domains(self): pass

class Mailbox(TokenList):
    token_type = Undefined(Any)
    @property
    def display_name(self): pass
    @property
    def local_part(self): pass
    @property
    def domain(self): pass
    @property
    def route(self): pass
    @property
    def addr_spec(self): pass

class InvalidMailbox(TokenList):
    token_type = Undefined(Any)
    @property
    def display_name(self): pass
    local_part = Undefined(Any)

class Domain(TokenList):
    token_type = Undefined(Any)
    @property
    def domain(self): pass

class DotAtom(TokenList):
    token_type = Undefined(Any)

class DotAtomText(TokenList):
    token_type = Undefined(Any)

class AddrSpec(TokenList):
    token_type = Undefined(Any)
    @property
    def local_part(self): pass
    @property
    def domain(self): pass
    @property
    def value(self): pass
    @property
    def addr_spec(self): pass

class ObsLocalPart(TokenList):
    token_type = Undefined(Any)

class DisplayName(Phrase):
    token_type = Undefined(Any)
    @property
    def display_name(self): pass
    @property
    def value(self): pass

class LocalPart(TokenList):
    token_type = Undefined(Any)
    @property
    def value(self): pass
    @property
    def local_part(self): pass

class DomainLiteral(TokenList):
    token_type = Undefined(Any)
    @property
    def domain(self): pass
    @property
    def ip(self): pass

class MIMEVersion(TokenList):
    token_type = Undefined(Any)
    major = Undefined(Any)
    minor = Undefined(Any)

class Parameter(TokenList):
    token_type = Undefined(Any)
    sectioned = Undefined(Any)
    extended = Undefined(Any)
    charset = Undefined(Any)
    @property
    def section_number(self): pass
    @property
    def param_value(self): pass

class InvalidParameter(Parameter):
    token_type = Undefined(Any)

class Attribute(TokenList):
    token_type = Undefined(Any)
    @property
    def stripped_value(self): pass

class Section(TokenList):
    token_type = Undefined(Any)
    number = Undefined(Any)

class Value(TokenList):
    token_type = Undefined(Any)
    @property
    def stripped_value(self): pass

class MimeParameters(TokenList):
    token_type = Undefined(Any)
    @property
    def params(self): pass

class ParameterizedHeaderValue(TokenList):
    @property
    def params(self): pass
    @property
    def parts(self): pass

class ContentType(ParameterizedHeaderValue):
    token_type = Undefined(Any)
    maintype = Undefined(Any)
    subtype = Undefined(Any)

class ContentDisposition(ParameterizedHeaderValue):
    token_type = Undefined(Any)
    content_disposition = Undefined(Any)

class ContentTransferEncoding(TokenList):
    token_type = Undefined(Any)
    cte = Undefined(Any)

class HeaderLabel(TokenList):
    token_type = Undefined(Any)

class Header(TokenList):
    token_type = Undefined(Any)

class Terminal(str):
    token_type = Undefined(Any)
    defects = Undefined(Any)
    def __new__(cls, value, token_type): pass
    @property
    def all_defects(self): pass
    def cte_encode(self, charset, policy): pass
    def pop_trailing_ws(self): pass
    def pop_leading_fws(self): pass
    @property
    def comments(self): pass
    def has_leading_comment(self): pass
    def __getnewargs__(self): pass

class WhiteSpaceTerminal(Terminal):
    @property
    def value(self): pass
    def startswith_fws(self): pass
    has_fws = Undefined(Any)

class ValueTerminal(Terminal):
    @property
    def value(self): pass
    def startswith_fws(self): pass
    has_fws = Undefined(Any)
    def as_encoded_word(self, charset): pass

class EWWhiteSpaceTerminal(WhiteSpaceTerminal):
    @property
    def value(self): pass
    @property
    def encoded(self): pass
    has_fws = Undefined(Any)

DOT = Undefined(Any)
ListSeparator = Undefined(Any)
RouteComponentMarker = Undefined(Any)

def get_fws(value): pass
def get_encoded_word(value): pass
def get_unstructured(value): pass
def get_qp_ctext(value): pass
def get_qcontent(value): pass
def get_atext(value): pass
def get_bare_quoted_string(value): pass
def get_comment(value): pass
def get_cfws(value): pass
def get_quoted_string(value): pass
def get_atom(value): pass
def get_dot_atom_text(value): pass
def get_dot_atom(value): pass
def get_word(value): pass
def get_phrase(value): pass
def get_local_part(value): pass
def get_obs_local_part(value): pass
def get_dtext(value): pass
def get_domain_literal(value): pass
def get_domain(value): pass
def get_addr_spec(value): pass
def get_obs_route(value): pass
def get_angle_addr(value): pass
def get_display_name(value): pass
def get_name_addr(value): pass
def get_mailbox(value): pass
def get_invalid_mailbox(value, endchars): pass
def get_mailbox_list(value): pass
def get_group_list(value): pass
def get_group(value): pass
def get_address(value): pass
def get_address_list(value): pass
def parse_mime_version(value): pass
def get_invalid_parameter(value): pass
def get_ttext(value): pass
def get_token(value): pass
def get_attrtext(value): pass
def get_attribute(value): pass
def get_extended_attrtext(value): pass
def get_extended_attribute(value): pass
def get_section(value): pass
def get_value(value): pass
def get_parameter(value): pass
def parse_mime_parameters(value): pass
def parse_content_type_header(value): pass
def parse_content_disposition_header(value): pass
def parse_content_transfer_encoding_header(value): pass
