import { SQS } from 'aws-sdk'; import { SendMessageBatchRequestEntry } from 'aws-sdk/clients/sqs'; export declare const sqs: SQS; export interface EnsureQueueResult { queueName: string; queueUrl: string; queueArn: string; topicArns: string[]; topicNames: string[]; } /** * http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/SQS.html * http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/SNS.html * @param {string} queueName [description] * @param {string[] = []} topicNames [description] * @return {Promise} [description] */ export declare function ensureQueue(queueName: string, topicNames?: string[]): Promise; /** * [receiveMessages description] * @param {string} queueUrl [description] * @param {SQS.Message[]) => void} callback [description] * @return {Promise} [description] */ export declare function receiveMessages(queueUrl: string, callback: (messages: SQS.Message[]) => void): Promise; /** * [deleteMessage description] * @param {string} queueUrl [description] * @param {string} receiptHandle [description] * @return {Promise} [description] */ export declare function deleteMessage(queueUrl: string, receiptHandle: string): Promise; /** * Publishes a number of messages to the SQS queue * @param queueUrl * @param entries */ export declare function sendMessageBatch(queueUrl: string, entries: SendMessageBatchRequestEntry[]): Promise;