import { type TypeEmailMessage, type TypeEmailMessageResponse, type EmailSenderInterface } from '@messagehub/core'; import type { TypeSendGridConfig } from '../Type/Types.js'; import { ToSendGridEmailMessageTransformer } from '../Transformer/ToSendGridEmailMessageTransformer.js'; import { SendGridRequestSender } from '../RequestSender/SendGridRequestSender.js'; import type { ZodSchema } from 'zod'; /** * Email sender implementation for SendGrid. */ export declare class SendGridEmailSender implements EmailSenderInterface { private requestSender; private transformer; private schema; /** * Constructor. * * @param {TypeSendGridConfig} config - The configuration object for SendGrid. * @param {SendGridRequestSender} [requestSender] - The SendGrid API client to use. * @param {ToSendGridEmailMessageTransformer} [transformer] - The transformer to use for converting email messages. * @param {ZodSchema} [schema] - The schema for the email message. */ constructor(config: TypeSendGridConfig, requestSender?: SendGridRequestSender, transformer?: ToSendGridEmailMessageTransformer, schema?: ZodSchema); /** * Sends an email based on the provided EmailMessage. * * @param {TypeEmailMessage} message - The email message to be sent. * @returns {Promise} - The response of the email sending operation. */ send(message: TypeEmailMessage): Promise; /** * Extracts the message ID from SendGrid's response headers. * * @param {Response} response - The response object from SendGrid. * @returns {string} - The extracted message ID. */ private extractMessageId; }