1import email.feedparser
2from email.message import Message
3from email.policy import Policy
4from typing import BinaryIO, Callable, Optional, TextIO
5
6FeedParser = email.feedparser.FeedParser
7BytesFeedParser = email.feedparser.BytesFeedParser
8
9class Parser:
10    def __init__(self, _class: Optional[Callable[[], Message]] = ..., *, policy: Policy = ...) -> None: ...
11    def parse(self, fp: TextIO, headersonly: bool = ...) -> Message: ...
12    def parsestr(self, text: str, headersonly: bool = ...) -> Message: ...
13
14class HeaderParser(Parser):
15    def __init__(self, _class: Optional[Callable[[], Message]] = ..., *, policy: Policy = ...) -> None: ...
16    def parse(self, fp: TextIO, headersonly: bool = ...) -> Message: ...
17    def parsestr(self, text: str, headersonly: bool = ...) -> Message: ...
18
19class BytesHeaderParser(BytesParser):
20    def __init__(self, _class: Callable[[], Message] = ..., *, policy: Policy = ...) -> None: ...
21    def parse(self, fp: BinaryIO, headersonly: bool = ...) -> Message: ...
22    def parsebytes(self, text: bytes, headersonly: bool = ...) -> Message: ...
23
24class BytesParser:
25    def __init__(self, _class: Callable[[], Message] = ..., *, policy: Policy = ...) -> None: ...
26    def parse(self, fp: BinaryIO, headersonly: bool = ...) -> Message: ...
27    def parsebytes(self, text: bytes, headersonly: bool = ...) -> Message: ...
28