import { AWSMessageContext } from "../utils/types";
import { ConsumerParams, GenericMessage, RedeliveryInput } from "../../application/utils/types";
export declare class SQSService {
    private readonly client;
    constructor();
    send<TMessage extends GenericMessage>(queueName: string, message: TMessage, params?: {}): Promise<string | undefined>;
    redelivery<TMessage extends GenericMessage>(params: RedeliveryInput<AWSMessageContext<TMessage>, TMessage>): Promise<{
        messageId: string | undefined;
        startsAt: string | undefined;
        attempt: string | undefined;
    }>;
    consume<TMessage extends GenericMessage>(params: ConsumerParams<TMessage>): void;
    private bindMessage;
    private secondLevelResilience;
}
