forked from DefinitelyTyped/DefinitelyTyped
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsmtpapi.d.ts
64 lines (56 loc) · 1.88 KB
/
smtpapi.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
// Type definitions for smtpapi-nodejs v1.2.0
// Project: https://github.com/sendgrid/smtpapi-nodejs
// Definitions by: Antonio Morales <https://github.com/a-morales>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
declare namespace SmtpApi {
interface Header {
to: string[];
sub: Object;
unique_args: Object;
category: string[];
section: Object;
filters: Object;
send_at: "" | number;
send_each_at: number[];
asm_group_id: number;
ip_pool: string;
}
interface Constructor {
new (): Instance;
new (header: Header): Instance;
}
interface Instance {
header: Header;
version: string;
jsonObject(): Header;
jsonString(): string;
addTo(to: string): void;
addTo(tos: string[]): void;
addSubstitution(key: string, val: string): void;
addSubstitution(key: string, val: string[]): void;
addUniqueArg(key: string, val: string): void;
addCategory(cat: string): void;
addCategory(cat: string[]): void;
addSection(sec: string, val: string): void;
addFilter(filter: string, setting:string , val: number): void;
addFilter(filter: string, setting:string , val: string): void;
addSendEachAt(send_each_at: number): void;
addSendEachAt(send_each_at: number[]): void;
setTos(email: string): void;
setTos(emails: string[]): void;
setSubstitutions(subs: Object): void;
setUniqueArgs(val: Object): void;
setCategories(cats: string): void;
setCategories(cats: string[]): void;
setSections(sec: Object): void;
setFilters(filters: Object): void;
setSendAt(send_at: number): void;
setSendEachAt(send_each_at: number[]): void;
setASMGroupID(asm_group_id: number): void;
setIpPool(ip_pool: string): void;
}
}
declare module 'smtpapi' {
var smtp: SmtpApi.Constructor;
export = smtp;
}