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

from typing import Any

class Address:
    def __init__(self, display_name=..., username=..., domain=..., addr_spec=...) -> None: ...
    @property
    def display_name(self): ...
    @property
    def username(self): ...
    @property
    def domain(self): ...
    @property
    def addr_spec(self): ...
    def __eq__(self, other): ...

class Group:
    def __init__(self, display_name=..., addresses=...) -> None: ...
    @property
    def display_name(self): ...
    @property
    def addresses(self): ...
    def __eq__(self, other): ...

class BaseHeader(str):
    def __new__(cls, name, value): ...
    def init(self, name, parse_tree, defects): ...
    @property
    def name(self): ...
    @property
    def defects(self): ...
    def __reduce__(self): ...
    def fold(self, policy): ...

class UnstructuredHeader:
    max_count = ...  # type: Any
    value_parser = ...  # type: Any
    @classmethod
    def parse(cls, value, kwds): ...

class UniqueUnstructuredHeader(UnstructuredHeader):
    max_count = ...  # type: Any

class DateHeader:
    max_count = ...  # type: Any
    value_parser = ...  # type: Any
    @classmethod
    def parse(cls, value, kwds): ...
    def init(self, *args, **kw): ...
    @property
    def datetime(self): ...

class UniqueDateHeader(DateHeader):
    max_count = ...  # type: Any

class AddressHeader:
    max_count = ...  # type: Any
    @staticmethod
    def value_parser(value): ...
    @classmethod
    def parse(cls, value, kwds): ...
    def init(self, *args, **kw): ...
    @property
    def groups(self): ...
    @property
    def addresses(self): ...

class UniqueAddressHeader(AddressHeader):
    max_count = ...  # type: Any

class SingleAddressHeader(AddressHeader):
    @property
    def address(self): ...

class UniqueSingleAddressHeader(SingleAddressHeader):
    max_count = ...  # type: Any

class MIMEVersionHeader:
    max_count = ...  # type: Any
    value_parser = ...  # type: Any
    @classmethod
    def parse(cls, value, kwds): ...
    def init(self, *args, **kw): ...
    @property
    def major(self): ...
    @property
    def minor(self): ...
    @property
    def version(self): ...

class ParameterizedMIMEHeader:
    max_count = ...  # type: Any
    @classmethod
    def parse(cls, value, kwds): ...
    def init(self, *args, **kw): ...
    @property
    def params(self): ...

class ContentTypeHeader(ParameterizedMIMEHeader):
    value_parser = ...  # type: Any
    def init(self, *args, **kw): ...
    @property
    def maintype(self): ...
    @property
    def subtype(self): ...
    @property
    def content_type(self): ...

class ContentDispositionHeader(ParameterizedMIMEHeader):
    value_parser = ...  # type: Any
    def init(self, *args, **kw): ...
    @property
    def content_disposition(self): ...

class ContentTransferEncodingHeader:
    max_count = ...  # type: Any
    value_parser = ...  # type: Any
    @classmethod
    def parse(cls, value, kwds): ...
    def init(self, *args, **kw): ...
    @property
    def cte(self): ...

class HeaderRegistry:
    registry = ...  # type: Any
    base_class = ...  # type: Any
    default_class = ...  # type: Any
    def __init__(self, base_class=..., default_class=..., use_default_map=...) -> None: ...
    def map_to_type(self, name, cls): ...
    def __getitem__(self, name): ...
    def __call__(self, name, value): ...
