import type { SendEmailCommandInput, SESClientConfig } from '@aws-sdk/client-ses';
/** Default SES API host when `amazon` is omitted (same as legacy node-ses). */
export declare const DEFAULT_SES_ENDPOINT = "https://email.us-east-1.amazonaws.com";
export declare const SES_ENDPOINT_REGION_PATTERN: RegExp;
export interface ProviderCredentials {
    key: string;
    secret: string;
    sessionToken?: string;
}
export interface ProviderOptions extends Omit<SESClientConfig, 'credentials'> {
    credentials?: ProviderCredentials | NonNullable<SESClientConfig['credentials']>;
    key?: string;
    secret?: string;
    amazon?: string;
}
export interface ProviderSettings {
    defaultFrom: string;
    defaultReplyTo: string | string[];
}
export interface SendOptions {
    from?: string;
    to: string | string[];
    cc?: string | string[];
    bcc?: string | string[];
    replyTo?: string | string[];
    subject: string;
    text: string;
    html: string;
    [key: string]: unknown;
}
type EndpointInput = string | SESClientConfig['endpoint'];
export declare const regionFromEndpoint: (endpoint?: EndpointInput) => string | undefined;
/** Matches node-ses `extractRecipient`: arrays pass through, strings become a single entry. */
export declare const toAddressList: (value?: string | string[]) => string[] | undefined;
export interface LegacyMessageTag {
    name: string;
    value: string;
}
/**
 * Maps legacy node-ses `providerOptions` and AWS SDK v3 `SESClient` config.
 *
 * Rewrites:
 * - `key` / `secret` → `credentials.accessKeyId` / `credentials.secretAccessKey`
 * - `credentials: { key, secret }` → AWS credential object
 * - `amazon` → `endpoint`
 * - region from `amazon` / `endpoint` host (`email.<region>.amazonaws.com`)
 * - `key` + `secret` only → `region: us-east-1` (node-ses default endpoint behavior)
 */
export declare const getClientConfig: (providerOptions: ProviderOptions) => SESClientConfig;
/** Builds SendEmail input (html → Html body, text → Text body; legacy node-ses message/altText). */
export declare const buildSendEmailCommandInput: (options: SendOptions, settings: ProviderSettings) => SendEmailCommandInput;
export {};
//# sourceMappingURL=utils.d.ts.map