import { a as EmailQueue } from "../packem_shared/types.d-B5iH_mgb.js"; import "../packem_shared/types.d-CyiC9uRC.js"; import 'node:buffer'; /** * The subset of the `@aws-sdk/client-sqs` `SQS` client this adapter uses. The `SQS` class (not the * lower-level `SQSClient`) exposes these operation methods directly. */ interface SqsClientLike { changeMessageVisibility: (input: { QueueUrl: string; ReceiptHandle: string; VisibilityTimeout: number; }) => Promise; deleteMessage: (input: { QueueUrl: string; ReceiptHandle: string; }) => Promise; getQueueAttributes: (input: { AttributeNames: string[]; QueueUrl: string; }) => Promise<{ Attributes?: Record; }>; receiveMessage: (input: { AttributeNames?: string[]; MaxNumberOfMessages?: number; QueueUrl: string; VisibilityTimeout?: number; WaitTimeSeconds?: number; }) => Promise<{ Messages?: { Attributes?: Record; Body?: string; MessageId?: string; ReceiptHandle?: string; }[]; }>; sendMessage: (input: { DelaySeconds?: number; MessageBody: string; QueueUrl: string; }) => Promise<{ MessageId?: string; }>; } /** * Options for {@link createSqsQueue}. */ interface SqsQueueOptions { /** * The SQS queue URL. */ queueUrl: string; /** * Visibility timeout (seconds) applied when reserving a message. * @default 30 */ visibilityTimeout?: number; /** * Long-poll wait time (seconds) for `reserve`. * @default 0 */ waitTimeSeconds?: number; } /** * Creates an {@link EmailQueue} backed by Amazon SQS. * @param client An `@aws-sdk/client-sqs` `SQS` instance (optional peer). * @param options Queue options. See {@link SqsQueueOptions}. * @returns The SQS-backed queue. */ declare const createSqsQueue: (client: SqsClientLike, options: SqsQueueOptions) => EmailQueue; export { type SqsClientLike, type SqsQueueOptions, createSqsQueue };