import { Base, Opts } from "./aws-base"; import AWS_SQS from "aws-sdk/clients/sqs"; export interface SenderOpts extends Opts { queue: string; fifo?: boolean; } export interface ReceiverOpts extends Opts { queue: string; pollInterval: number; backoffInterval: number; msgProcesser: (msgs: AWS_SQS.Message[]) => Promise; } export declare class Sender extends Base { private readonly _queue; private _sqs; private _fifo; constructor(name: string, opts: SenderOpts); start(): Promise; injectMessage(msg: string): Promise; sendMessage( msg: string, attribs?: AWS_SQS.MessageBodyAttributeMap, msgGroupID?: string, ): Promise; stop(): Promise; healthCheck(): Promise; } export declare class Receiver extends Base { private readonly _queue; private _sqs; private _pollInterval; private _backoffInterval; private _nowReceiving; private _stopNow; private _processMessages; constructor(name: string, opts: ReceiverOpts); start(): Promise; private startReceiving; injectMessages(msgs: string): Promise; private receiveMessage; stop(): Promise; private stopReceiving; healthCheck(): Promise; }