resend 6.4.2 → 6.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.mts CHANGED
@@ -1,1354 +1,1453 @@
1
- import * as React$1 from 'react';
1
+ import * as React$1 from "react";
2
2
 
3
+ //#region src/api-keys/interfaces/api-key.d.ts
3
4
  interface ApiKey {
4
- created_at: string;
5
- id: string;
6
- name: string;
5
+ created_at: string;
6
+ id: string;
7
+ name: string;
7
8
  }
8
-
9
+ //#endregion
10
+ //#region src/domains/interfaces/domain.d.ts
11
+ type DomainRegion = 'us-east-1' | 'eu-west-1' | 'sa-east-1' | 'ap-northeast-1';
12
+ type DomainCapabilityStatus = 'enabled' | 'disabled';
13
+ interface DomainCapabilities {
14
+ sending: DomainCapabilityStatus;
15
+ receiving: DomainCapabilityStatus;
16
+ }
17
+ type DomainNameservers = 'Amazon Route 53' | 'Cloudflare' | 'Digital Ocean' | 'GoDaddy' | 'Google Domains' | 'Namecheap' | 'Unidentified' | 'Vercel';
18
+ type DomainStatus = 'pending' | 'verified' | 'failed' | 'temporary_failure' | 'not_started';
19
+ type DomainRecords = DomainSpfRecord | DomainDkimRecord | ReceivingRecord;
20
+ interface DomainSpfRecord {
21
+ record: 'SPF';
22
+ name: string;
23
+ value: string;
24
+ type: 'MX' | 'TXT';
25
+ ttl: string;
26
+ status: DomainStatus;
27
+ routing_policy?: string;
28
+ priority?: number;
29
+ proxy_status?: 'enable' | 'disable';
30
+ }
31
+ interface DomainDkimRecord {
32
+ record: 'DKIM';
33
+ name: string;
34
+ value: string;
35
+ type: 'CNAME' | 'TXT';
36
+ ttl: string;
37
+ status: DomainStatus;
38
+ routing_policy?: string;
39
+ priority?: number;
40
+ proxy_status?: 'enable' | 'disable';
41
+ }
42
+ interface ReceivingRecord {
43
+ record: 'Receiving';
44
+ name: string;
45
+ value: string;
46
+ type: 'MX';
47
+ ttl: string;
48
+ status: DomainStatus;
49
+ priority: number;
50
+ }
51
+ interface Domain {
52
+ id: string;
53
+ name: string;
54
+ status: DomainStatus;
55
+ created_at: string;
56
+ region: DomainRegion;
57
+ capabilities: DomainCapabilities;
58
+ }
59
+ //#endregion
60
+ //#region src/common/interfaces/domain-api-options.interface.d.ts
9
61
  interface DomainApiOptions {
10
- name: string;
11
- region?: string;
12
- custom_return_path?: string;
62
+ name: string;
63
+ region?: string;
64
+ custom_return_path?: string;
65
+ capabilities?: Partial<DomainCapabilities>;
13
66
  }
14
-
67
+ //#endregion
68
+ //#region src/interfaces.d.ts
15
69
  declare const RESEND_ERROR_CODES_BY_KEY: {
16
- readonly missing_required_field: 422;
17
- readonly invalid_idempotency_key: 400;
18
- readonly invalid_idempotent_request: 409;
19
- readonly concurrent_idempotent_requests: 409;
20
- readonly invalid_access: 422;
21
- readonly invalid_parameter: 422;
22
- readonly invalid_region: 422;
23
- readonly rate_limit_exceeded: 429;
24
- readonly missing_api_key: 401;
25
- readonly invalid_api_key: 403;
26
- readonly suspended_api_key: 403;
27
- readonly invalid_from_address: 403;
28
- readonly validation_error: 403;
29
- readonly not_found: 404;
30
- readonly method_not_allowed: 405;
31
- readonly application_error: 500;
32
- readonly internal_server_error: 500;
70
+ readonly missing_required_field: 422;
71
+ readonly invalid_idempotency_key: 400;
72
+ readonly invalid_idempotent_request: 409;
73
+ readonly concurrent_idempotent_requests: 409;
74
+ readonly invalid_access: 422;
75
+ readonly invalid_parameter: 422;
76
+ readonly invalid_region: 422;
77
+ readonly rate_limit_exceeded: 429;
78
+ readonly missing_api_key: 401;
79
+ readonly invalid_api_key: 403;
80
+ readonly suspended_api_key: 403;
81
+ readonly invalid_from_address: 403;
82
+ readonly validation_error: 403;
83
+ readonly not_found: 404;
84
+ readonly method_not_allowed: 405;
85
+ readonly application_error: 500;
86
+ readonly internal_server_error: 500;
33
87
  };
34
88
  type RESEND_ERROR_CODE_KEY = keyof typeof RESEND_ERROR_CODES_BY_KEY;
35
89
  type Response<T> = ({
36
- data: T;
37
- error: null;
90
+ data: T;
91
+ error: null;
38
92
  } | {
39
- error: ErrorResponse;
40
- data: null;
93
+ error: ErrorResponse;
94
+ data: null;
41
95
  }) & {
42
- headers: Record<string, string> | null;
96
+ headers: Record<string, string> | null;
43
97
  };
44
98
  type ErrorResponse = {
45
- message: string;
46
- statusCode: number | null;
47
- name: RESEND_ERROR_CODE_KEY;
99
+ message: string;
100
+ statusCode: number | null;
101
+ name: RESEND_ERROR_CODE_KEY;
48
102
  };
49
103
  type Tag$1 = {
50
- name: string;
51
- value: string;
104
+ name: string;
105
+ value: string;
52
106
  };
53
-
107
+ //#endregion
108
+ //#region src/common/interfaces/email-api-options.interface.d.ts
54
109
  interface EmailApiAttachment {
55
- content?: string | Buffer;
56
- filename?: string | false | undefined;
57
- path?: string;
58
- content_type?: string;
59
- content_id?: string;
110
+ content?: string | Buffer;
111
+ filename?: string | false | undefined;
112
+ path?: string;
113
+ content_type?: string;
114
+ content_id?: string;
60
115
  }
61
116
  interface EmailApiOptions {
62
- from?: string;
63
- to: string | string[];
64
- subject?: string;
65
- region?: string;
66
- headers?: Record<string, string>;
67
- html?: string;
68
- text?: string;
69
- bcc?: string | string[];
70
- cc?: string | string[];
71
- reply_to?: string | string[];
72
- topic_id?: string | null;
73
- scheduled_at?: string;
74
- tags?: Tag$1[];
75
- attachments?: EmailApiAttachment[];
76
- template?: {
77
- id: string;
78
- variables?: Record<string, string | number>;
79
- };
117
+ from?: string;
118
+ to: string | string[];
119
+ subject?: string;
120
+ region?: string;
121
+ headers?: Record<string, string>;
122
+ html?: string;
123
+ text?: string;
124
+ bcc?: string | string[];
125
+ cc?: string | string[];
126
+ reply_to?: string | string[];
127
+ topic_id?: string | null;
128
+ scheduled_at?: string;
129
+ tags?: Tag$1[];
130
+ attachments?: EmailApiAttachment[];
131
+ template?: {
132
+ id: string;
133
+ variables?: Record<string, string | number>;
134
+ };
80
135
  }
81
-
136
+ //#endregion
137
+ //#region src/common/interfaces/get-option.interface.d.ts
82
138
  interface GetOptions {
83
- query?: Record<string, unknown>;
84
- headers?: HeadersInit;
139
+ query?: Record<string, unknown>;
140
+ headers?: HeadersInit;
85
141
  }
86
-
142
+ //#endregion
143
+ //#region src/common/interfaces/idempotent-request.interface.d.ts
87
144
  interface IdempotentRequest {
88
- /**
89
- * Unique key that ensures the same operation is not processed multiple times.
90
- * Allows for safe retries without duplicating operations.
91
- * If provided, will be sent as the `Idempotency-Key` header.
92
- */
93
- idempotencyKey?: string;
94
- }
95
-
145
+ /**
146
+ * Unique key that ensures the same operation is not processed multiple times.
147
+ * Allows for safe retries without duplicating operations.
148
+ * If provided, will be sent as the `Idempotency-Key` header.
149
+ */
150
+ idempotencyKey?: string;
151
+ }
152
+ //#endregion
153
+ //#region src/common/interfaces/pagination-options.interface.d.ts
96
154
  type PaginationOptions = {
97
- /**
98
- * Maximum number of items to return (1-100, default: 20)
99
- */
100
- limit?: number;
155
+ /**
156
+ * Maximum number of items to return (1-100, default: 20)
157
+ */
158
+ limit?: number;
101
159
  } & ({
102
- /**
103
- * Get items after this cursor (cannot be used with 'before')
104
- */
105
- after?: string;
106
- before?: never;
160
+ /**
161
+ * Get items after this cursor (cannot be used with 'before')
162
+ */
163
+ after?: string;
164
+ before?: never;
107
165
  } | {
108
- /**
109
- * Get items before this cursor (cannot be used with 'after')
110
- */
111
- before?: string;
112
- after?: never;
166
+ /**
167
+ * Get items before this cursor (cannot be used with 'after')
168
+ */
169
+ before?: string;
170
+ after?: never;
113
171
  });
114
172
  type PaginatedData<Data> = {
115
- object: 'list';
116
- data: Data;
117
- has_more: boolean;
173
+ object: 'list';
174
+ data: Data;
175
+ has_more: boolean;
118
176
  };
119
-
177
+ //#endregion
178
+ //#region src/common/interfaces/patch-option.interface.d.ts
120
179
  interface PatchOptions {
121
- query?: {
122
- [key: string]: unknown;
123
- };
124
- headers?: HeadersInit;
180
+ query?: {
181
+ [key: string]: unknown;
182
+ };
183
+ headers?: HeadersInit;
125
184
  }
126
-
185
+ //#endregion
186
+ //#region src/common/interfaces/post-option.interface.d.ts
127
187
  interface PostOptions {
128
- query?: {
129
- [key: string]: unknown;
130
- };
131
- headers?: HeadersInit;
188
+ query?: {
189
+ [key: string]: unknown;
190
+ };
191
+ headers?: HeadersInit;
132
192
  }
133
-
193
+ //#endregion
194
+ //#region src/common/interfaces/put-option.interface.d.ts
134
195
  interface PutOptions {
135
- query?: {
136
- [key: string]: unknown;
137
- };
138
- headers?: HeadersInit;
139
- }
140
-
141
- type RequireAtLeastOne<T> = {
142
- [K in keyof T]-?: Required<Pick<T, K>> & Partial<Pick<T, Exclude<keyof T, K>>>;
143
- }[keyof T];
144
-
196
+ query?: {
197
+ [key: string]: unknown;
198
+ };
199
+ headers?: HeadersInit;
200
+ }
201
+ //#endregion
202
+ //#region src/common/interfaces/require-at-least-one.d.ts
203
+ type RequireAtLeastOne<T> = { [K in keyof T]-?: Required<Pick<T, K>> & Partial<Pick<T, Exclude<keyof T, K>>> }[keyof T];
204
+ //#endregion
205
+ //#region src/api-keys/interfaces/create-api-key-options.interface.d.ts
145
206
  interface CreateApiKeyOptions {
146
- name: string;
147
- permission?: 'full_access' | 'sending_access';
148
- domain_id?: string;
149
- }
150
- interface CreateApiKeyRequestOptions extends PostOptions {
207
+ name: string;
208
+ permission?: 'full_access' | 'sending_access';
209
+ domain_id?: string;
151
210
  }
211
+ interface CreateApiKeyRequestOptions extends PostOptions {}
152
212
  interface CreateApiKeyResponseSuccess {
153
- token: string;
154
- id: string;
213
+ token: string;
214
+ id: string;
155
215
  }
156
216
  type CreateApiKeyResponse = Response<CreateApiKeyResponseSuccess>;
157
-
217
+ //#endregion
218
+ //#region src/api-keys/interfaces/list-api-keys.interface.d.ts
158
219
  type ListApiKeysOptions = PaginationOptions;
159
220
  type ListApiKeysResponseSuccess = {
160
- object: 'list';
161
- has_more: boolean;
162
- data: Pick<ApiKey, 'name' | 'id' | 'created_at'>[];
221
+ object: 'list';
222
+ has_more: boolean;
223
+ data: Pick<ApiKey, 'name' | 'id' | 'created_at'>[];
163
224
  };
164
225
  type ListApiKeysResponse = Response<ListApiKeysResponseSuccess>;
165
-
226
+ //#endregion
227
+ //#region src/api-keys/interfaces/remove-api-keys.interface.d.ts
166
228
  type RemoveApiKeyResponseSuccess = {};
167
229
  type RemoveApiKeyResponse = Response<RemoveApiKeyResponseSuccess>;
168
-
230
+ //#endregion
231
+ //#region src/emails/interfaces/create-email-options.interface.d.ts
169
232
  interface EmailRenderOptions$1 {
170
- /**
171
- * The React component used to write the message.
172
- *
173
- * @link https://resend.com/docs/api-reference/emails/send-email#body-parameters
174
- */
175
- react: React$1.ReactNode;
176
- /**
177
- * The HTML version of the message.
178
- *
179
- * @link https://resend.com/docs/api-reference/emails/send-email#body-parameters
180
- */
181
- html: string;
182
- /**
183
- * The plain text version of the message.
184
- *
185
- * @link https://resend.com/docs/api-reference/emails/send-email#body-parameters
186
- */
187
- text: string;
233
+ /**
234
+ * The React component used to write the message.
235
+ *
236
+ * @link https://resend.com/docs/api-reference/emails/send-email#body-parameters
237
+ */
238
+ react: React$1.ReactNode;
239
+ /**
240
+ * The HTML version of the message.
241
+ *
242
+ * @link https://resend.com/docs/api-reference/emails/send-email#body-parameters
243
+ */
244
+ html: string;
245
+ /**
246
+ * The plain text version of the message.
247
+ *
248
+ * @link https://resend.com/docs/api-reference/emails/send-email#body-parameters
249
+ */
250
+ text: string;
188
251
  }
189
252
  interface EmailTemplateOptions {
190
- template: {
191
- id: string;
192
- variables?: Record<string, string | number>;
193
- };
253
+ template: {
254
+ id: string;
255
+ variables?: Record<string, string | number>;
256
+ };
194
257
  }
195
258
  interface CreateEmailBaseOptionsWithTemplate extends Omit<CreateEmailBaseOptions, 'from' | 'subject'> {
196
- from?: string;
197
- subject?: string;
259
+ from?: string;
260
+ subject?: string;
198
261
  }
199
262
  interface CreateEmailBaseOptions {
200
- /**
201
- * Filename and content of attachments (max 40mb per email)
202
- *
203
- * @link https://resend.com/docs/api-reference/emails/send-email#body-parameters
204
- */
205
- attachments?: Attachment$1[];
206
- /**
207
- * Blind carbon copy recipient email address. For multiple addresses, send as an array of strings.
208
- *
209
- * @link https://resend.com/docs/api-reference/emails/send-email#body-parameters
210
- */
211
- bcc?: string | string[];
212
- /**
213
- * Carbon copy recipient email address. For multiple addresses, send as an array of strings.
214
- *
215
- * @link https://resend.com/docs/api-reference/emails/send-email#body-parameters
216
- */
217
- cc?: string | string[];
218
- /**
219
- * Sender email address. To include a friendly name, use the format `"Your Name <sender@domain.com>"`
220
- *
221
- * @link https://resend.com/docs/api-reference/emails/send-email#body-parameters
222
- */
223
- from: string;
224
- /**
225
- * Custom headers to add to the email.
226
- *
227
- * @link https://resend.com/docs/api-reference/emails/send-email#body-parameters
228
- */
229
- headers?: Record<string, string>;
230
- /**
231
- * Reply-to email address. For multiple addresses, send as an array of strings.
232
- *
233
- * @link https://resend.com/docs/api-reference/emails/send-email#body-parameters
234
- */
235
- replyTo?: string | string[];
236
- /**
237
- * Email subject.
238
- *
239
- * @link https://resend.com/docs/api-reference/emails/send-email#body-parameters
240
- */
241
- subject: string;
242
- /**
243
- * Email tags
244
- *
245
- * @link https://resend.com/docs/api-reference/emails/send-email#body-parameters
246
- */
247
- tags?: Tag[];
248
- /**
249
- * Recipient email address. For multiple addresses, send as an array of strings. Max 50.
250
- *
251
- * @link https://resend.com/docs/api-reference/emails/send-email#body-parameters
252
- */
253
- to: string | string[];
254
- /**
255
- * The id of the topic you want to send to
256
- *
257
- * @link https://resend.com/docs/api-reference/emails/send-email#body-parameters
258
- */
259
- topicId?: string | null;
260
- /**
261
- * Schedule email to be sent later.
262
- * The date should be in ISO 8601 format (e.g: 2024-08-05T11:52:01.858Z).
263
- *
264
- * @link https://resend.com/docs/api-reference/emails/send-email#body-parameters
265
- */
266
- scheduledAt?: string;
263
+ /**
264
+ * Filename and content of attachments (max 40mb per email)
265
+ *
266
+ * @link https://resend.com/docs/api-reference/emails/send-email#body-parameters
267
+ */
268
+ attachments?: Attachment[];
269
+ /**
270
+ * Blind carbon copy recipient email address. For multiple addresses, send as an array of strings.
271
+ *
272
+ * @link https://resend.com/docs/api-reference/emails/send-email#body-parameters
273
+ */
274
+ bcc?: string | string[];
275
+ /**
276
+ * Carbon copy recipient email address. For multiple addresses, send as an array of strings.
277
+ *
278
+ * @link https://resend.com/docs/api-reference/emails/send-email#body-parameters
279
+ */
280
+ cc?: string | string[];
281
+ /**
282
+ * Sender email address. To include a friendly name, use the format `"Your Name <sender@domain.com>"`
283
+ *
284
+ * @link https://resend.com/docs/api-reference/emails/send-email#body-parameters
285
+ */
286
+ from: string;
287
+ /**
288
+ * Custom headers to add to the email.
289
+ *
290
+ * @link https://resend.com/docs/api-reference/emails/send-email#body-parameters
291
+ */
292
+ headers?: Record<string, string>;
293
+ /**
294
+ * Reply-to email address. For multiple addresses, send as an array of strings.
295
+ *
296
+ * @link https://resend.com/docs/api-reference/emails/send-email#body-parameters
297
+ */
298
+ replyTo?: string | string[];
299
+ /**
300
+ * Email subject.
301
+ *
302
+ * @link https://resend.com/docs/api-reference/emails/send-email#body-parameters
303
+ */
304
+ subject: string;
305
+ /**
306
+ * Email tags
307
+ *
308
+ * @link https://resend.com/docs/api-reference/emails/send-email#body-parameters
309
+ */
310
+ tags?: Tag[];
311
+ /**
312
+ * Recipient email address. For multiple addresses, send as an array of strings. Max 50.
313
+ *
314
+ * @link https://resend.com/docs/api-reference/emails/send-email#body-parameters
315
+ */
316
+ to: string | string[];
317
+ /**
318
+ * The id of the topic you want to send to
319
+ *
320
+ * @link https://resend.com/docs/api-reference/emails/send-email#body-parameters
321
+ */
322
+ topicId?: string | null;
323
+ /**
324
+ * Schedule email to be sent later.
325
+ * The date should be in ISO 8601 format (e.g: 2024-08-05T11:52:01.858Z).
326
+ *
327
+ * @link https://resend.com/docs/api-reference/emails/send-email#body-parameters
328
+ */
329
+ scheduledAt?: string;
267
330
  }
268
331
  type CreateEmailOptions = ((RequireAtLeastOne<EmailRenderOptions$1> & CreateEmailBaseOptions) & {
269
- template?: never;
332
+ template?: never;
270
333
  }) | ((EmailTemplateOptions & CreateEmailBaseOptionsWithTemplate) & {
271
- react?: never;
272
- html?: never;
273
- text?: never;
334
+ react?: never;
335
+ html?: never;
336
+ text?: never;
274
337
  });
275
- interface CreateEmailRequestOptions extends PostOptions, IdempotentRequest {
276
- }
338
+ interface CreateEmailRequestOptions extends PostOptions, IdempotentRequest {}
277
339
  interface CreateEmailResponseSuccess {
278
- /** The ID of the newly created email. */
279
- id: string;
340
+ /** The ID of the newly created email. */
341
+ id: string;
280
342
  }
281
343
  type CreateEmailResponse = Response<CreateEmailResponseSuccess>;
282
- interface Attachment$1 {
283
- /** Content of an attached file. */
284
- content?: string | Buffer;
285
- /** Name of attached file. */
286
- filename?: string | false | undefined;
287
- /** Path where the attachment file is hosted */
288
- path?: string;
289
- /** Optional content type for the attachment, if not set will be derived from the filename property */
290
- contentType?: string;
291
- /**
292
- * Optional content ID for the attachment, to be used as a reference in the HTML content.
293
- * If set, this attachment will be sent as an inline attachment and you can reference it in the HTML content using the `cid:` prefix.
294
- */
295
- contentId?: string;
344
+ interface Attachment {
345
+ /** Content of an attached file. */
346
+ content?: string | Buffer;
347
+ /** Name of attached file. */
348
+ filename?: string | false | undefined;
349
+ /** Path where the attachment file is hosted */
350
+ path?: string;
351
+ /** Optional content type for the attachment, if not set will be derived from the filename property */
352
+ contentType?: string;
353
+ /**
354
+ * Optional content ID for the attachment, to be used as a reference in the HTML content.
355
+ * If set, this attachment will be sent as an inline attachment and you can reference it in the HTML content using the `cid:` prefix.
356
+ */
357
+ contentId?: string;
296
358
  }
297
359
  type Tag = {
298
- /**
299
- * The name of the email tag. It can only contain ASCII letters (a–z, A–Z), numbers (0–9), underscores (_), or dashes (-). It can contain no more than 256 characters.
300
- */
301
- name: string;
302
- /**
303
- * The value of the email tag. It can only contain ASCII letters (a–z, A–Z), numbers (0–9), underscores (_), or dashes (-). It can contain no more than 256 characters.
304
- */
305
- value: string;
360
+ /**
361
+ * The name of the email tag. It can only contain ASCII letters (a–z, A–Z), numbers (0–9), underscores (_), or dashes (-). It can contain no more than 256 characters.
362
+ */
363
+ name: string;
364
+ /**
365
+ * The value of the email tag. It can only contain ASCII letters (a–z, A–Z), numbers (0–9), underscores (_), or dashes (-). It can contain no more than 256 characters.
366
+ */
367
+ value: string;
306
368
  };
307
-
369
+ //#endregion
370
+ //#region src/batch/interfaces/create-batch-options.interface.d.ts
308
371
  type CreateBatchOptions = CreateEmailOptions[];
309
372
  interface CreateBatchRequestOptions extends PostOptions, IdempotentRequest {
310
- /**
311
- * @default 'strict'
312
- */
313
- batchValidation?: 'strict' | 'permissive';
373
+ /**
374
+ * @default 'strict'
375
+ */
376
+ batchValidation?: 'strict' | 'permissive';
314
377
  }
315
378
  type CreateBatchSuccessResponse<Options extends CreateBatchRequestOptions = CreateBatchRequestOptions> = {
316
- data: {
317
- /** The ID of the newly created email. */
318
- id: string;
319
- }[];
379
+ data: {
380
+ /** The ID of the newly created email. */
381
+ id: string;
382
+ }[];
320
383
  } & (Options['batchValidation'] extends 'permissive' ? {
384
+ /**
385
+ * Only present when header "x-batch-validation" is set to 'permissive'.
386
+ */
387
+ errors: {
388
+ /**
389
+ * The index of the failed email in the batch
390
+ */
391
+ index: number;
321
392
  /**
322
- * Only present when header "x-batch-validation" is set to 'permissive'.
393
+ * The error message for the failed email
323
394
  */
324
- errors: {
325
- /**
326
- * The index of the failed email in the batch
327
- */
328
- index: number;
329
- /**
330
- * The error message for the failed email
331
- */
332
- message: string;
333
- }[];
395
+ message: string;
396
+ }[];
334
397
  } : Record<string, never>);
335
398
  type CreateBatchResponse<Options extends CreateBatchRequestOptions> = Response<CreateBatchSuccessResponse<Options>>;
336
-
399
+ //#endregion
400
+ //#region src/broadcasts/interfaces/broadcast.d.ts
337
401
  interface Broadcast {
338
- id: string;
339
- name: string;
340
- segment_id: string | null;
341
- audience_id: string | null;
342
- from: string | null;
343
- subject: string | null;
344
- reply_to: string[] | null;
345
- preview_text: string | null;
346
- status: 'draft' | 'sent' | 'queued';
347
- created_at: string;
348
- scheduled_at: string | null;
349
- sent_at: string | null;
350
- topic_id?: string | null;
351
- html: string | null;
352
- text: string | null;
353
- }
354
-
402
+ id: string;
403
+ name: string;
404
+ segment_id: string | null;
405
+ audience_id: string | null;
406
+ from: string | null;
407
+ subject: string | null;
408
+ reply_to: string[] | null;
409
+ preview_text: string | null;
410
+ status: 'draft' | 'sent' | 'queued';
411
+ created_at: string;
412
+ scheduled_at: string | null;
413
+ sent_at: string | null;
414
+ topic_id?: string | null;
415
+ html: string | null;
416
+ text: string | null;
417
+ }
418
+ //#endregion
419
+ //#region src/broadcasts/interfaces/create-broadcast-options.interface.d.ts
355
420
  interface EmailRenderOptions {
356
- /**
357
- * The React component used to write the message.
358
- *
359
- * @link https://resend.com/docs/api-reference/broadcasts/create#body-parameters
360
- */
361
- react: React$1.ReactNode;
362
- /**
363
- * The HTML version of the message.
364
- *
365
- * @link https://resend.com/docs/api-reference/broadcasts/create#body-parameters
366
- */
367
- html: string;
368
- /**
369
- * The plain text version of the message.
370
- *
371
- * @link https://resend.com/docs/api-reference/broadcasts/create#body-parameters
372
- */
373
- text: string;
421
+ /**
422
+ * The React component used to write the message.
423
+ *
424
+ * @link https://resend.com/docs/api-reference/broadcasts/create#body-parameters
425
+ */
426
+ react: React$1.ReactNode;
427
+ /**
428
+ * The HTML version of the message.
429
+ *
430
+ * @link https://resend.com/docs/api-reference/broadcasts/create#body-parameters
431
+ */
432
+ html: string;
433
+ /**
434
+ * The plain text version of the message.
435
+ *
436
+ * @link https://resend.com/docs/api-reference/broadcasts/create#body-parameters
437
+ */
438
+ text: string;
374
439
  }
375
440
  interface SegmentOptions {
376
- /**
377
- * The id of the segment you want to send to
378
- *
379
- * @link https://resend.com/docs/api-reference/broadcasts/create#body-parameters
380
- */
381
- segmentId: string;
382
- /**
383
- * @deprecated Use segmentId instead
384
- */
385
- audienceId: string;
441
+ /**
442
+ * The id of the segment you want to send to
443
+ *
444
+ * @link https://resend.com/docs/api-reference/broadcasts/create#body-parameters
445
+ */
446
+ segmentId: string;
447
+ /**
448
+ * @deprecated Use segmentId instead
449
+ */
450
+ audienceId: string;
386
451
  }
387
452
  interface CreateBroadcastBaseOptions {
388
- /**
389
- * The name of the broadcast
390
- *
391
- * @link https://resend.com/docs/api-reference/broadcasts/create#body-parameters
392
- */
393
- name?: string;
394
- /**
395
- * A short snippet of text displayed as a preview in recipients' inboxes, often shown below or beside the subject line.
396
- *
397
- * @link https://resend.com/docs/api-reference/broadcasts/create#body-parameters
398
- */
399
- previewText?: string;
400
- /**
401
- * Sender email address. To include a friendly name, use the format `"Your Name <sender@domain.com>"`
402
- *
403
- * @link https://resend.com/docs/api-reference/broadcasts/create#body-parameters
404
- */
405
- from: string;
406
- /**
407
- * Reply-to email address. For multiple addresses, send as an array of strings.
408
- *
409
- * @link https://resend.com/docs/api-reference/broadcasts/create#body-parameters
410
- */
411
- replyTo?: string | string[];
412
- /**
413
- * Email subject.
414
- *
415
- * @link https://resend.com/docs/api-reference/broadcasts/create#body-parameters
416
- */
417
- subject: string;
418
- /**
419
- * The id of the topic you want to send to
420
- *
421
- * @link https://resend.com/docs/api-reference/broadcasts/create#body-parameters
422
- */
423
- topicId?: string | null;
453
+ /**
454
+ * The name of the broadcast
455
+ *
456
+ * @link https://resend.com/docs/api-reference/broadcasts/create#body-parameters
457
+ */
458
+ name?: string;
459
+ /**
460
+ * A short snippet of text displayed as a preview in recipients' inboxes, often shown below or beside the subject line.
461
+ *
462
+ * @link https://resend.com/docs/api-reference/broadcasts/create#body-parameters
463
+ */
464
+ previewText?: string;
465
+ /**
466
+ * Sender email address. To include a friendly name, use the format `"Your Name <sender@domain.com>"`
467
+ *
468
+ * @link https://resend.com/docs/api-reference/broadcasts/create#body-parameters
469
+ */
470
+ from: string;
471
+ /**
472
+ * Reply-to email address. For multiple addresses, send as an array of strings.
473
+ *
474
+ * @link https://resend.com/docs/api-reference/broadcasts/create#body-parameters
475
+ */
476
+ replyTo?: string | string[];
477
+ /**
478
+ * Email subject.
479
+ *
480
+ * @link https://resend.com/docs/api-reference/broadcasts/create#body-parameters
481
+ */
482
+ subject: string;
483
+ /**
484
+ * The id of the topic you want to send to
485
+ *
486
+ * @link https://resend.com/docs/api-reference/broadcasts/create#body-parameters
487
+ */
488
+ topicId?: string | null;
424
489
  }
425
490
  type CreateBroadcastOptions = RequireAtLeastOne<EmailRenderOptions> & RequireAtLeastOne<SegmentOptions> & CreateBroadcastBaseOptions;
426
- interface CreateBroadcastRequestOptions extends PostOptions {
427
- }
491
+ interface CreateBroadcastRequestOptions extends PostOptions {}
428
492
  interface CreateBroadcastResponseSuccess {
429
- /** The ID of the newly sent broadcasts. */
430
- id: string;
493
+ /** The ID of the newly sent broadcasts. */
494
+ id: string;
431
495
  }
432
496
  type CreateBroadcastResponse = Response<CreateBroadcastResponseSuccess>;
433
-
497
+ //#endregion
498
+ //#region src/broadcasts/interfaces/get-broadcast.interface.d.ts
434
499
  interface GetBroadcastResponseSuccess extends Broadcast {
435
- object: 'broadcast';
500
+ object: 'broadcast';
436
501
  }
437
502
  type GetBroadcastResponse = Response<GetBroadcastResponseSuccess>;
438
-
503
+ //#endregion
504
+ //#region src/broadcasts/interfaces/list-broadcasts.interface.d.ts
439
505
  type ListBroadcastsOptions = PaginationOptions;
440
506
  type ListBroadcastsResponseSuccess = {
441
- object: 'list';
442
- has_more: boolean;
443
- data: Pick<Broadcast, 'id' | 'name' | 'audience_id' | 'segment_id' | 'status' | 'created_at' | 'scheduled_at' | 'sent_at'>[];
507
+ object: 'list';
508
+ has_more: boolean;
509
+ data: Pick<Broadcast, 'id' | 'name' | 'audience_id' | 'segment_id' | 'status' | 'created_at' | 'scheduled_at' | 'sent_at'>[];
444
510
  };
445
511
  type ListBroadcastsResponse = Response<ListBroadcastsResponseSuccess>;
446
-
512
+ //#endregion
513
+ //#region src/broadcasts/interfaces/remove-broadcast.interface.d.ts
447
514
  interface RemoveBroadcastResponseSuccess extends Pick<Broadcast, 'id'> {
448
- object: 'broadcast';
449
- deleted: boolean;
515
+ object: 'broadcast';
516
+ deleted: boolean;
450
517
  }
451
518
  type RemoveBroadcastResponse = Response<RemoveBroadcastResponseSuccess>;
452
-
519
+ //#endregion
520
+ //#region src/broadcasts/interfaces/send-broadcast-options.interface.d.ts
453
521
  interface SendBroadcastBaseOptions {
454
- /**
455
- * Schedule email to be sent later.
456
- * The date should be in ISO 8601 format (e.g: 2024-08-05T11:52:01.858Z)
457
- * or relative time (eg: in 2 days).
458
- *
459
- * @link https://resend.com/docs/api-reference/broadcasts/send#body-parameters
460
- */
461
- scheduledAt?: string;
522
+ /**
523
+ * Schedule email to be sent later.
524
+ * The date should be in ISO 8601 format (e.g: 2024-08-05T11:52:01.858Z)
525
+ * or relative time (eg: in 2 days).
526
+ *
527
+ * @link https://resend.com/docs/api-reference/broadcasts/send#body-parameters
528
+ */
529
+ scheduledAt?: string;
462
530
  }
463
531
  type SendBroadcastOptions = SendBroadcastBaseOptions;
464
- interface SendBroadcastRequestOptions extends PostOptions {
465
- }
532
+ interface SendBroadcastRequestOptions extends PostOptions {}
466
533
  interface SendBroadcastResponseSuccess {
467
- /** The ID of the sent broadcast. */
468
- id: string;
534
+ /** The ID of the sent broadcast. */
535
+ id: string;
469
536
  }
470
537
  type SendBroadcastResponse = Response<SendBroadcastResponseSuccess>;
471
-
538
+ //#endregion
539
+ //#region src/broadcasts/interfaces/update-broadcast.interface.d.ts
472
540
  interface UpdateBroadcastResponseSuccess {
473
- id: string;
541
+ id: string;
474
542
  }
475
543
  type UpdateBroadcastOptions = {
476
- name?: string;
477
- segmentId?: string;
478
- /**
479
- * @deprecated Use segmentId instead
480
- */
481
- audienceId?: string;
482
- from?: string;
483
- html?: string;
484
- react?: React.ReactNode;
485
- text?: string;
486
- subject?: string;
487
- replyTo?: string[];
488
- previewText?: string;
489
- topicId?: string | null;
544
+ name?: string;
545
+ segmentId?: string;
546
+ /**
547
+ * @deprecated Use segmentId instead
548
+ */
549
+ audienceId?: string;
550
+ from?: string;
551
+ html?: string;
552
+ react?: React.ReactNode;
553
+ text?: string;
554
+ subject?: string;
555
+ replyTo?: string[];
556
+ previewText?: string;
557
+ topicId?: string | null;
490
558
  };
491
559
  type UpdateBroadcastResponse = Response<UpdateBroadcastResponseSuccess>;
492
-
560
+ //#endregion
561
+ //#region src/contacts/interfaces/contact.d.ts
493
562
  interface Contact {
494
- created_at: string;
495
- id: string;
496
- email: string;
497
- first_name?: string;
498
- last_name?: string;
499
- unsubscribed: boolean;
563
+ created_at: string;
564
+ id: string;
565
+ email: string;
566
+ first_name?: string;
567
+ last_name?: string;
568
+ unsubscribed: boolean;
500
569
  }
501
570
  type SelectingField = {
502
- /**
503
- * The contact id.
504
- *
505
- * @link https://resend.com/docs/api-reference/contacts/delete-contact#body-parameters
506
- */
507
- id: string;
508
- /**
509
- * The contact email.
510
- *
511
- * @link https://resend.com/docs/api-reference/contacts/delete-contact#body-parameters
512
- */
513
- email?: undefined | null;
571
+ /**
572
+ * The contact id.
573
+ *
574
+ * @link https://resend.com/docs/api-reference/contacts/delete-contact#body-parameters
575
+ */
576
+ id: string;
577
+ /**
578
+ * The contact email.
579
+ *
580
+ * @link https://resend.com/docs/api-reference/contacts/delete-contact#body-parameters
581
+ */
582
+ email?: undefined | null;
514
583
  } | {
515
- /**
516
- * The contact id.
517
- *
518
- * @link https://resend.com/docs/api-reference/contacts/delete-contact#body-parameters
519
- */
520
- id?: undefined | null;
521
- /**
522
- * The contact email.
523
- *
524
- * @link https://resend.com/docs/api-reference/contacts/delete-contact#body-parameters
525
- */
526
- email: string;
584
+ /**
585
+ * The contact id.
586
+ *
587
+ * @link https://resend.com/docs/api-reference/contacts/delete-contact#body-parameters
588
+ */
589
+ id?: undefined | null;
590
+ /**
591
+ * The contact email.
592
+ *
593
+ * @link https://resend.com/docs/api-reference/contacts/delete-contact#body-parameters
594
+ */
595
+ email: string;
527
596
  };
528
-
597
+ //#endregion
598
+ //#region src/contacts/interfaces/create-contact-options.interface.d.ts
529
599
  interface CreateContactPropertiesOptions {
530
- [key: string]: string | number | null;
600
+ [key: string]: string | number | null;
531
601
  }
532
602
  interface CreateContactOptions {
533
- audienceId?: string;
534
- email: string;
535
- unsubscribed?: boolean;
536
- firstName?: string;
537
- lastName?: string;
538
- properties?: CreateContactPropertiesOptions;
539
- }
540
- interface CreateContactRequestOptions extends PostOptions {
541
- }
603
+ audienceId?: string;
604
+ email: string;
605
+ unsubscribed?: boolean;
606
+ firstName?: string;
607
+ lastName?: string;
608
+ properties?: CreateContactPropertiesOptions;
609
+ }
610
+ interface CreateContactRequestOptions extends PostOptions {}
542
611
  interface CreateContactResponseSuccess extends Pick<Contact, 'id'> {
543
- object: 'contact';
612
+ object: 'contact';
544
613
  }
545
614
  type CreateContactResponse = Response<CreateContactResponseSuccess>;
546
-
615
+ //#endregion
616
+ //#region src/contacts/interfaces/get-contact.interface.d.ts
547
617
  type GetContactOptions = string | ({
548
- audienceId?: string;
618
+ audienceId?: string;
549
619
  } & SelectingField);
550
620
  type ContactPropertyValue = {
551
- type: 'string';
552
- value: string;
621
+ type: 'string';
622
+ value: string;
553
623
  } | {
554
- type: 'number';
555
- value: number;
624
+ type: 'number';
625
+ value: number;
556
626
  };
557
627
  interface ContactProperties$1 {
558
- [key: string]: ContactPropertyValue;
628
+ [key: string]: ContactPropertyValue;
559
629
  }
560
630
  interface GetContactResponseSuccess extends Pick<Contact, 'id' | 'email' | 'created_at' | 'first_name' | 'last_name' | 'unsubscribed'> {
561
- object: 'contact';
562
- properties: ContactProperties$1;
631
+ object: 'contact';
632
+ properties: ContactProperties$1;
563
633
  }
564
634
  type GetContactResponse = Response<GetContactResponseSuccess>;
565
-
635
+ //#endregion
636
+ //#region src/contacts/interfaces/list-contacts.interface.d.ts
566
637
  type ListContactsOptions = PaginationOptions & {
567
- segmentId?: string;
568
- /**
569
- * @deprecated Use segmentId instead to filter by segment
570
- */
571
- audienceId?: string;
638
+ segmentId?: string;
639
+ /**
640
+ * @deprecated Use segmentId instead to filter by segment
641
+ */
642
+ audienceId?: string;
572
643
  };
573
644
  interface ListContactsResponseSuccess {
574
- object: 'list';
575
- data: Contact[];
576
- has_more: boolean;
645
+ object: 'list';
646
+ data: Contact[];
647
+ has_more: boolean;
577
648
  }
578
649
  type ListContactsResponse = Response<ListContactsResponseSuccess>;
579
-
650
+ //#endregion
651
+ //#region src/contacts/interfaces/remove-contact.interface.d.ts
580
652
  type RemoveContactsResponseSuccess = {
581
- object: 'contact';
582
- deleted: boolean;
583
- contact: string;
653
+ object: 'contact';
654
+ deleted: boolean;
655
+ contact: string;
584
656
  };
585
657
  type RemoveContactOptions = string | (SelectingField & {
586
- audienceId?: string;
658
+ audienceId?: string;
587
659
  });
588
660
  type RemoveContactsResponse = Response<RemoveContactsResponseSuccess>;
589
-
661
+ //#endregion
662
+ //#region src/contacts/interfaces/update-contact.interface.d.ts
590
663
  interface UpdateContactPropertiesOptions {
591
- [key: string]: string | number | null;
664
+ [key: string]: string | number | null;
592
665
  }
593
666
  type UpdateContactOptions = {
594
- audienceId?: string;
595
- unsubscribed?: boolean;
596
- firstName?: string;
597
- lastName?: string;
598
- properties?: UpdateContactPropertiesOptions;
667
+ audienceId?: string;
668
+ unsubscribed?: boolean;
669
+ firstName?: string;
670
+ lastName?: string;
671
+ properties?: UpdateContactPropertiesOptions;
599
672
  } & SelectingField;
600
673
  type UpdateContactResponseSuccess = Pick<Contact, 'id'> & {
601
- object: 'contact';
674
+ object: 'contact';
602
675
  };
603
676
  type UpdateContactResponse = Response<UpdateContactResponseSuccess>;
604
-
605
- type DomainRegion = 'us-east-1' | 'eu-west-1' | 'sa-east-1' | 'ap-northeast-1';
606
- type DomainNameservers = 'Amazon Route 53' | 'Cloudflare' | 'Digital Ocean' | 'GoDaddy' | 'Google Domains' | 'Namecheap' | 'Unidentified' | 'Vercel';
607
- type DomainStatus = 'pending' | 'verified' | 'failed' | 'temporary_failure' | 'not_started';
608
- type DomainRecords = DomainSpfRecord | DomainDkimRecord | ReceivingRecord;
609
- interface DomainSpfRecord {
610
- record: 'SPF';
611
- name: string;
612
- value: string;
613
- type: 'MX' | 'TXT';
614
- ttl: string;
615
- status: DomainStatus;
616
- routing_policy?: string;
617
- priority?: number;
618
- proxy_status?: 'enable' | 'disable';
619
- }
620
- interface DomainDkimRecord {
621
- record: 'DKIM';
622
- name: string;
623
- value: string;
624
- type: 'CNAME' | 'TXT';
625
- ttl: string;
626
- status: DomainStatus;
627
- routing_policy?: string;
628
- priority?: number;
629
- proxy_status?: 'enable' | 'disable';
630
- }
631
- interface ReceivingRecord {
632
- record: 'Receiving';
633
- name: string;
634
- value: string;
635
- type: 'MX';
636
- ttl: string;
637
- status: DomainStatus;
638
- priority: number;
639
- }
640
- interface Domain {
641
- id: string;
642
- name: string;
643
- status: DomainStatus;
644
- created_at: string;
645
- region: DomainRegion;
646
- }
647
-
677
+ //#endregion
678
+ //#region src/domains/interfaces/create-domain-options.interface.d.ts
648
679
  interface CreateDomainOptions {
649
- name: string;
650
- region?: DomainRegion;
651
- customReturnPath?: string;
652
- }
653
- interface CreateDomainRequestOptions extends PostOptions {
680
+ name: string;
681
+ region?: DomainRegion;
682
+ customReturnPath?: string;
683
+ capabilities?: Partial<DomainCapabilities>;
654
684
  }
685
+ interface CreateDomainRequestOptions extends PostOptions {}
655
686
  interface CreateDomainResponseSuccess extends Pick<Domain, 'name' | 'id' | 'status' | 'created_at' | 'region'> {
656
- records: DomainRecords[];
687
+ records: DomainRecords[];
688
+ capabilities: DomainCapabilities;
657
689
  }
658
690
  type CreateDomainResponse = Response<CreateDomainResponseSuccess>;
659
-
660
- interface GetDomainResponseSuccess extends Pick<Domain, 'id' | 'name' | 'created_at' | 'region' | 'status'> {
661
- object: 'domain';
662
- records: DomainRecords[];
691
+ //#endregion
692
+ //#region src/domains/interfaces/get-domain.interface.d.ts
693
+ interface GetDomainResponseSuccess extends Pick<Domain, 'id' | 'name' | 'created_at' | 'region' | 'status' | 'capabilities'> {
694
+ object: 'domain';
695
+ records: DomainRecords[];
663
696
  }
664
697
  type GetDomainResponse = Response<GetDomainResponseSuccess>;
665
-
698
+ //#endregion
699
+ //#region src/domains/interfaces/list-domains.interface.d.ts
666
700
  type ListDomainsOptions = PaginationOptions;
667
701
  type ListDomainsResponseSuccess = {
668
- data: Domain[];
669
- object: 'list';
670
- has_more: boolean;
702
+ data: Domain[];
703
+ object: 'list';
704
+ has_more: boolean;
671
705
  };
672
706
  type ListDomainsResponse = Response<ListDomainsResponseSuccess>;
673
-
707
+ //#endregion
708
+ //#region src/domains/interfaces/remove-domain.interface.d.ts
674
709
  type RemoveDomainsResponseSuccess = Pick<Domain, 'id'> & {
675
- object: 'domain';
676
- deleted: boolean;
710
+ object: 'domain';
711
+ deleted: boolean;
677
712
  };
678
713
  type RemoveDomainsResponse = Response<RemoveDomainsResponseSuccess>;
679
-
714
+ //#endregion
715
+ //#region src/domains/interfaces/update-domain.interface.d.ts
680
716
  interface UpdateDomainsOptions {
681
- id: string;
682
- clickTracking?: boolean;
683
- openTracking?: boolean;
684
- tls?: 'enforced' | 'opportunistic';
717
+ id: string;
718
+ clickTracking?: boolean;
719
+ openTracking?: boolean;
720
+ tls?: 'enforced' | 'opportunistic';
721
+ capabilities?: Partial<DomainCapabilities>;
685
722
  }
686
723
  type UpdateDomainsResponseSuccess = Pick<Domain, 'id'> & {
687
- object: 'domain';
724
+ object: 'domain';
688
725
  };
689
726
  type UpdateDomainsResponse = Response<UpdateDomainsResponseSuccess>;
690
-
727
+ //#endregion
728
+ //#region src/domains/interfaces/verify-domain.interface.d.ts
691
729
  type VerifyDomainsResponseSuccess = Pick<Domain, 'id'> & {
692
- object: 'domain';
730
+ object: 'domain';
693
731
  };
694
732
  type VerifyDomainsResponse = Response<VerifyDomainsResponseSuccess>;
695
-
696
- interface Attachment {
697
- id: string;
698
- filename?: string;
699
- size: number;
700
- content_type: string;
701
- content_disposition: 'inline' | 'attachment';
702
- content_id?: string;
703
- download_url: string;
704
- expires_at: string;
705
- }
706
-
733
+ //#endregion
734
+ //#region src/common/interfaces/attachment.interface.d.ts
735
+ interface Attachment$1 {
736
+ id: string;
737
+ filename?: string;
738
+ size: number;
739
+ content_type: string;
740
+ content_disposition: 'inline' | 'attachment';
741
+ content_id?: string;
742
+ download_url: string;
743
+ expires_at: string;
744
+ }
745
+ //#endregion
746
+ //#region src/emails/attachments/interfaces/get-attachment.interface.d.ts
707
747
  interface GetAttachmentOptions {
708
- emailId: string;
709
- id: string;
748
+ emailId: string;
749
+ id: string;
710
750
  }
711
751
  type GetAttachmentResponseSuccess = {
712
- object: 'attachment';
713
- } & Attachment;
752
+ object: 'attachment';
753
+ } & Attachment$1;
714
754
  type GetAttachmentResponse = Response<GetAttachmentResponseSuccess>;
715
-
755
+ //#endregion
756
+ //#region src/emails/attachments/interfaces/list-attachments.interface.d.ts
716
757
  type ListAttachmentsOptions = PaginationOptions & {
717
- emailId: string;
758
+ emailId: string;
718
759
  };
719
760
  interface ListAttachmentsApiResponse {
720
- object: 'list';
721
- has_more: boolean;
722
- data: Attachment[];
761
+ object: 'list';
762
+ has_more: boolean;
763
+ data: Attachment$1[];
723
764
  }
724
765
  interface ListAttachmentsResponseSuccess {
725
- object: 'list';
726
- has_more: boolean;
727
- data: Attachment[];
766
+ object: 'list';
767
+ has_more: boolean;
768
+ data: Attachment$1[];
728
769
  }
729
770
  type ListAttachmentsResponse = Response<ListAttachmentsResponseSuccess>;
730
-
771
+ //#endregion
772
+ //#region src/emails/interfaces/cancel-email-options.interface.d.ts
731
773
  interface CancelEmailResponseSuccess {
732
- object: 'email';
733
- id: string;
774
+ object: 'email';
775
+ id: string;
734
776
  }
735
777
  type CancelEmailResponse = Response<CancelEmailResponseSuccess>;
736
-
778
+ //#endregion
779
+ //#region src/emails/interfaces/get-email-options.interface.d.ts
737
780
  interface GetEmailResponseSuccess {
738
- bcc: string[] | null;
739
- cc: string[] | null;
740
- created_at: string;
741
- from: string;
742
- html: string | null;
743
- id: string;
744
- last_event: 'bounced' | 'canceled' | 'clicked' | 'complained' | 'delivered' | 'delivery_delayed' | 'failed' | 'opened' | 'queued' | 'scheduled' | 'sent';
745
- reply_to: string[] | null;
746
- subject: string;
747
- text: string | null;
748
- tags?: {
749
- name: string;
750
- value: string;
751
- }[];
752
- to: string[];
753
- topic_id?: string | null;
754
- scheduled_at: string | null;
755
- object: 'email';
781
+ bcc: string[] | null;
782
+ cc: string[] | null;
783
+ created_at: string;
784
+ from: string;
785
+ html: string | null;
786
+ id: string;
787
+ last_event: 'bounced' | 'canceled' | 'clicked' | 'complained' | 'delivered' | 'delivery_delayed' | 'failed' | 'opened' | 'queued' | 'scheduled' | 'sent';
788
+ reply_to: string[] | null;
789
+ subject: string;
790
+ text: string | null;
791
+ tags?: {
792
+ name: string;
793
+ value: string;
794
+ }[];
795
+ to: string[];
796
+ topic_id?: string | null;
797
+ scheduled_at: string | null;
798
+ object: 'email';
756
799
  }
757
800
  type GetEmailResponse = Response<GetEmailResponseSuccess>;
758
-
801
+ //#endregion
802
+ //#region src/emails/interfaces/update-email-options.interface.d.ts
759
803
  interface UpdateEmailOptions {
760
- id: string;
761
- scheduledAt: string;
804
+ id: string;
805
+ scheduledAt: string;
762
806
  }
763
807
  interface UpdateEmailResponseSuccess {
764
- id: string;
765
- object: 'email';
808
+ id: string;
809
+ object: 'email';
766
810
  }
767
811
  type UpdateEmailResponse = Response<UpdateEmailResponseSuccess>;
768
-
812
+ //#endregion
813
+ //#region src/emails/receiving/interfaces/get-receiving-email.interface.d.ts
769
814
  interface GetReceivingEmailResponseSuccess {
770
- object: 'email';
815
+ object: 'email';
816
+ id: string;
817
+ to: string[];
818
+ from: string;
819
+ created_at: string;
820
+ subject: string;
821
+ bcc: string[] | null;
822
+ cc: string[] | null;
823
+ reply_to: string[] | null;
824
+ html: string | null;
825
+ text: string | null;
826
+ headers: Record<string, string>;
827
+ message_id: string;
828
+ attachments: Array<{
771
829
  id: string;
772
- to: string[];
773
- from: string;
774
- created_at: string;
775
- subject: string;
776
- bcc: string[] | null;
777
- cc: string[] | null;
778
- reply_to: string[] | null;
779
- html: string | null;
780
- text: string | null;
781
- headers: Record<string, string>;
782
- message_id: string;
783
- attachments: Array<{
784
- id: string;
785
- filename: string;
786
- size: number;
787
- content_type: string;
788
- content_id: string;
789
- content_disposition: string;
790
- }>;
830
+ filename: string;
831
+ size: number;
832
+ content_type: string;
833
+ content_id: string;
834
+ content_disposition: string;
835
+ }>;
791
836
  }
792
837
  type GetReceivingEmailResponse = Response<GetReceivingEmailResponseSuccess>;
793
-
838
+ //#endregion
839
+ //#region src/emails/receiving/interfaces/list-receiving-emails.interface.d.ts
794
840
  type ListReceivingEmailsOptions = PaginationOptions;
795
841
  type ListReceivingEmail = Omit<GetReceivingEmailResponseSuccess, 'html' | 'text' | 'headers' | 'object'>;
796
842
  interface ListReceivingEmailsResponseSuccess {
797
- object: 'list';
798
- has_more: boolean;
799
- data: ListReceivingEmail[];
843
+ object: 'list';
844
+ has_more: boolean;
845
+ data: ListReceivingEmail[];
800
846
  }
801
847
  type ListReceivingEmailsResponse = {
802
- data: ListReceivingEmailsResponseSuccess;
803
- error: null;
848
+ data: ListReceivingEmailsResponseSuccess;
849
+ error: null;
804
850
  } | {
805
- data: null;
806
- error: ErrorResponse;
851
+ data: null;
852
+ error: ErrorResponse;
807
853
  };
808
-
854
+ //#endregion
855
+ //#region src/api-keys/api-keys.d.ts
809
856
  declare class ApiKeys {
810
- private readonly resend;
811
- constructor(resend: Resend);
812
- create(payload: CreateApiKeyOptions, options?: CreateApiKeyRequestOptions): Promise<CreateApiKeyResponse>;
813
- list(options?: ListApiKeysOptions): Promise<ListApiKeysResponse>;
814
- remove(id: string): Promise<RemoveApiKeyResponse>;
815
- }
816
-
857
+ private readonly resend;
858
+ constructor(resend: Resend);
859
+ create(payload: CreateApiKeyOptions, options?: CreateApiKeyRequestOptions): Promise<CreateApiKeyResponse>;
860
+ list(options?: ListApiKeysOptions): Promise<ListApiKeysResponse>;
861
+ remove(id: string): Promise<RemoveApiKeyResponse>;
862
+ }
863
+ //#endregion
864
+ //#region src/batch/batch.d.ts
817
865
  declare class Batch {
818
- private readonly resend;
819
- constructor(resend: Resend);
820
- send<Options extends CreateBatchRequestOptions>(payload: CreateBatchOptions, options?: Options): Promise<CreateBatchResponse<Options>>;
821
- create<Options extends CreateBatchRequestOptions>(payload: CreateBatchOptions, options?: Options): Promise<CreateBatchResponse<Options>>;
866
+ private readonly resend;
867
+ constructor(resend: Resend);
868
+ send<Options extends CreateBatchRequestOptions>(payload: CreateBatchOptions, options?: Options): Promise<CreateBatchResponse<Options>>;
869
+ create<Options extends CreateBatchRequestOptions>(payload: CreateBatchOptions, options?: Options): Promise<CreateBatchResponse<Options>>;
822
870
  }
823
-
871
+ //#endregion
872
+ //#region src/broadcasts/broadcasts.d.ts
824
873
  declare class Broadcasts {
825
- private readonly resend;
826
- constructor(resend: Resend);
827
- create(payload: CreateBroadcastOptions, options?: CreateBroadcastRequestOptions): Promise<SendBroadcastResponse>;
828
- send(id: string, payload?: SendBroadcastOptions): Promise<SendBroadcastResponse>;
829
- list(options?: ListBroadcastsOptions): Promise<ListBroadcastsResponse>;
830
- get(id: string): Promise<GetBroadcastResponse>;
831
- remove(id: string): Promise<RemoveBroadcastResponse>;
832
- update(id: string, payload: UpdateBroadcastOptions): Promise<UpdateBroadcastResponse>;
833
- }
834
-
874
+ private readonly resend;
875
+ constructor(resend: Resend);
876
+ create(payload: CreateBroadcastOptions, options?: CreateBroadcastRequestOptions): Promise<SendBroadcastResponse>;
877
+ send(id: string, payload?: SendBroadcastOptions): Promise<SendBroadcastResponse>;
878
+ list(options?: ListBroadcastsOptions): Promise<ListBroadcastsResponse>;
879
+ get(id: string): Promise<GetBroadcastResponse>;
880
+ remove(id: string): Promise<RemoveBroadcastResponse>;
881
+ update(id: string, payload: UpdateBroadcastOptions): Promise<UpdateBroadcastResponse>;
882
+ }
883
+ //#endregion
884
+ //#region src/contact-properties/interfaces/contact-property.d.ts
835
885
  type StringBaseContactProperty = {
836
- type: 'string';
837
- fallbackValue: string | null;
886
+ type: 'string';
887
+ fallbackValue: string | null;
838
888
  };
839
889
  type NumberBaseContactProperty = {
840
- type: 'number';
841
- fallbackValue: number | null;
890
+ type: 'number';
891
+ fallbackValue: number | null;
842
892
  };
843
893
  type ContactProperty = {
844
- id: string;
845
- createdAt: string;
846
- key: string;
894
+ id: string;
895
+ createdAt: string;
896
+ key: string;
847
897
  } & (StringBaseContactProperty | NumberBaseContactProperty);
848
-
898
+ //#endregion
899
+ //#region src/contact-properties/interfaces/create-contact-property-options.interface.d.ts
849
900
  type StringBaseContactPropertyOptions = {
850
- type: 'string';
851
- fallbackValue?: string | null;
901
+ type: 'string';
902
+ fallbackValue?: string | null;
852
903
  };
853
904
  type NumberBaseContactPropertyOptions = {
854
- type: 'number';
855
- fallbackValue?: number | null;
905
+ type: 'number';
906
+ fallbackValue?: number | null;
856
907
  };
857
908
  type CreateContactPropertyOptions = {
858
- key: string;
909
+ key: string;
859
910
  } & (StringBaseContactPropertyOptions | NumberBaseContactPropertyOptions);
860
911
  type CreateContactPropertyResponseSuccess = Pick<ContactProperty, 'id'> & {
861
- object: 'contact_property';
912
+ object: 'contact_property';
862
913
  };
863
914
  type CreateContactPropertyResponse = Response<CreateContactPropertyResponseSuccess>;
864
-
915
+ //#endregion
916
+ //#region src/contact-properties/interfaces/delete-contact-property-options.interface.d.ts
865
917
  type RemoveContactPropertyResponseSuccess = Pick<ContactProperty, 'id'> & {
866
- object: 'contact_property';
867
- deleted: boolean;
918
+ object: 'contact_property';
919
+ deleted: boolean;
868
920
  };
869
921
  type RemoveContactPropertyResponse = Response<RemoveContactPropertyResponseSuccess>;
870
-
922
+ //#endregion
923
+ //#region src/contact-properties/interfaces/get-contact-property.interface.d.ts
871
924
  type GetContactPropertyResponse = Response<ContactProperty & {
872
- object: 'contact_property';
925
+ object: 'contact_property';
873
926
  }>;
874
-
927
+ //#endregion
928
+ //#region src/contact-properties/interfaces/list-contact-properties-options.interface.d.ts
875
929
  type ListContactPropertiesOptions = PaginationOptions;
876
930
  type ListContactPropertiesResponse = Response<{
877
- object: 'list';
878
- has_more: boolean;
879
- data: ContactProperty[];
931
+ object: 'list';
932
+ has_more: boolean;
933
+ data: ContactProperty[];
880
934
  }>;
881
-
935
+ //#endregion
936
+ //#region src/contact-properties/interfaces/update-contact-property-options.interface.d.ts
882
937
  type UpdateContactPropertyOptions = {
883
- id: string;
884
- fallbackValue?: string | number | null;
938
+ id: string;
939
+ fallbackValue?: string | number | null;
885
940
  };
886
941
  type UpdateContactPropertyResponseSuccess = Pick<ContactProperty, 'id'> & {
887
- object: 'contact_property';
942
+ object: 'contact_property';
888
943
  };
889
944
  type UpdateContactPropertyResponse = Response<UpdateContactPropertyResponseSuccess>;
890
-
945
+ //#endregion
946
+ //#region src/contact-properties/contact-properties.d.ts
891
947
  declare class ContactProperties {
892
- private readonly resend;
893
- constructor(resend: Resend);
894
- create(options: CreateContactPropertyOptions): Promise<CreateContactPropertyResponse>;
895
- list(options?: ListContactPropertiesOptions): Promise<ListContactPropertiesResponse>;
896
- get(id: string): Promise<GetContactPropertyResponse>;
897
- update(payload: UpdateContactPropertyOptions): Promise<UpdateContactPropertyResponse>;
898
- remove(id: string): Promise<RemoveContactPropertyResponse>;
899
- }
900
-
948
+ private readonly resend;
949
+ constructor(resend: Resend);
950
+ create(options: CreateContactPropertyOptions): Promise<CreateContactPropertyResponse>;
951
+ list(options?: ListContactPropertiesOptions): Promise<ListContactPropertiesResponse>;
952
+ get(id: string): Promise<GetContactPropertyResponse>;
953
+ update(payload: UpdateContactPropertyOptions): Promise<UpdateContactPropertyResponse>;
954
+ remove(id: string): Promise<RemoveContactPropertyResponse>;
955
+ }
956
+ //#endregion
957
+ //#region src/contacts/segments/interfaces/contact-segments.interface.d.ts
901
958
  type ContactSegmentsBaseOptions = {
902
- contactId: string;
903
- email?: never;
959
+ contactId: string;
960
+ email?: never;
904
961
  } | {
905
- contactId?: never;
906
- email: string;
962
+ contactId?: never;
963
+ email: string;
907
964
  };
908
-
965
+ //#endregion
966
+ //#region src/contacts/segments/interfaces/add-contact-segment.interface.d.ts
909
967
  type AddContactSegmentOptions = ContactSegmentsBaseOptions & {
910
- segmentId: string;
968
+ segmentId: string;
911
969
  };
912
970
  interface AddContactSegmentResponseSuccess {
913
- id: string;
971
+ id: string;
914
972
  }
915
973
  type AddContactSegmentResponse = Response<AddContactSegmentResponseSuccess>;
916
-
974
+ //#endregion
975
+ //#region src/segments/interfaces/segment.d.ts
917
976
  interface Segment {
918
- created_at: string;
919
- id: string;
920
- name: string;
977
+ created_at: string;
978
+ id: string;
979
+ name: string;
921
980
  }
922
-
981
+ //#endregion
982
+ //#region src/contacts/segments/interfaces/list-contact-segments.interface.d.ts
923
983
  type ListContactSegmentsOptions = PaginationOptions & ContactSegmentsBaseOptions;
924
984
  type ListContactSegmentsResponseSuccess = PaginatedData<Segment[]>;
925
985
  type ListContactSegmentsResponse = Response<ListContactSegmentsResponseSuccess>;
926
-
986
+ //#endregion
987
+ //#region src/contacts/segments/interfaces/remove-contact-segment.interface.d.ts
927
988
  type RemoveContactSegmentOptions = ContactSegmentsBaseOptions & {
928
- segmentId: string;
989
+ segmentId: string;
929
990
  };
930
991
  interface RemoveContactSegmentResponseSuccess {
931
- id: string;
932
- deleted: boolean;
992
+ id: string;
993
+ deleted: boolean;
933
994
  }
934
995
  type RemoveContactSegmentResponse = Response<RemoveContactSegmentResponseSuccess>;
935
-
996
+ //#endregion
997
+ //#region src/contacts/segments/contact-segments.d.ts
936
998
  declare class ContactSegments {
937
- private readonly resend;
938
- constructor(resend: Resend);
939
- list(options: ListContactSegmentsOptions): Promise<ListContactSegmentsResponse>;
940
- add(options: AddContactSegmentOptions): Promise<AddContactSegmentResponse>;
941
- remove(options: RemoveContactSegmentOptions): Promise<RemoveContactSegmentResponse>;
942
- }
943
-
999
+ private readonly resend;
1000
+ constructor(resend: Resend);
1001
+ list(options: ListContactSegmentsOptions): Promise<ListContactSegmentsResponse>;
1002
+ add(options: AddContactSegmentOptions): Promise<AddContactSegmentResponse>;
1003
+ remove(options: RemoveContactSegmentOptions): Promise<RemoveContactSegmentResponse>;
1004
+ }
1005
+ //#endregion
1006
+ //#region src/contacts/topics/interfaces/list-contact-topics.interface.d.ts
944
1007
  interface ListContactTopicsBaseOptions {
945
- id?: string;
946
- email?: string;
1008
+ id?: string;
1009
+ email?: string;
947
1010
  }
948
1011
  type ListContactTopicsOptions = ListContactTopicsBaseOptions & PaginationOptions;
949
1012
  interface ContactTopic {
950
- id: string;
951
- name: string;
952
- description: string | null;
953
- subscription: 'opt_in' | 'opt_out';
1013
+ id: string;
1014
+ name: string;
1015
+ description: string | null;
1016
+ subscription: 'opt_in' | 'opt_out';
954
1017
  }
955
1018
  type ListContactTopicsResponseSuccess = PaginatedData<ContactTopic[]>;
956
1019
  type ListContactTopicsResponse = Response<ListContactTopicsResponseSuccess>;
957
-
1020
+ //#endregion
1021
+ //#region src/contacts/topics/interfaces/update-contact-topics.interface.d.ts
958
1022
  interface UpdateContactTopicsBaseOptions {
959
- id?: string;
960
- email?: string;
1023
+ id?: string;
1024
+ email?: string;
961
1025
  }
962
1026
  interface UpdateContactTopicsOptions extends UpdateContactTopicsBaseOptions {
963
- topics: {
964
- id: string;
965
- subscription: 'opt_in' | 'opt_out';
966
- }[];
1027
+ topics: {
1028
+ id: string;
1029
+ subscription: 'opt_in' | 'opt_out';
1030
+ }[];
967
1031
  }
968
1032
  interface UpdateContactTopicsResponseSuccess {
969
- id: string;
1033
+ id: string;
970
1034
  }
971
1035
  type UpdateContactTopicsResponse = Response<UpdateContactTopicsResponseSuccess>;
972
-
1036
+ //#endregion
1037
+ //#region src/contacts/topics/contact-topics.d.ts
973
1038
  declare class ContactTopics {
974
- private readonly resend;
975
- constructor(resend: Resend);
976
- update(payload: UpdateContactTopicsOptions): Promise<UpdateContactTopicsResponse>;
977
- list(options: ListContactTopicsOptions): Promise<ListContactTopicsResponse>;
1039
+ private readonly resend;
1040
+ constructor(resend: Resend);
1041
+ update(payload: UpdateContactTopicsOptions): Promise<UpdateContactTopicsResponse>;
1042
+ list(options: ListContactTopicsOptions): Promise<ListContactTopicsResponse>;
978
1043
  }
979
-
1044
+ //#endregion
1045
+ //#region src/contacts/contacts.d.ts
980
1046
  declare class Contacts {
981
- private readonly resend;
982
- readonly topics: ContactTopics;
983
- readonly segments: ContactSegments;
984
- constructor(resend: Resend);
985
- create(payload: CreateContactOptions, options?: CreateContactRequestOptions): Promise<CreateContactResponse>;
986
- list(options?: ListContactsOptions): Promise<ListContactsResponse>;
987
- get(options: GetContactOptions): Promise<GetContactResponse>;
988
- update(options: UpdateContactOptions): Promise<UpdateContactResponse>;
989
- remove(payload: RemoveContactOptions): Promise<RemoveContactsResponse>;
990
- }
991
-
1047
+ private readonly resend;
1048
+ readonly topics: ContactTopics;
1049
+ readonly segments: ContactSegments;
1050
+ constructor(resend: Resend);
1051
+ create(payload: CreateContactOptions, options?: CreateContactRequestOptions): Promise<CreateContactResponse>;
1052
+ list(options?: ListContactsOptions): Promise<ListContactsResponse>;
1053
+ get(options: GetContactOptions): Promise<GetContactResponse>;
1054
+ update(options: UpdateContactOptions): Promise<UpdateContactResponse>;
1055
+ remove(payload: RemoveContactOptions): Promise<RemoveContactsResponse>;
1056
+ }
1057
+ //#endregion
1058
+ //#region src/domains/domains.d.ts
992
1059
  declare class Domains {
993
- private readonly resend;
994
- constructor(resend: Resend);
995
- create(payload: CreateDomainOptions, options?: CreateDomainRequestOptions): Promise<CreateDomainResponse>;
996
- list(options?: ListDomainsOptions): Promise<ListDomainsResponse>;
997
- get(id: string): Promise<GetDomainResponse>;
998
- update(payload: UpdateDomainsOptions): Promise<UpdateDomainsResponse>;
999
- remove(id: string): Promise<RemoveDomainsResponse>;
1000
- verify(id: string): Promise<VerifyDomainsResponse>;
1001
- }
1002
-
1003
- declare class Attachments$1 {
1004
- private readonly resend;
1005
- constructor(resend: Resend);
1006
- get(options: GetAttachmentOptions): Promise<GetAttachmentResponse>;
1007
- list(options: ListAttachmentsOptions): Promise<ListAttachmentsResponse>;
1060
+ private readonly resend;
1061
+ constructor(resend: Resend);
1062
+ create(payload: CreateDomainOptions, options?: CreateDomainRequestOptions): Promise<CreateDomainResponse>;
1063
+ list(options?: ListDomainsOptions): Promise<ListDomainsResponse>;
1064
+ get(id: string): Promise<GetDomainResponse>;
1065
+ update(payload: UpdateDomainsOptions): Promise<UpdateDomainsResponse>;
1066
+ remove(id: string): Promise<RemoveDomainsResponse>;
1067
+ verify(id: string): Promise<VerifyDomainsResponse>;
1068
+ }
1069
+ //#endregion
1070
+ //#region src/emails/attachments/attachments.d.ts
1071
+ declare class Attachments {
1072
+ private readonly resend;
1073
+ constructor(resend: Resend);
1074
+ get(options: GetAttachmentOptions): Promise<GetAttachmentResponse>;
1075
+ list(options: ListAttachmentsOptions): Promise<ListAttachmentsResponse>;
1008
1076
  }
1009
-
1077
+ //#endregion
1078
+ //#region src/emails/interfaces/list-emails-options.interface.d.ts
1010
1079
  type ListEmailsOptions = PaginationOptions;
1011
1080
  type ListEmail = Omit<GetEmailResponseSuccess, 'html' | 'text' | 'tags' | 'object'>;
1012
1081
  type ListEmailsResponseSuccess = {
1013
- object: 'list';
1014
- has_more: boolean;
1015
- data: ListEmail[];
1082
+ object: 'list';
1083
+ has_more: boolean;
1084
+ data: ListEmail[];
1016
1085
  };
1017
1086
  type ListEmailsResponse = Response<ListEmailsResponseSuccess>;
1018
-
1019
- declare class Attachments {
1020
- private readonly resend;
1021
- constructor(resend: Resend);
1022
- get(options: GetAttachmentOptions): Promise<GetAttachmentResponse>;
1023
- list(options: ListAttachmentsOptions): Promise<ListAttachmentsResponse>;
1087
+ //#endregion
1088
+ //#region src/emails/receiving/attachments/attachments.d.ts
1089
+ declare class Attachments$1 {
1090
+ private readonly resend;
1091
+ constructor(resend: Resend);
1092
+ get(options: GetAttachmentOptions): Promise<GetAttachmentResponse>;
1093
+ list(options: ListAttachmentsOptions): Promise<ListAttachmentsResponse>;
1024
1094
  }
1025
-
1095
+ //#endregion
1096
+ //#region src/emails/receiving/receiving.d.ts
1026
1097
  declare class Receiving {
1027
- private readonly resend;
1028
- readonly attachments: Attachments;
1029
- constructor(resend: Resend);
1030
- get(id: string): Promise<GetReceivingEmailResponse>;
1031
- list(options?: ListReceivingEmailsOptions): Promise<ListReceivingEmailsResponse>;
1032
- }
1033
-
1098
+ private readonly resend;
1099
+ readonly attachments: Attachments$1;
1100
+ constructor(resend: Resend);
1101
+ get(id: string): Promise<GetReceivingEmailResponse>;
1102
+ list(options?: ListReceivingEmailsOptions): Promise<ListReceivingEmailsResponse>;
1103
+ }
1104
+ //#endregion
1105
+ //#region src/emails/emails.d.ts
1034
1106
  declare class Emails {
1035
- private readonly resend;
1036
- readonly attachments: Attachments$1;
1037
- readonly receiving: Receiving;
1038
- constructor(resend: Resend);
1039
- send(payload: CreateEmailOptions, options?: CreateEmailRequestOptions): Promise<CreateEmailResponse>;
1040
- create(payload: CreateEmailOptions, options?: CreateEmailRequestOptions): Promise<CreateEmailResponse>;
1041
- get(id: string): Promise<GetEmailResponse>;
1042
- list(options?: ListEmailsOptions): Promise<ListEmailsResponse>;
1043
- update(payload: UpdateEmailOptions): Promise<UpdateEmailResponse>;
1044
- cancel(id: string): Promise<CancelEmailResponse>;
1045
- }
1046
-
1107
+ private readonly resend;
1108
+ readonly attachments: Attachments;
1109
+ readonly receiving: Receiving;
1110
+ constructor(resend: Resend);
1111
+ send(payload: CreateEmailOptions, options?: CreateEmailRequestOptions): Promise<CreateEmailResponse>;
1112
+ create(payload: CreateEmailOptions, options?: CreateEmailRequestOptions): Promise<CreateEmailResponse>;
1113
+ get(id: string): Promise<GetEmailResponse>;
1114
+ list(options?: ListEmailsOptions): Promise<ListEmailsResponse>;
1115
+ update(payload: UpdateEmailOptions): Promise<UpdateEmailResponse>;
1116
+ cancel(id: string): Promise<CancelEmailResponse>;
1117
+ }
1118
+ //#endregion
1119
+ //#region src/segments/interfaces/create-segment-options.interface.d.ts
1047
1120
  interface CreateSegmentOptions {
1048
- name: string;
1049
- }
1050
- interface CreateSegmentRequestOptions extends PostOptions {
1121
+ name: string;
1051
1122
  }
1123
+ interface CreateSegmentRequestOptions extends PostOptions {}
1052
1124
  interface CreateSegmentResponseSuccess extends Pick<Segment, 'name' | 'id'> {
1053
- object: 'segment';
1125
+ object: 'segment';
1054
1126
  }
1055
1127
  type CreateSegmentResponse = Response<CreateSegmentResponseSuccess>;
1056
-
1128
+ //#endregion
1129
+ //#region src/segments/interfaces/get-segment.interface.d.ts
1057
1130
  interface GetSegmentResponseSuccess extends Pick<Segment, 'id' | 'name' | 'created_at'> {
1058
- object: 'segment';
1131
+ object: 'segment';
1059
1132
  }
1060
1133
  type GetSegmentResponse = Response<GetSegmentResponseSuccess>;
1061
-
1134
+ //#endregion
1135
+ //#region src/segments/interfaces/list-segments.interface.d.ts
1062
1136
  type ListSegmentsOptions = PaginationOptions;
1063
1137
  type ListSegmentsResponseSuccess = {
1064
- object: 'list';
1065
- data: Segment[];
1066
- has_more: boolean;
1138
+ object: 'list';
1139
+ data: Segment[];
1140
+ has_more: boolean;
1067
1141
  };
1068
1142
  type ListSegmentsResponse = Response<ListSegmentsResponseSuccess>;
1069
-
1143
+ //#endregion
1144
+ //#region src/segments/interfaces/remove-segment.interface.d.ts
1070
1145
  interface RemoveSegmentResponseSuccess extends Pick<Segment, 'id'> {
1071
- object: 'segment';
1072
- deleted: boolean;
1146
+ object: 'segment';
1147
+ deleted: boolean;
1073
1148
  }
1074
1149
  type RemoveSegmentResponse = Response<RemoveSegmentResponseSuccess>;
1075
-
1150
+ //#endregion
1151
+ //#region src/segments/segments.d.ts
1076
1152
  declare class Segments {
1077
- private readonly resend;
1078
- constructor(resend: Resend);
1079
- create(payload: CreateSegmentOptions, options?: CreateSegmentRequestOptions): Promise<CreateSegmentResponse>;
1080
- list(options?: ListSegmentsOptions): Promise<ListSegmentsResponse>;
1081
- get(id: string): Promise<GetSegmentResponse>;
1082
- remove(id: string): Promise<RemoveSegmentResponse>;
1083
- }
1084
-
1153
+ private readonly resend;
1154
+ constructor(resend: Resend);
1155
+ create(payload: CreateSegmentOptions, options?: CreateSegmentRequestOptions): Promise<CreateSegmentResponse>;
1156
+ list(options?: ListSegmentsOptions): Promise<ListSegmentsResponse>;
1157
+ get(id: string): Promise<GetSegmentResponse>;
1158
+ remove(id: string): Promise<RemoveSegmentResponse>;
1159
+ }
1160
+ //#endregion
1161
+ //#region src/templates/interfaces/template.d.ts
1085
1162
  interface Template {
1086
- id: string;
1087
- name: string;
1088
- subject: string | null;
1089
- html: string;
1090
- text: string | null;
1091
- status: 'draft' | 'published';
1092
- variables: TemplateVariable[] | null;
1093
- alias: string | null;
1094
- from: string | null;
1095
- reply_to: string[] | null;
1096
- published_at: string | null;
1097
- created_at: string;
1098
- updated_at: string;
1099
- has_unpublished_versions: boolean;
1100
- current_version_id: string;
1163
+ id: string;
1164
+ name: string;
1165
+ subject: string | null;
1166
+ html: string;
1167
+ text: string | null;
1168
+ status: 'draft' | 'published';
1169
+ variables: TemplateVariable[] | null;
1170
+ alias: string | null;
1171
+ from: string | null;
1172
+ reply_to: string[] | null;
1173
+ published_at: string | null;
1174
+ created_at: string;
1175
+ updated_at: string;
1176
+ has_unpublished_versions: boolean;
1177
+ current_version_id: string;
1101
1178
  }
1102
1179
  interface TemplateVariable {
1103
- key: string;
1104
- fallback_value: string | number | null;
1105
- type: 'string' | 'number';
1106
- created_at: string;
1107
- updated_at: string;
1108
- }
1109
-
1180
+ key: string;
1181
+ fallback_value: string | number | null;
1182
+ type: 'string' | 'number';
1183
+ created_at: string;
1184
+ updated_at: string;
1185
+ }
1186
+ //#endregion
1187
+ //#region src/templates/interfaces/create-template-options.interface.d.ts
1110
1188
  type TemplateContentCreationOptions = RequireAtLeastOne<{
1111
- html: string;
1112
- react: React.ReactNode;
1189
+ html: string;
1190
+ react: React.ReactNode;
1113
1191
  }>;
1114
1192
  type TemplateVariableCreationOptions = Pick<TemplateVariable, 'key' | 'type'> & ({
1115
- type: 'string';
1116
- fallbackValue?: string | null;
1193
+ type: 'string';
1194
+ fallbackValue?: string | null;
1117
1195
  } | {
1118
- type: 'number';
1119
- fallbackValue?: number | null;
1196
+ type: 'number';
1197
+ fallbackValue?: number | null;
1120
1198
  });
1121
1199
  type TemplateOptionalFieldsForCreation = Partial<Pick<Template, 'subject' | 'text' | 'alias' | 'from'>> & {
1122
- replyTo?: string[] | string;
1123
- variables?: TemplateVariableCreationOptions[];
1200
+ replyTo?: string[] | string;
1201
+ variables?: TemplateVariableCreationOptions[];
1124
1202
  };
1125
1203
  type CreateTemplateOptions = Pick<Template, 'name'> & TemplateOptionalFieldsForCreation & TemplateContentCreationOptions;
1126
1204
  interface CreateTemplateResponseSuccess extends Pick<Template, 'id'> {
1127
- object: 'template';
1205
+ object: 'template';
1128
1206
  }
1129
1207
  type CreateTemplateResponse = Response<CreateTemplateResponseSuccess>;
1130
-
1208
+ //#endregion
1209
+ //#region src/templates/interfaces/duplicate-template.interface.d.ts
1131
1210
  interface DuplicateTemplateResponseSuccess extends Pick<Template, 'id'> {
1132
- object: 'template';
1211
+ object: 'template';
1133
1212
  }
1134
1213
  type DuplicateTemplateResponse = Response<DuplicateTemplateResponseSuccess>;
1135
-
1214
+ //#endregion
1215
+ //#region src/templates/interfaces/publish-template.interface.d.ts
1136
1216
  interface PublishTemplateResponseSuccess extends Pick<Template, 'id'> {
1137
- object: 'template';
1217
+ object: 'template';
1138
1218
  }
1139
1219
  type PublishTemplateResponse = Response<PublishTemplateResponseSuccess>;
1140
-
1220
+ //#endregion
1221
+ //#region src/templates/chainable-template-result.d.ts
1141
1222
  declare class ChainableTemplateResult<T extends CreateTemplateResponse | DuplicateTemplateResponse> implements PromiseLike<T> {
1142
- private readonly promise;
1143
- private readonly publishFn;
1144
- constructor(promise: Promise<T>, publishFn: (id: string) => Promise<PublishTemplateResponse>);
1145
- then<TResult1 = T, TResult2 = never>(onfulfilled?: ((value: T) => TResult1 | PromiseLike<TResult1>) | null, onrejected?: ((reason: unknown) => TResult2 | PromiseLike<TResult2>) | null): PromiseLike<TResult1 | TResult2>;
1146
- publish(): Promise<PublishTemplateResponse>;
1147
- }
1148
-
1223
+ private readonly promise;
1224
+ private readonly publishFn;
1225
+ constructor(promise: Promise<T>, publishFn: (id: string) => Promise<PublishTemplateResponse>);
1226
+ then<TResult1 = T, TResult2 = never>(onfulfilled?: ((value: T) => TResult1 | PromiseLike<TResult1>) | null, onrejected?: ((reason: unknown) => TResult2 | PromiseLike<TResult2>) | null): PromiseLike<TResult1 | TResult2>;
1227
+ publish(): Promise<PublishTemplateResponse>;
1228
+ }
1229
+ //#endregion
1230
+ //#region src/templates/interfaces/get-template.interface.d.ts
1149
1231
  interface GetTemplateResponseSuccess extends Template {
1150
- object: 'template';
1232
+ object: 'template';
1151
1233
  }
1152
1234
  type GetTemplateResponse = Response<GetTemplateResponseSuccess>;
1153
-
1154
- interface TemplateListItem extends Pick<Template, 'id' | 'name' | 'created_at' | 'updated_at' | 'status' | 'published_at' | 'alias'> {
1155
- }
1235
+ //#endregion
1236
+ //#region src/templates/interfaces/list-templates.interface.d.ts
1237
+ interface TemplateListItem extends Pick<Template, 'id' | 'name' | 'created_at' | 'updated_at' | 'status' | 'published_at' | 'alias'> {}
1156
1238
  interface ListTemplatesResponseSuccess {
1157
- object: 'list';
1158
- data: TemplateListItem[];
1159
- has_more: boolean;
1239
+ object: 'list';
1240
+ data: TemplateListItem[];
1241
+ has_more: boolean;
1160
1242
  }
1161
1243
  type ListTemplatesResponse = Response<ListTemplatesResponseSuccess>;
1162
-
1244
+ //#endregion
1245
+ //#region src/templates/interfaces/remove-template.interface.d.ts
1163
1246
  interface RemoveTemplateResponseSuccess {
1164
- object: 'template';
1165
- id: string;
1166
- deleted: boolean;
1247
+ object: 'template';
1248
+ id: string;
1249
+ deleted: boolean;
1167
1250
  }
1168
1251
  type RemoveTemplateResponse = Response<RemoveTemplateResponseSuccess>;
1169
-
1252
+ //#endregion
1253
+ //#region src/templates/interfaces/update-template.interface.d.ts
1170
1254
  type TemplateVariableUpdateOptions = Pick<TemplateVariable, 'key' | 'type'> & ({
1171
- type: 'string';
1172
- fallbackValue?: string | null;
1255
+ type: 'string';
1256
+ fallbackValue?: string | null;
1173
1257
  } | {
1174
- type: 'number';
1175
- fallbackValue?: number | null;
1258
+ type: 'number';
1259
+ fallbackValue?: number | null;
1176
1260
  });
1177
1261
  interface UpdateTemplateOptions extends Partial<Pick<Template, 'name' | 'subject' | 'html' | 'text' | 'from' | 'alias'>> {
1178
- variables?: TemplateVariableUpdateOptions[];
1179
- replyTo?: string[] | string;
1262
+ variables?: TemplateVariableUpdateOptions[];
1263
+ replyTo?: string[] | string;
1180
1264
  }
1181
1265
  interface UpdateTemplateResponseSuccess extends Pick<Template, 'id'> {
1182
- object: 'template';
1266
+ object: 'template';
1183
1267
  }
1184
1268
  type UpdateTemplateResponse = Response<UpdateTemplateResponseSuccess>;
1185
-
1269
+ //#endregion
1270
+ //#region src/templates/templates.d.ts
1186
1271
  declare class Templates {
1187
- private readonly resend;
1188
- private renderAsync?;
1189
- constructor(resend: Resend);
1190
- create(payload: CreateTemplateOptions): ChainableTemplateResult<CreateTemplateResponse>;
1191
- private performCreate;
1192
- remove(identifier: string): Promise<RemoveTemplateResponse>;
1193
- get(identifier: string): Promise<GetTemplateResponse>;
1194
- list(options?: PaginationOptions): Promise<ListTemplatesResponse>;
1195
- duplicate(identifier: string): ChainableTemplateResult<DuplicateTemplateResponse>;
1196
- publish(identifier: string): Promise<PublishTemplateResponse>;
1197
- update(identifier: string, payload: UpdateTemplateOptions): Promise<UpdateTemplateResponse>;
1198
- }
1199
-
1272
+ private readonly resend;
1273
+ private renderAsync?;
1274
+ constructor(resend: Resend);
1275
+ create(payload: CreateTemplateOptions): ChainableTemplateResult<CreateTemplateResponse>;
1276
+ private performCreate;
1277
+ remove(identifier: string): Promise<RemoveTemplateResponse>;
1278
+ get(identifier: string): Promise<GetTemplateResponse>;
1279
+ list(options?: PaginationOptions): Promise<ListTemplatesResponse>;
1280
+ duplicate(identifier: string): ChainableTemplateResult<DuplicateTemplateResponse>;
1281
+ publish(identifier: string): Promise<PublishTemplateResponse>;
1282
+ update(identifier: string, payload: UpdateTemplateOptions): Promise<UpdateTemplateResponse>;
1283
+ }
1284
+ //#endregion
1285
+ //#region src/topics/interfaces/topic.d.ts
1200
1286
  interface Topic {
1201
- id: string;
1202
- name: string;
1203
- description?: string;
1204
- defaultSubscription: 'opt_in' | 'opt_out';
1205
- created_at: string;
1206
- }
1207
-
1287
+ id: string;
1288
+ name: string;
1289
+ description?: string;
1290
+ defaultSubscription: 'opt_in' | 'opt_out';
1291
+ created_at: string;
1292
+ }
1293
+ //#endregion
1294
+ //#region src/topics/interfaces/create-topic-options.interface.d.ts
1208
1295
  interface CreateTopicOptions {
1209
- name: string;
1210
- description?: string;
1211
- defaultSubscription: 'opt_in' | 'opt_out';
1296
+ name: string;
1297
+ description?: string;
1298
+ defaultSubscription: 'opt_in' | 'opt_out';
1212
1299
  }
1213
1300
  type CreateTopicResponseSuccess = Pick<Topic, 'id'>;
1214
1301
  type CreateTopicResponse = Response<CreateTopicResponseSuccess>;
1215
-
1302
+ //#endregion
1303
+ //#region src/topics/interfaces/get-contact.interface.d.ts
1216
1304
  type GetTopicResponseSuccess = Topic;
1217
1305
  type GetTopicResponse = Response<GetTopicResponseSuccess>;
1218
-
1306
+ //#endregion
1307
+ //#region src/topics/interfaces/list-topics.interface.d.ts
1219
1308
  interface ListTopicsResponseSuccess {
1220
- data: Topic[];
1309
+ data: Topic[];
1221
1310
  }
1222
1311
  type ListTopicsResponse = Response<ListTopicsResponseSuccess>;
1223
-
1312
+ //#endregion
1313
+ //#region src/topics/interfaces/remove-topic.interface.d.ts
1224
1314
  type RemoveTopicResponseSuccess = Pick<Topic, 'id'> & {
1225
- object: 'topic';
1226
- deleted: boolean;
1315
+ object: 'topic';
1316
+ deleted: boolean;
1227
1317
  };
1228
1318
  type RemoveTopicResponse = Response<RemoveTopicResponseSuccess>;
1229
-
1319
+ //#endregion
1320
+ //#region src/topics/interfaces/update-topic.interface.d.ts
1230
1321
  interface UpdateTopicOptions {
1231
- id: string;
1232
- name?: string;
1233
- description?: string;
1322
+ id: string;
1323
+ name?: string;
1324
+ description?: string;
1234
1325
  }
1235
1326
  type UpdateTopicResponseSuccess = Pick<Topic, 'id'>;
1236
1327
  type UpdateTopicResponse = Response<UpdateTopicResponseSuccess>;
1237
-
1328
+ //#endregion
1329
+ //#region src/topics/topics.d.ts
1238
1330
  declare class Topics {
1239
- private readonly resend;
1240
- constructor(resend: Resend);
1241
- create(payload: CreateTopicOptions): Promise<CreateTopicResponse>;
1242
- list(): Promise<ListTopicsResponse>;
1243
- get(id: string): Promise<GetTopicResponse>;
1244
- update(payload: UpdateTopicOptions): Promise<UpdateTopicResponse>;
1245
- remove(id: string): Promise<RemoveTopicResponse>;
1246
- }
1247
-
1331
+ private readonly resend;
1332
+ constructor(resend: Resend);
1333
+ create(payload: CreateTopicOptions): Promise<CreateTopicResponse>;
1334
+ list(): Promise<ListTopicsResponse>;
1335
+ get(id: string): Promise<GetTopicResponse>;
1336
+ update(payload: UpdateTopicOptions): Promise<UpdateTopicResponse>;
1337
+ remove(id: string): Promise<RemoveTopicResponse>;
1338
+ }
1339
+ //#endregion
1340
+ //#region src/webhooks/interfaces/webhook-event.interface.d.ts
1248
1341
  type WebhookEvent = 'email.sent' | 'email.delivered' | 'email.delivery_delayed' | 'email.complained' | 'email.bounced' | 'email.opened' | 'email.clicked' | 'email.received' | 'email.failed' | 'contact.created' | 'contact.updated' | 'contact.deleted' | 'domain.created' | 'domain.updated' | 'domain.deleted';
1249
-
1342
+ //#endregion
1343
+ //#region src/webhooks/interfaces/create-webhook-options.interface.d.ts
1250
1344
  interface CreateWebhookOptions {
1251
- endpoint: string;
1252
- events: WebhookEvent[];
1253
- }
1254
- interface CreateWebhookRequestOptions extends PostOptions {
1345
+ endpoint: string;
1346
+ events: WebhookEvent[];
1255
1347
  }
1348
+ interface CreateWebhookRequestOptions extends PostOptions {}
1256
1349
  interface CreateWebhookResponseSuccess {
1257
- object: 'webhook';
1258
- id: string;
1259
- signing_secret: string;
1350
+ object: 'webhook';
1351
+ id: string;
1352
+ signing_secret: string;
1260
1353
  }
1261
1354
  type CreateWebhookResponse = Response<CreateWebhookResponseSuccess>;
1262
-
1355
+ //#endregion
1356
+ //#region src/webhooks/interfaces/get-webhook.interface.d.ts
1263
1357
  interface GetWebhookResponseSuccess {
1264
- object: 'webhook';
1265
- id: string;
1266
- created_at: string;
1267
- status: 'enabled' | 'disabled';
1268
- endpoint: string;
1269
- events: WebhookEvent[] | null;
1270
- signing_secret: string;
1358
+ object: 'webhook';
1359
+ id: string;
1360
+ created_at: string;
1361
+ status: 'enabled' | 'disabled';
1362
+ endpoint: string;
1363
+ events: WebhookEvent[] | null;
1364
+ signing_secret: string;
1271
1365
  }
1272
1366
  type GetWebhookResponse = Response<GetWebhookResponseSuccess>;
1273
-
1367
+ //#endregion
1368
+ //#region src/webhooks/interfaces/list-webhooks.interface.d.ts
1274
1369
  type ListWebhooksOptions = PaginationOptions;
1275
1370
  interface Webhook {
1276
- id: string;
1277
- endpoint: string;
1278
- created_at: string;
1279
- status: 'enabled' | 'disabled';
1280
- events: WebhookEvent[] | null;
1371
+ id: string;
1372
+ endpoint: string;
1373
+ created_at: string;
1374
+ status: 'enabled' | 'disabled';
1375
+ events: WebhookEvent[] | null;
1281
1376
  }
1282
1377
  type ListWebhooksResponseSuccess = {
1283
- object: 'list';
1284
- has_more: boolean;
1285
- data: Webhook[];
1378
+ object: 'list';
1379
+ has_more: boolean;
1380
+ data: Webhook[];
1286
1381
  };
1287
1382
  type ListWebhooksResponse = Response<ListWebhooksResponseSuccess>;
1288
-
1383
+ //#endregion
1384
+ //#region src/webhooks/interfaces/remove-webhook.interface.d.ts
1289
1385
  type RemoveWebhookResponseSuccess = Pick<Webhook, 'id'> & {
1290
- object: 'webhook';
1291
- deleted: boolean;
1386
+ object: 'webhook';
1387
+ deleted: boolean;
1292
1388
  };
1293
1389
  type RemoveWebhookResponse = Response<RemoveWebhookResponseSuccess>;
1294
-
1390
+ //#endregion
1391
+ //#region src/webhooks/interfaces/update-webhook.interface.d.ts
1295
1392
  interface UpdateWebhookOptions {
1296
- endpoint?: string;
1297
- events?: WebhookEvent[];
1298
- status?: 'enabled' | 'disabled';
1393
+ endpoint?: string;
1394
+ events?: WebhookEvent[];
1395
+ status?: 'enabled' | 'disabled';
1299
1396
  }
1300
1397
  interface UpdateWebhookResponseSuccess {
1301
- object: 'webhook';
1302
- id: string;
1398
+ object: 'webhook';
1399
+ id: string;
1303
1400
  }
1304
1401
  type UpdateWebhookResponse = Response<UpdateWebhookResponseSuccess>;
1305
-
1402
+ //#endregion
1403
+ //#region src/webhooks/webhooks.d.ts
1306
1404
  interface Headers {
1307
- id: string;
1308
- timestamp: string;
1309
- signature: string;
1405
+ id: string;
1406
+ timestamp: string;
1407
+ signature: string;
1310
1408
  }
1311
1409
  interface VerifyWebhookOptions {
1312
- payload: string;
1313
- headers: Headers;
1314
- webhookSecret: string;
1410
+ payload: string;
1411
+ headers: Headers;
1412
+ webhookSecret: string;
1315
1413
  }
1316
1414
  declare class Webhooks {
1317
- private readonly resend;
1318
- constructor(resend: Resend);
1319
- create(payload: CreateWebhookOptions, options?: CreateWebhookRequestOptions): Promise<CreateWebhookResponse>;
1320
- get(id: string): Promise<GetWebhookResponse>;
1321
- list(options?: ListWebhooksOptions): Promise<ListWebhooksResponse>;
1322
- update(id: string, payload: UpdateWebhookOptions): Promise<UpdateWebhookResponse>;
1323
- remove(id: string): Promise<RemoveWebhookResponse>;
1324
- verify(payload: VerifyWebhookOptions): unknown;
1325
- }
1326
-
1415
+ private readonly resend;
1416
+ constructor(resend: Resend);
1417
+ create(payload: CreateWebhookOptions, options?: CreateWebhookRequestOptions): Promise<CreateWebhookResponse>;
1418
+ get(id: string): Promise<GetWebhookResponse>;
1419
+ list(options?: ListWebhooksOptions): Promise<ListWebhooksResponse>;
1420
+ update(id: string, payload: UpdateWebhookOptions): Promise<UpdateWebhookResponse>;
1421
+ remove(id: string): Promise<RemoveWebhookResponse>;
1422
+ verify(payload: VerifyWebhookOptions): unknown;
1423
+ }
1424
+ //#endregion
1425
+ //#region src/resend.d.ts
1327
1426
  declare class Resend {
1328
- readonly key?: string | undefined;
1329
- private readonly headers;
1330
- readonly apiKeys: ApiKeys;
1331
- readonly segments: Segments;
1332
- /**
1333
- * @deprecated Use segments instead
1334
- */
1335
- readonly audiences: Segments;
1336
- readonly batch: Batch;
1337
- readonly broadcasts: Broadcasts;
1338
- readonly contacts: Contacts;
1339
- readonly contactProperties: ContactProperties;
1340
- readonly domains: Domains;
1341
- readonly emails: Emails;
1342
- readonly webhooks: Webhooks;
1343
- readonly templates: Templates;
1344
- readonly topics: Topics;
1345
- constructor(key?: string | undefined);
1346
- fetchRequest<T>(path: string, options?: {}): Promise<Response<T>>;
1347
- post<T>(path: string, entity?: unknown, options?: PostOptions & IdempotentRequest): Promise<Response<T>>;
1348
- get<T>(path: string, options?: GetOptions): Promise<Response<T>>;
1349
- put<T>(path: string, entity: unknown, options?: PutOptions): Promise<Response<T>>;
1350
- patch<T>(path: string, entity: unknown, options?: PatchOptions): Promise<Response<T>>;
1351
- delete<T>(path: string, query?: unknown): Promise<Response<T>>;
1352
- }
1353
-
1354
- export { type ApiKey, type Attachment$1 as Attachment, type Broadcast, type CancelEmailResponse, type CancelEmailResponseSuccess, type Contact, type CreateApiKeyOptions, type CreateApiKeyRequestOptions, type CreateApiKeyResponse, type CreateApiKeyResponseSuccess, type CreateBatchOptions, type CreateBatchRequestOptions, type CreateBatchResponse, type CreateBatchSuccessResponse, type CreateBroadcastOptions, type CreateBroadcastRequestOptions, type CreateBroadcastResponse, type CreateBroadcastResponseSuccess, type CreateContactOptions, type CreateContactRequestOptions, type CreateContactResponse, type CreateContactResponseSuccess, type CreateDomainOptions, type CreateDomainRequestOptions, type CreateDomainResponse, type CreateDomainResponseSuccess, type CreateEmailOptions, type CreateEmailRequestOptions, type CreateEmailResponse, type CreateEmailResponseSuccess, type CreateSegmentOptions, type CreateSegmentRequestOptions, type CreateSegmentResponse, type CreateSegmentResponseSuccess, type CreateWebhookOptions, type CreateWebhookRequestOptions, type CreateWebhookResponse, type CreateWebhookResponseSuccess, type Domain, type DomainApiOptions, type DomainDkimRecord, type DomainNameservers, type DomainRecords, type DomainRegion, type DomainSpfRecord, type DomainStatus, type EmailApiAttachment, type EmailApiOptions, type ErrorResponse, type GetAttachmentOptions, type GetAttachmentResponse, type GetAttachmentResponseSuccess, type GetBroadcastResponse, type GetBroadcastResponseSuccess, type GetContactOptions, type GetContactResponse, type GetContactResponseSuccess, type GetDomainResponse, type GetDomainResponseSuccess, type GetEmailResponse, type GetEmailResponseSuccess, type GetOptions, type GetReceivingEmailResponse, type GetReceivingEmailResponseSuccess, type GetSegmentResponse, type GetSegmentResponseSuccess, type GetWebhookResponse, type GetWebhookResponseSuccess, type IdempotentRequest, type ListApiKeysOptions, type ListApiKeysResponse, type ListApiKeysResponseSuccess, type ListAttachmentsApiResponse, type ListAttachmentsOptions, type ListAttachmentsResponse, type ListAttachmentsResponseSuccess, type ListBroadcastsOptions, type ListBroadcastsResponse, type ListBroadcastsResponseSuccess, type ListContactsOptions, type ListContactsResponse, type ListContactsResponseSuccess, type ListDomainsOptions, type ListDomainsResponse, type ListDomainsResponseSuccess, type ListReceivingEmail, type ListReceivingEmailsOptions, type ListReceivingEmailsResponse, type ListReceivingEmailsResponseSuccess, type ListSegmentsOptions, type ListSegmentsResponse, type ListSegmentsResponseSuccess, type ListWebhooksOptions, type ListWebhooksResponse, type ListWebhooksResponseSuccess, type PaginatedData, type PaginationOptions, type PatchOptions, type PostOptions, type PutOptions, type ReceivingRecord, type RemoveApiKeyResponse, type RemoveApiKeyResponseSuccess, type RemoveBroadcastResponse, type RemoveBroadcastResponseSuccess, type RemoveContactOptions, type RemoveContactsResponse, type RemoveContactsResponseSuccess, type RemoveDomainsResponse, type RemoveDomainsResponseSuccess, type RemoveSegmentResponse, type RemoveSegmentResponseSuccess, type RemoveWebhookResponse, type RemoveWebhookResponseSuccess, type RequireAtLeastOne, Resend, type Segment, type SelectingField, type SendBroadcastOptions, type SendBroadcastRequestOptions, type SendBroadcastResponse, type SendBroadcastResponseSuccess, type Tag, type UpdateBroadcastOptions, type UpdateBroadcastResponse, type UpdateBroadcastResponseSuccess, type UpdateContactOptions, type UpdateContactResponse, type UpdateContactResponseSuccess, type UpdateDomainsOptions, type UpdateDomainsResponse, type UpdateDomainsResponseSuccess, type UpdateEmailOptions, type UpdateEmailResponse, type UpdateEmailResponseSuccess, type UpdateWebhookOptions, type UpdateWebhookResponse, type UpdateWebhookResponseSuccess, type VerifyDomainsResponse, type VerifyDomainsResponseSuccess, type Webhook, type WebhookEvent };
1427
+ readonly key?: string | undefined;
1428
+ private readonly headers;
1429
+ readonly apiKeys: ApiKeys;
1430
+ readonly segments: Segments;
1431
+ /**
1432
+ * @deprecated Use segments instead
1433
+ */
1434
+ readonly audiences: Segments;
1435
+ readonly batch: Batch;
1436
+ readonly broadcasts: Broadcasts;
1437
+ readonly contacts: Contacts;
1438
+ readonly contactProperties: ContactProperties;
1439
+ readonly domains: Domains;
1440
+ readonly emails: Emails;
1441
+ readonly webhooks: Webhooks;
1442
+ readonly templates: Templates;
1443
+ readonly topics: Topics;
1444
+ constructor(key?: string | undefined);
1445
+ fetchRequest<T>(path: string, options?: {}): Promise<Response<T>>;
1446
+ post<T>(path: string, entity?: unknown, options?: PostOptions & IdempotentRequest): Promise<Response<T>>;
1447
+ get<T>(path: string, options?: GetOptions): Promise<Response<T>>;
1448
+ put<T>(path: string, entity: unknown, options?: PutOptions): Promise<Response<T>>;
1449
+ patch<T>(path: string, entity: unknown, options?: PatchOptions): Promise<Response<T>>;
1450
+ delete<T>(path: string, query?: unknown): Promise<Response<T>>;
1451
+ }
1452
+ //#endregion
1453
+ export { ApiKey, Attachment, Broadcast, CancelEmailResponse, CancelEmailResponseSuccess, Contact, CreateApiKeyOptions, CreateApiKeyRequestOptions, CreateApiKeyResponse, CreateApiKeyResponseSuccess, CreateBatchOptions, CreateBatchRequestOptions, CreateBatchResponse, CreateBatchSuccessResponse, CreateBroadcastOptions, CreateBroadcastRequestOptions, CreateBroadcastResponse, CreateBroadcastResponseSuccess, CreateContactOptions, CreateContactRequestOptions, CreateContactResponse, CreateContactResponseSuccess, CreateDomainOptions, CreateDomainRequestOptions, CreateDomainResponse, CreateDomainResponseSuccess, CreateEmailOptions, CreateEmailRequestOptions, CreateEmailResponse, CreateEmailResponseSuccess, CreateSegmentOptions, CreateSegmentRequestOptions, CreateSegmentResponse, CreateSegmentResponseSuccess, CreateWebhookOptions, CreateWebhookRequestOptions, CreateWebhookResponse, CreateWebhookResponseSuccess, Domain, DomainApiOptions, DomainCapabilities, DomainCapabilityStatus, DomainDkimRecord, DomainNameservers, DomainRecords, DomainRegion, DomainSpfRecord, DomainStatus, EmailApiAttachment, EmailApiOptions, type ErrorResponse, GetAttachmentOptions, GetAttachmentResponse, GetAttachmentResponseSuccess, GetBroadcastResponse, GetBroadcastResponseSuccess, GetContactOptions, GetContactResponse, GetContactResponseSuccess, GetDomainResponse, GetDomainResponseSuccess, GetEmailResponse, GetEmailResponseSuccess, GetOptions, GetReceivingEmailResponse, GetReceivingEmailResponseSuccess, GetSegmentResponse, GetSegmentResponseSuccess, GetWebhookResponse, GetWebhookResponseSuccess, IdempotentRequest, ListApiKeysOptions, ListApiKeysResponse, ListApiKeysResponseSuccess, ListAttachmentsApiResponse, ListAttachmentsOptions, ListAttachmentsResponse, ListAttachmentsResponseSuccess, ListBroadcastsOptions, ListBroadcastsResponse, ListBroadcastsResponseSuccess, ListContactsOptions, ListContactsResponse, ListContactsResponseSuccess, ListDomainsOptions, ListDomainsResponse, ListDomainsResponseSuccess, ListReceivingEmail, ListReceivingEmailsOptions, ListReceivingEmailsResponse, ListReceivingEmailsResponseSuccess, ListSegmentsOptions, ListSegmentsResponse, ListSegmentsResponseSuccess, ListWebhooksOptions, ListWebhooksResponse, ListWebhooksResponseSuccess, PaginatedData, PaginationOptions, PatchOptions, PostOptions, PutOptions, ReceivingRecord, RemoveApiKeyResponse, RemoveApiKeyResponseSuccess, RemoveBroadcastResponse, RemoveBroadcastResponseSuccess, RemoveContactOptions, RemoveContactsResponse, RemoveContactsResponseSuccess, RemoveDomainsResponse, RemoveDomainsResponseSuccess, RemoveSegmentResponse, RemoveSegmentResponseSuccess, RemoveWebhookResponse, RemoveWebhookResponseSuccess, RequireAtLeastOne, Resend, type Response, Segment, SelectingField, SendBroadcastOptions, SendBroadcastRequestOptions, SendBroadcastResponse, SendBroadcastResponseSuccess, Tag, UpdateBroadcastOptions, UpdateBroadcastResponse, UpdateBroadcastResponseSuccess, UpdateContactOptions, UpdateContactResponse, UpdateContactResponseSuccess, UpdateDomainsOptions, UpdateDomainsResponse, UpdateDomainsResponseSuccess, UpdateEmailOptions, UpdateEmailResponse, UpdateEmailResponseSuccess, UpdateWebhookOptions, UpdateWebhookResponse, UpdateWebhookResponseSuccess, VerifyDomainsResponse, VerifyDomainsResponseSuccess, Webhook, WebhookEvent };