import type { WebhookProvider } from "./index.mjs"; /** AWS SES via SNS webhook verifier. * * Full SNS signature verification requires fetching the AWS public cert * advertised by \`SigningCertURL\` (we don't fetch out-of-band from the * webhook in this minimal implementation). Use the \`verifySignature\` * callback option to plug in \`aws-sns-signature-verification\` or your * own verifier — we default to accepting on topic-ARN allow-listing. */ export interface SesWebhookOptions { /** Restrict to these SNS TopicArns. Recommended. */ topicArns?: readonly string[]; /** Optional async signature verifier (fetches \`SigningCertURL\`). */ verifySignature?: (body: SnsEnvelope) => Promise | boolean; } export interface SnsEnvelope { Type?: string; TopicArn?: string; Message?: string; Signature?: string; SigningCertURL?: string; SubscribeURL?: string; MessageId?: string; Timestamp?: string; } export default function sesWebhook(options?: SesWebhookOptions): WebhookProvider;