import { SESv2ClientConfig } from '@aws-sdk/client-sesv2';
import { Headers } from 'nodemailer/lib/mailer';
import { Logger } from 'winston';
export interface ISES {
    clientConfig?: SESv2ClientConfig;
    customSMTPConfig?: {
        host: string;
        port: number;
        secure: boolean;
    };
    logger?: Logger;
}
export declare const DEFAULT_CLIENT_CONFIG: ISES;
export interface IEmailAttachment {
    readonly content: string | Buffer | NodeJS.ReadableStream;
    readonly contentType: string;
    readonly filename: string;
}
export interface IEmailOptions {
    readonly attachments?: readonly IEmailAttachment[];
    readonly bcc?: string | readonly string[];
    readonly cc?: string | readonly string[];
    readonly from: string;
    readonly headers?: Headers;
    readonly html?: string;
    readonly replyTo?: string | readonly string[];
    readonly subject: string;
    readonly text?: string;
    readonly to: string | readonly string[];
}
export type TSendMail = (options: IEmailOptions, responseCallback?: (response: object) => Promise<void>) => Promise<boolean>;
export interface ISESInstance {
    sendMail: TSendMail;
}
declare const ses: (userConfig: ISES) => ISESInstance;
export default ses;
