massive update, probably broken
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-pyright / node_modules / pyright / dist / typeshed-fallback / stdlib / email / headerregistry.pyi
1 import sys
2 import types
3 from datetime import datetime as _datetime
4 from email._header_value_parser import (
5     AddressList,
6     ContentDisposition,
7     ContentTransferEncoding,
8     ContentType,
9     MIMEVersion,
10     TokenList,
11     UnstructuredTokenList,
12 )
13 from email.errors import MessageDefect
14 from email.policy import Policy
15 from typing import Any, Iterable, Tuple, Type
16
17 class BaseHeader(str):
18     @property
19     def name(self) -> str: ...
20     @property
21     def defects(self) -> Tuple[MessageDefect, ...]: ...
22     @property
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: ...
27
28 class UnstructuredHeader:
29     @staticmethod
30     def value_parser(value: str) -> UnstructuredTokenList: ...
31     @classmethod
32     def parse(cls, value: str, kwds: dict[str, Any]) -> None: ...
33
34 class UniqueUnstructuredHeader(UnstructuredHeader): ...
35
36 class DateHeader:
37     @property
38     def datetime(self) -> _datetime: ...
39     @staticmethod
40     def value_parser(value: str) -> UnstructuredTokenList: ...
41     @classmethod
42     def parse(cls, value: str | _datetime, kwds: dict[str, Any]) -> None: ...
43
44 class UniqueDateHeader(DateHeader): ...
45
46 class AddressHeader:
47     @property
48     def groups(self) -> Tuple[Group, ...]: ...
49     @property
50     def addresses(self) -> Tuple[Address, ...]: ...
51     @staticmethod
52     def value_parser(value: str) -> AddressList: ...
53     @classmethod
54     def parse(cls, value: str, kwds: dict[str, Any]) -> None: ...
55
56 class UniqueAddressHeader(AddressHeader): ...
57
58 class SingleAddressHeader(AddressHeader):
59     @property
60     def address(self) -> Address: ...
61
62 class UniqueSingleAddressHeader(SingleAddressHeader): ...
63
64 class MIMEVersionHeader:
65     @property
66     def version(self) -> str | None: ...
67     @property
68     def major(self) -> int | None: ...
69     @property
70     def minor(self) -> int | None: ...
71     @staticmethod
72     def value_parser(value: str) -> MIMEVersion: ...
73     @classmethod
74     def parse(cls, value: str, kwds: dict[str, Any]) -> None: ...
75
76 class ParameterizedMIMEHeader:
77     @property
78     def params(self) -> types.MappingProxyType[str, Any]: ...
79     @classmethod
80     def parse(cls, value: str, kwds: dict[str, Any]) -> None: ...
81
82 class ContentTypeHeader(ParameterizedMIMEHeader):
83     @property
84     def content_type(self) -> str: ...
85     @property
86     def maintype(self) -> str: ...
87     @property
88     def subtype(self) -> str: ...
89     @staticmethod
90     def value_parser(value: str) -> ContentType: ...
91
92 class ContentDispositionHeader(ParameterizedMIMEHeader):
93     @property
94     def content_disposition(self) -> str: ...
95     @staticmethod
96     def value_parser(value: str) -> ContentDisposition: ...
97
98 class ContentTransferEncodingHeader:
99     @property
100     def cte(self) -> str: ...
101     @classmethod
102     def parse(cls, value: str, kwds: dict[str, Any]) -> None: ...
103     @staticmethod
104     def value_parser(value: str) -> ContentTransferEncoding: ...
105
106 if sys.version_info >= (3, 8):
107     from email._header_value_parser import MessageID
108     class MessageIDHeader:
109         @classmethod
110         def parse(cls, value: str, kwds: dict[str, Any]) -> None: ...
111         @staticmethod
112         def value_parser(value: str) -> MessageID: ...
113
114 class HeaderRegistry:
115     def __init__(
116         self, base_class: Type[BaseHeader] = ..., default_class: Type[BaseHeader] = ..., use_default_map: bool = ...
117     ) -> None: ...
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: ...
121
122 class Address:
123     @property
124     def display_name(self) -> str: ...
125     @property
126     def username(self) -> str: ...
127     @property
128     def domain(self) -> str: ...
129     @property
130     def addr_spec(self) -> str: ...
131     def __init__(
132         self, display_name: str = ..., username: str | None = ..., domain: str | None = ..., addr_spec: str | None = ...
133     ) -> None: ...
134     def __str__(self) -> str: ...
135
136 class Group:
137     @property
138     def display_name(self) -> str | None: ...
139     @property
140     def addresses(self) -> Tuple[Address, ...]: ...
141     def __init__(self, display_name: str | None = ..., addresses: Iterable[Address] | None = ...) -> None: ...
142     def __str__(self) -> str: ...