11/**
22 * Calendar event invitation data.
3+ * @description Defines calendar payload fields for event invites.
34 */
45export interface CalendarInvite {
56 /** Unique identifier for the calendar event */
@@ -24,6 +25,7 @@ export interface CalendarInvite {
2425
2526/**
2627 * Email attachment data.
28+ * @description Defines attachment payload for SMTP MIME messages.
2729 */
2830export interface EmailAttachment {
2931 /** Name of the attached file */
@@ -38,6 +40,7 @@ export interface EmailAttachment {
3840
3941/**
4042 * Email contact information.
43+ * @description Describes email address and optional display name.
4144 */
4245export interface EmailContact {
4346 /** Optional display name for the contact */
@@ -48,6 +51,7 @@ export interface EmailContact {
4851
4952/**
5053 * Complete email message structure.
54+ * @description Defines sender recipients body and message options.
5155 */
5256export interface EmailMessage {
5357 /** Sender email address or contact */
@@ -77,16 +81,19 @@ export interface EmailMessage {
7781}
7882
7983/**
80- * Email recipient type that can be a string, EmailContact object, or array of either.
84+ * Email recipient type.
85+ * @description Allows string object or array recipient formats.
8186 */
8287export type EmailRecipient = string | EmailContact | ( string | EmailContact ) [ ]
8388
8489/**
8590 * Email sender interface.
91+ * @description Defines async message send capability contract.
8692 */
8793export interface EmailSender {
8894 /**
8995 * Sends an email message.
96+ * @description Sends one message and returns SMTP result data.
9097 * @param message - The email message to send
9198 * @returns Structured SMTP delivery result
9299 * @throws {Error } When message sending fails
@@ -96,10 +103,12 @@ export interface EmailSender {
96103
97104/**
98105 * Email service interface.
106+ * @description Defines factory for creating SMTP senders.
99107 */
100108export interface EmailService {
101109 /**
102- * Creates an email transporter with SMTP configuration.
110+ * Create email transporter.
111+ * @description Builds sender from SMTP connection configuration.
103112 * @param config - SMTP connection configuration
104113 * @returns Email sender instance
105114 */
@@ -108,6 +117,7 @@ export interface EmailService {
108117
109118/**
110119 * Embedded image attachment.
120+ * @description Extends attachment with CID and disposition fields.
111121 */
112122export interface EmbeddedImage extends EmailAttachment {
113123 /** Content-ID for referencing in HTML */
@@ -118,6 +128,7 @@ export interface EmbeddedImage extends EmailAttachment {
118128
119129/**
120130 * Processed email contact.
131+ * @description Represents normalized address for SMTP processing.
121132 */
122133export interface ProcessedContact {
123134 /** Email address */
@@ -154,6 +165,7 @@ export interface SmtpPasswordAuthCredential extends SmtpAuthBase<'password'> {
154165
155166/**
156167 * SMTP connection configuration.
168+ * @description Defines host port auth DKIM and pooling options.
157169 */
158170export interface SmtpConnectionConfig {
159171 /** SMTP server hostname */
@@ -172,6 +184,7 @@ export interface SmtpConnectionConfig {
172184
173185/**
174186 * SMTP connection state.
187+ * @description Holds active sockets and SMTP config reference.
175188 */
176189export interface SmtpConnectionState {
177190 /** Raw TCP connection */
0 commit comments