import type { ProviderConfigMap, EmailProvider } from '../types'; import type { EmailSendInput, EmailSendResult, IEmailConnector } from '../types'; import type { EmailInputMap } from '../types/input-map.type'; import { ChannelTypeEnum } from '../types'; type EmailFacadeInput

= P extends keyof EmailInputMap ? EmailInputMap[P] : EmailSendInput; type EmailConfigWithFetch

= ProviderConfigMap[P] & { fetch?: typeof fetch; }; export declare class Email

{ readonly id: string; readonly channelType = ChannelTypeEnum.EMAIL; private readonly connector; constructor(providerId: P, config: EmailConfigWithFetch

); constructor(connector: IEmailConnector); send(input: EmailFacadeInput

): Promise; checkIntegration(): Promise<{ success: boolean; message?: string; }>; } export {};