3 from datetime import datetime as _datetime
4 from email._header_value_parser import (
7 ContentTransferEncoding,
11 UnstructuredTokenList,
13 from email.errors import MessageDefect
14 from email.policy import Policy
15 from typing import Any, Iterable, Tuple, Type
17 class BaseHeader(str):
19 def name(self) -> str: ...
21 def defects(self) -> Tuple[MessageDefect, ...]: ...
23 def max_count(self) -> int | None: ...
24 def __new__(cls, name: str, value: Any) -> BaseHeader: ...
25 def init(self, name: str, *, parse_tree: TokenList, defects: Iterable[MessageDefect]) -> None: ...
26 def fold(self, *, policy: Policy) -> str: ...
28 class UnstructuredHeader:
30 def value_parser(value: str) -> UnstructuredTokenList: ...
32 def parse(cls, value: str, kwds: dict[str, Any]) -> None: ...
34 class UniqueUnstructuredHeader(UnstructuredHeader): ...
38 def datetime(self) -> _datetime: ...
40 def value_parser(value: str) -> UnstructuredTokenList: ...
42 def parse(cls, value: str | _datetime, kwds: dict[str, Any]) -> None: ...
44 class UniqueDateHeader(DateHeader): ...
48 def groups(self) -> Tuple[Group, ...]: ...
50 def addresses(self) -> Tuple[Address, ...]: ...
52 def value_parser(value: str) -> AddressList: ...
54 def parse(cls, value: str, kwds: dict[str, Any]) -> None: ...
56 class UniqueAddressHeader(AddressHeader): ...
58 class SingleAddressHeader(AddressHeader):
60 def address(self) -> Address: ...
62 class UniqueSingleAddressHeader(SingleAddressHeader): ...
64 class MIMEVersionHeader:
66 def version(self) -> str | None: ...
68 def major(self) -> int | None: ...
70 def minor(self) -> int | None: ...
72 def value_parser(value: str) -> MIMEVersion: ...
74 def parse(cls, value: str, kwds: dict[str, Any]) -> None: ...
76 class ParameterizedMIMEHeader:
78 def params(self) -> types.MappingProxyType[str, Any]: ...
80 def parse(cls, value: str, kwds: dict[str, Any]) -> None: ...
82 class ContentTypeHeader(ParameterizedMIMEHeader):
84 def content_type(self) -> str: ...
86 def maintype(self) -> str: ...
88 def subtype(self) -> str: ...
90 def value_parser(value: str) -> ContentType: ...
92 class ContentDispositionHeader(ParameterizedMIMEHeader):
94 def content_disposition(self) -> str: ...
96 def value_parser(value: str) -> ContentDisposition: ...
98 class ContentTransferEncodingHeader:
100 def cte(self) -> str: ...
102 def parse(cls, value: str, kwds: dict[str, Any]) -> None: ...
104 def value_parser(value: str) -> ContentTransferEncoding: ...
106 if sys.version_info >= (3, 8):
107 from email._header_value_parser import MessageID
108 class MessageIDHeader:
110 def parse(cls, value: str, kwds: dict[str, Any]) -> None: ...
112 def value_parser(value: str) -> MessageID: ...
114 class HeaderRegistry:
116 self, base_class: Type[BaseHeader] = ..., default_class: Type[BaseHeader] = ..., use_default_map: bool = ...
118 def map_to_type(self, name: str, cls: Type[BaseHeader]) -> None: ...
119 def __getitem__(self, name: str) -> Type[BaseHeader]: ...
120 def __call__(self, name: str, value: Any) -> BaseHeader: ...
124 def display_name(self) -> str: ...
126 def username(self) -> str: ...
128 def domain(self) -> str: ...
130 def addr_spec(self) -> str: ...
132 self, display_name: str = ..., username: str | None = ..., domain: str | None = ..., addr_spec: str | None = ...
134 def __str__(self) -> str: ...
138 def display_name(self) -> str | None: ...
140 def addresses(self) -> Tuple[Address, ...]: ...
141 def __init__(self, display_name: str | None = ..., addresses: Iterable[Address] | None = ...) -> None: ...
142 def __str__(self) -> str: ...