massive update, probably broken
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-pyright / node_modules / pyright / dist / typeshed-fallback / stdlib / email / message.pyi
1 from email.charset import Charset
2 from email.contentmanager import ContentManager
3 from email.errors import MessageDefect
4 from email.policy import Policy
5 from typing import Any, Generator, Iterator, List, Optional, Sequence, Tuple, TypeVar, Union
6
7 _T = TypeVar("_T")
8
9 _PayloadType = Union[List[Message], str, bytes]
10 _CharsetType = Union[Charset, str, None]
11 _ParamsType = Union[str, None, Tuple[str, Optional[str], str]]
12 _ParamType = Union[str, Tuple[Optional[str], Optional[str], str]]
13 _HeaderType = Any
14
15 class Message:
16     policy: Policy  # undocumented
17     preamble: str | None
18     epilogue: str | None
19     defects: list[MessageDefect]
20     def __str__(self) -> str: ...
21     def is_multipart(self) -> bool: ...
22     def set_unixfrom(self, unixfrom: str) -> None: ...
23     def get_unixfrom(self) -> str | None: ...
24     def attach(self, payload: Message) -> None: ...
25     def get_payload(self, i: int | None = ..., decode: bool = ...) -> Any: ...  # returns _PayloadType | None
26     def set_payload(self, payload: _PayloadType, charset: _CharsetType = ...) -> None: ...
27     def set_charset(self, charset: _CharsetType) -> None: ...
28     def get_charset(self) -> _CharsetType: ...
29     def __len__(self) -> int: ...
30     def __contains__(self, name: str) -> bool: ...
31     def __iter__(self) -> Iterator[str]: ...
32     def __getitem__(self, name: str) -> _HeaderType: ...
33     def __setitem__(self, name: str, val: _HeaderType) -> None: ...
34     def __delitem__(self, name: str) -> None: ...
35     def keys(self) -> list[str]: ...
36     def values(self) -> list[_HeaderType]: ...
37     def items(self) -> list[tuple[str, _HeaderType]]: ...
38     def get(self, name: str, failobj: _T = ...) -> _HeaderType | _T: ...
39     def get_all(self, name: str, failobj: _T = ...) -> list[_HeaderType] | _T: ...
40     def add_header(self, _name: str, _value: str, **_params: _ParamsType) -> None: ...
41     def replace_header(self, _name: str, _value: _HeaderType) -> None: ...
42     def get_content_type(self) -> str: ...
43     def get_content_maintype(self) -> str: ...
44     def get_content_subtype(self) -> str: ...
45     def get_default_type(self) -> str: ...
46     def set_default_type(self, ctype: str) -> None: ...
47     def get_params(self, failobj: _T = ..., header: str = ..., unquote: bool = ...) -> list[tuple[str, str]] | _T: ...
48     def get_param(self, param: str, failobj: _T = ..., header: str = ..., unquote: bool = ...) -> _T | _ParamType: ...
49     def del_param(self, param: str, header: str = ..., requote: bool = ...) -> None: ...
50     def set_type(self, type: str, header: str = ..., requote: bool = ...) -> None: ...
51     def get_filename(self, failobj: _T = ...) -> _T | str: ...
52     def get_boundary(self, failobj: _T = ...) -> _T | str: ...
53     def set_boundary(self, boundary: str) -> None: ...
54     def get_content_charset(self, failobj: _T = ...) -> _T | str: ...
55     def get_charsets(self, failobj: _T = ...) -> _T | list[str]: ...
56     def walk(self) -> Generator[Message, None, None]: ...
57     def get_content_disposition(self) -> str | None: ...
58     def as_string(self, unixfrom: bool = ..., maxheaderlen: int = ..., policy: Policy | None = ...) -> str: ...
59     def as_bytes(self, unixfrom: bool = ..., policy: Policy | None = ...) -> bytes: ...
60     def __bytes__(self) -> bytes: ...
61     def set_param(
62         self,
63         param: str,
64         value: str,
65         header: str = ...,
66         requote: bool = ...,
67         charset: str | None = ...,
68         language: str = ...,
69         replace: bool = ...,
70     ) -> None: ...
71     def __init__(self, policy: Policy = ...) -> None: ...
72
73 class MIMEPart(Message):
74     def __init__(self, policy: Policy | None = ...) -> None: ...
75     def get_body(self, preferencelist: Sequence[str] = ...) -> Message | None: ...
76     def iter_attachments(self) -> Iterator[Message]: ...
77     def iter_parts(self) -> Iterator[Message]: ...
78     def get_content(self, *args: Any, content_manager: ContentManager | None = ..., **kw: Any) -> Any: ...
79     def set_content(self, *args: Any, content_manager: ContentManager | None = ..., **kw: Any) -> None: ...
80     def make_related(self, boundary: str | None = ...) -> None: ...
81     def make_alternative(self, boundary: str | None = ...) -> None: ...
82     def make_mixed(self, boundary: str | None = ...) -> None: ...
83     def add_related(self, *args: Any, content_manager: ContentManager | None = ..., **kw: Any) -> None: ...
84     def add_alternative(self, *args: Any, content_manager: ContentManager | None = ..., **kw: Any) -> None: ...
85     def add_attachment(self, *args: Any, content_manager: ContentManager | None = ..., **kw: Any) -> None: ...
86     def clear(self) -> None: ...
87     def clear_content(self) -> None: ...
88     def as_string(self, unixfrom: bool = ..., maxheaderlen: int | None = ..., policy: Policy | None = ...) -> str: ...
89     def is_attachment(self) -> bool: ...
90
91 class EmailMessage(MIMEPart): ...