massive update, probably broken
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-pyright / node_modules / pyright / dist / typeshed-fallback / stdlib / email / _header_value_parser.pyi
1 import sys
2 from email.errors import HeaderParseError, MessageDefect
3 from email.policy import Policy
4 from typing import Any, Iterable, Iterator, List, Pattern, Type, TypeVar, Union
5 from typing_extensions import Final
6
7 _T = TypeVar("_T")
8
9 WSP: Final[set[str]]
10 CFWS_LEADER: Final[set[str]]
11 SPECIALS: Final[set[str]]
12 ATOM_ENDS: Final[set[str]]
13 DOT_ATOM_ENDS: Final[set[str]]
14 PHRASE_ENDS: Final[set[str]]
15 TSPECIALS: Final[set[str]]
16 TOKEN_ENDS: Final[set[str]]
17 ASPECIALS: Final[set[str]]
18 ATTRIBUTE_ENDS: Final[set[str]]
19 EXTENDED_ATTRIBUTE_ENDS: Final[set[str]]
20
21 def quote_string(value: Any) -> str: ...
22
23 if sys.version_info >= (3, 7):
24     rfc2047_matcher: Pattern[str]
25
26 class TokenList(List[Union[TokenList, Terminal]]):
27     token_type: str | None
28     syntactic_break: bool
29     ew_combine_allowed: bool
30     defects: list[MessageDefect]
31     def __init__(self, *args: Any, **kw: Any) -> None: ...
32     @property
33     def value(self) -> str: ...
34     @property
35     def all_defects(self) -> list[MessageDefect]: ...
36     def startswith_fws(self) -> bool: ...
37     @property
38     def as_ew_allowed(self) -> bool: ...
39     @property
40     def comments(self) -> list[str]: ...
41     def fold(self, *, policy: Policy) -> str: ...
42     def pprint(self, indent: str = ...) -> None: ...
43     def ppstr(self, indent: str = ...) -> str: ...
44
45 class WhiteSpaceTokenList(TokenList):
46     @property
47     def value(self) -> str: ...
48     @property
49     def comments(self) -> list[str]: ...
50
51 class UnstructuredTokenList(TokenList):
52     token_type: str
53
54 class Phrase(TokenList):
55     token_type: str
56
57 class Word(TokenList):
58     token_type: str
59
60 class CFWSList(WhiteSpaceTokenList):
61     token_type: str
62
63 class Atom(TokenList):
64     token_type: str
65
66 class Token(TokenList):
67     token_type: str
68     encode_as_ew: bool
69
70 class EncodedWord(TokenList):
71     token_type: str
72     cte: str | None
73     charset: str | None
74     lang: str | None
75
76 class QuotedString(TokenList):
77     token_type: str
78     @property
79     def content(self) -> str: ...
80     @property
81     def quoted_value(self) -> str: ...
82     @property
83     def stripped_value(self) -> str: ...
84
85 class BareQuotedString(QuotedString):
86     token_type: str
87     @property
88     def value(self) -> str: ...
89
90 class Comment(WhiteSpaceTokenList):
91     token_type: str
92     def quote(self, value: Any) -> str: ...
93     @property
94     def content(self) -> str: ...
95     @property
96     def comments(self) -> list[str]: ...
97
98 class AddressList(TokenList):
99     token_type: str
100     @property
101     def addresses(self) -> list[Address]: ...
102     @property
103     def mailboxes(self) -> list[Mailbox]: ...
104     @property
105     def all_mailboxes(self) -> list[Mailbox]: ...
106
107 class Address(TokenList):
108     token_type: str
109     @property
110     def display_name(self) -> str: ...
111     @property
112     def mailboxes(self) -> list[Mailbox]: ...
113     @property
114     def all_mailboxes(self) -> list[Mailbox]: ...
115
116 class MailboxList(TokenList):
117     token_type: str
118     @property
119     def mailboxes(self) -> list[Mailbox]: ...
120     @property
121     def all_mailboxes(self) -> list[Mailbox]: ...
122
123 class GroupList(TokenList):
124     token_type: str
125     @property
126     def mailboxes(self) -> list[Mailbox]: ...
127     @property
128     def all_mailboxes(self) -> list[Mailbox]: ...
129
130 class Group(TokenList):
131     token_type: str
132     @property
133     def mailboxes(self) -> list[Mailbox]: ...
134     @property
135     def all_mailboxes(self) -> list[Mailbox]: ...
136     @property
137     def display_name(self) -> str: ...
138
139 class NameAddr(TokenList):
140     token_type: str
141     @property
142     def display_name(self) -> str: ...
143     @property
144     def local_part(self) -> str: ...
145     @property
146     def domain(self) -> str: ...
147     @property
148     def route(self) -> list[Domain] | None: ...
149     @property
150     def addr_spec(self) -> str: ...
151
152 class AngleAddr(TokenList):
153     token_type: str
154     @property
155     def local_part(self) -> str: ...
156     @property
157     def domain(self) -> str: ...
158     @property
159     def route(self) -> list[Domain] | None: ...
160     @property
161     def addr_spec(self) -> str: ...
162
163 class ObsRoute(TokenList):
164     token_type: str
165     @property
166     def domains(self) -> list[Domain]: ...
167
168 class Mailbox(TokenList):
169     token_type: str
170     @property
171     def display_name(self) -> str: ...
172     @property
173     def local_part(self) -> str: ...
174     @property
175     def domain(self) -> str: ...
176     @property
177     def route(self) -> list[str]: ...
178     @property
179     def addr_spec(self) -> str: ...
180
181 class InvalidMailbox(TokenList):
182     token_type: str
183     @property
184     def display_name(self) -> None: ...
185     local_part: None
186     domain: None
187     route: None
188     addr_spec: None
189
190 class Domain(TokenList):
191     token_type: str
192     as_ew_allowed: bool
193     @property
194     def domain(self) -> str: ...
195
196 class DotAtom(TokenList):
197     token_type: str
198
199 class DotAtomText(TokenList):
200     token_type: str
201     as_ew_allowed: bool
202
203 if sys.version_info >= (3, 8):
204     class NoFoldLiteral(TokenList):
205         token_type: str
206         as_ew_allowed: bool
207
208 class AddrSpec(TokenList):
209     token_type: str
210     as_ew_allowed: bool
211     @property
212     def local_part(self) -> str: ...
213     @property
214     def domain(self) -> str: ...
215     @property
216     def value(self) -> str: ...
217     @property
218     def addr_spec(self) -> str: ...
219
220 class ObsLocalPart(TokenList):
221     token_type: str
222     as_ew_allowed: bool
223
224 class DisplayName(Phrase):
225     token_type: str
226     ew_combine_allowed: bool
227     @property
228     def display_name(self) -> str: ...
229     @property
230     def value(self) -> str: ...
231
232 class LocalPart(TokenList):
233     token_type: str
234     as_ew_allowed: bool
235     @property
236     def value(self) -> str: ...
237     @property
238     def local_part(self) -> str: ...
239
240 class DomainLiteral(TokenList):
241     token_type: str
242     as_ew_allowed: bool
243     @property
244     def domain(self) -> str: ...
245     @property
246     def ip(self) -> str: ...
247
248 class MIMEVersion(TokenList):
249     token_type: str
250     major: int | None
251     minor: int | None
252
253 class Parameter(TokenList):
254     token_type: str
255     sectioned: bool
256     extended: bool
257     charset: str
258     @property
259     def section_number(self) -> int: ...
260     @property
261     def param_value(self) -> str: ...
262
263 class InvalidParameter(Parameter):
264     token_type: str
265
266 class Attribute(TokenList):
267     token_type: str
268     @property
269     def stripped_value(self) -> str: ...
270
271 class Section(TokenList):
272     token_type: str
273     number: int | None
274
275 class Value(TokenList):
276     token_type: str
277     @property
278     def stripped_value(self) -> str: ...
279
280 class MimeParameters(TokenList):
281     token_type: str
282     syntactic_break: bool
283     @property
284     def params(self) -> Iterator[tuple[str, str]]: ...
285
286 class ParameterizedHeaderValue(TokenList):
287     syntactic_break: bool
288     @property
289     def params(self) -> Iterable[tuple[str, str]]: ...
290
291 class ContentType(ParameterizedHeaderValue):
292     token_type: str
293     as_ew_allowed: bool
294     maintype: str
295     subtype: str
296
297 class ContentDisposition(ParameterizedHeaderValue):
298     token_type: str
299     as_ew_allowed: bool
300     content_disposition: Any
301
302 class ContentTransferEncoding(TokenList):
303     token_type: str
304     as_ew_allowed: bool
305     cte: str
306
307 class HeaderLabel(TokenList):
308     token_type: str
309     as_ew_allowed: bool
310
311 if sys.version_info >= (3, 8):
312     class MsgID(TokenList):
313         token_type: str
314         as_ew_allowed: bool
315         def fold(self, policy: Policy) -> str: ...
316     class MessageID(MsgID):
317         token_type: str
318     class InvalidMessageID(MessageID):
319         token_type: str
320
321 class Header(TokenList):
322     token_type: str
323
324 class Terminal(str):
325     as_ew_allowed: bool
326     ew_combine_allowed: bool
327     syntactic_break: bool
328     token_type: str
329     defects: list[MessageDefect]
330     def __new__(cls: Type[_T], value: str, token_type: str) -> _T: ...
331     def pprint(self) -> None: ...
332     @property
333     def all_defects(self) -> list[MessageDefect]: ...
334     def pop_trailing_ws(self) -> None: ...
335     @property
336     def comments(self) -> list[str]: ...
337     def __getnewargs__(self) -> tuple[str, str]: ...  # type: ignore
338
339 class WhiteSpaceTerminal(Terminal):
340     @property
341     def value(self) -> str: ...
342     def startswith_fws(self) -> bool: ...
343
344 class ValueTerminal(Terminal):
345     @property
346     def value(self) -> ValueTerminal: ...
347     def startswith_fws(self) -> bool: ...
348
349 class EWWhiteSpaceTerminal(WhiteSpaceTerminal):
350     @property
351     def value(self) -> str: ...
352
353 class _InvalidEwError(HeaderParseError): ...
354
355 DOT: Final[ValueTerminal]
356 ListSeparator: Final[ValueTerminal]
357 RouteComponentMarker: Final[ValueTerminal]
358
359 def get_fws(value: str) -> tuple[WhiteSpaceTerminal, str]: ...
360 def get_encoded_word(value: str) -> tuple[EncodedWord, str]: ...
361 def get_unstructured(value: str) -> UnstructuredTokenList: ...
362 def get_qp_ctext(value: str) -> tuple[WhiteSpaceTerminal, str]: ...
363 def get_qcontent(value: str) -> tuple[ValueTerminal, str]: ...
364 def get_atext(value: str) -> tuple[ValueTerminal, str]: ...
365 def get_bare_quoted_string(value: str) -> tuple[BareQuotedString, str]: ...
366 def get_comment(value: str) -> tuple[Comment, str]: ...
367 def get_cfws(value: str) -> tuple[CFWSList, str]: ...
368 def get_quoted_string(value: str) -> tuple[QuotedString, str]: ...
369 def get_atom(value: str) -> tuple[Atom, str]: ...
370 def get_dot_atom_text(value: str) -> tuple[DotAtomText, str]: ...
371 def get_dot_atom(value: str) -> tuple[DotAtom, str]: ...
372 def get_word(value: str) -> tuple[Any, str]: ...
373 def get_phrase(value: str) -> tuple[Phrase, str]: ...
374 def get_local_part(value: str) -> tuple[LocalPart, str]: ...
375 def get_obs_local_part(value: str) -> tuple[ObsLocalPart, str]: ...
376 def get_dtext(value: str) -> tuple[ValueTerminal, str]: ...
377 def get_domain_literal(value: str) -> tuple[DomainLiteral, str]: ...
378 def get_domain(value: str) -> tuple[Domain, str]: ...
379 def get_addr_spec(value: str) -> tuple[AddrSpec, str]: ...
380 def get_obs_route(value: str) -> tuple[ObsRoute, str]: ...
381 def get_angle_addr(value: str) -> tuple[AngleAddr, str]: ...
382 def get_display_name(value: str) -> tuple[DisplayName, str]: ...
383 def get_name_addr(value: str) -> tuple[NameAddr, str]: ...
384 def get_mailbox(value: str) -> tuple[Mailbox, str]: ...
385 def get_invalid_mailbox(value: str, endchars: str) -> tuple[InvalidMailbox, str]: ...
386 def get_mailbox_list(value: str) -> tuple[MailboxList, str]: ...
387 def get_group_list(value: str) -> tuple[GroupList, str]: ...
388 def get_group(value: str) -> tuple[Group, str]: ...
389 def get_address(value: str) -> tuple[Address, str]: ...
390 def get_address_list(value: str) -> tuple[AddressList, str]: ...
391
392 if sys.version_info >= (3, 8):
393     def get_no_fold_literal(value: str) -> tuple[NoFoldLiteral, str]: ...
394     def get_msg_id(value: str) -> tuple[MsgID, str]: ...
395     def parse_message_id(value: str) -> MessageID: ...
396
397 def parse_mime_version(value: str) -> MIMEVersion: ...
398 def get_invalid_parameter(value: str) -> tuple[InvalidParameter, str]: ...
399 def get_ttext(value: str) -> tuple[ValueTerminal, str]: ...
400 def get_token(value: str) -> tuple[Token, str]: ...
401 def get_attrtext(value: str) -> tuple[ValueTerminal, str]: ...
402 def get_attribute(value: str) -> tuple[Attribute, str]: ...
403 def get_extended_attrtext(value: str) -> tuple[ValueTerminal, str]: ...
404 def get_extended_attribute(value: str) -> tuple[Attribute, str]: ...
405 def get_section(value: str) -> tuple[Section, str]: ...
406 def get_value(value: str) -> tuple[Value, str]: ...
407 def get_parameter(value: str) -> tuple[Parameter, str]: ...
408 def parse_mime_parameters(value: str) -> MimeParameters: ...
409 def parse_content_type_header(value: str) -> ContentType: ...
410 def parse_content_disposition_header(value: str) -> ContentDisposition: ...
411 def parse_content_transfer_encoding_header(value: str) -> ContentTransferEncoding: ...