import { SQSClient, SQSClientConfig } from './clients/sqs'; import { MessageSource, MessageSink, Message } from './'; import { Logger } from './logger'; export interface SNSMessage extends Message { MessageId: string; TopicArn: string; Message: string; Timestamp: string; SignatureVersion: string; Signature: string; SigningCertURL: string; UnsubscribeURL: string; } export declare class SQSQueue implements MessageSource, MessageSink { private sqsClient; private messageMeta; private readonly log; constructor(clientOrConfig: SQSClient | SQSClientConfig, log?: Logger); getNext(): Promise; complete(message: T): Promise; backoff(message: T): Promise; delay(message: T, delaySecs: number): Promise; persist(payload: T): Promise; deleteQueue(): Promise; initialize(): Promise; isReady(): boolean; } export declare class MemoryQueue implements MessageSource, MessageSink { private queue; private invisible; setInvisible(message: T, seconds?: number): void; isVisible(message: T): boolean; getNext(): Promise; persist(payload: T): Promise; complete(message: T): Promise; backoff(_message: T): Promise; delay(message: T, delaySecs: number): Promise; }