import { SQS } from 'aws-sdk/clients/all';
export declare const DEFAULT_SQS_CLIENT: SQS;
export declare class SQSQueue {
    private readonly sqsClient;
    private readonly QueueName;
    private QueueUrl;
    constructor(QueueName: string, sqsClient?: SQS);
    getQueueUrl: () => Promise<string>;
    private queueParams;
    createQueue: () => Promise<import("aws-sdk/lib/request").PromiseResult<SQS.CreateQueueResult, import("aws-sdk/lib/error").AWSError>>;
    sendMessage: (params: Pick<SQS.SendMessageRequest, "MessageBody" | "DelaySeconds" | "MessageAttributes" | "MessageDeduplicationId" | "MessageGroupId">) => Promise<import("aws-sdk/lib/request").PromiseResult<SQS.SendMessageResult, import("aws-sdk/lib/error").AWSError>>;
    sendMessageBatch: (params: Pick<SQS.SendMessageBatchRequest, "Entries">) => Promise<import("aws-sdk/lib/request").PromiseResult<SQS.SendMessageBatchResult, import("aws-sdk/lib/error").AWSError>>;
    receiveMessage: (params: Pick<SQS.ReceiveMessageRequest, "AttributeNames" | "MessageAttributeNames" | "MaxNumberOfMessages" | "VisibilityTimeout" | "WaitTimeSeconds" | "ReceiveRequestAttemptId">) => Promise<import("aws-sdk/lib/request").PromiseResult<SQS.ReceiveMessageResult, import("aws-sdk/lib/error").AWSError>>;
}
