import { SQSClient } from "@aws-sdk/client-sqs"; import { Queue } from "../core/queue.ts"; import type { JobStatus, JobMeta, QueueMessage, BaseJobOptions, WithDelay } from "../interfaces/job.ts"; import type { QueueOptions } from "../interfaces/plugin.ts"; export interface SqsJobRequest extends BaseJobOptions, WithDelay { /** Job payload */ payload: TPayload; } interface SqsClient { send: SQSClient["send"]; } export declare class SqsQueue> extends Queue> { #private; private client; private queueUrl; constructor(client: SqsClient, queueUrl: string, options: QueueOptions & { onFailure: "delete" | "leaveInQueue"; }); protected pushMessage(payload: unknown, meta: JobMeta): Promise; protected reserve(timeout: number): Promise; protected completeJob(message: QueueMessage): Promise; protected failJob(message: QueueMessage, error: unknown): Promise; status(id: string): Promise; } export {};