-
Notifications
You must be signed in to change notification settings - Fork 32
/
postal-mime.d.ts
70 lines (60 loc) · 1.47 KB
/
postal-mime.d.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
export type RawEmail = string | ArrayBuffer | Uint8Array | Blob | Buffer | ReadableStream;
export type Header = Record<string, string>;
export type Address = {
name: string;
address?: string;
group?: Address[]
};
export type Attachment = {
filename: string | null;
mimeType: string;
disposition: "attachment" | "inline" | null;
related?: boolean;
description?: string;
contentId?: string;
method?: string;
content: ArrayBuffer;
};
export type Email = {
headers: Header[];
from: Address;
sender?: Address;
replyTo?: Address[];
deliveredTo?: string;
returnPath?: string;
to?: Address[];
cc?: Address[];
bcc?: Address[];
subject?: string;
messageId: string;
inReplyTo?: string;
references?: string;
date?: string;
html?: string;
text?: string;
attachments: Attachment[];
};
declare type AddressParserOptions = {
flatten?: boolean
}
declare function addressParser (
str: string,
options?: AddressParserOptions
): Address[];
declare function decodeWords (
str: string
): string;
declare type PostalMimeOptions = {
rfc822Attachments?: boolean,
forceRfc822Attachments?: boolean
}
declare class PostalMime {
constructor(options?: PostalMimeOptions);
static parse(
email: RawEmail,
options?: PostalMimeOptions
): Promise<Email>;
parse(email: RawEmail): Promise<Email>;
}
export { addressParser, decodeWords };
export default PostalMime;