import type { SQS } from 'aws-sdk'; import type { ConsumerOptions } from 'sqs-consumer'; import type { Producer } from 'sqs-producer'; export declare type ProducerOptions = Parameters[0]; export declare type QueueName = string; export declare enum SqsConsumerEvent { RESPONSE_PROCESSED = "response_processed", EMPTY = "empty", MESSAGE_RECEIVED = "message_received", MESSAGE_PROCESSED = "message_processed", ERROR = "error", TIMEOUT_ERROR = "timeout_error", PROCESSING_ERROR = "processing_error", STOPPED = "stopped" } export declare type SqsConsumerOptions = Omit; export declare type SqsProducerOptions = Omit; export declare type SqsConfigOption = SQS.Types.ClientConfiguration & { accountNumber: string; }; export declare enum SqsQueueType { All = "ALL", Producer = "PRODUCER", Consumer = "CONSUMER" } export declare type SqsQueueOption = { name: QueueName; type?: SqsQueueType; consumerOptions?: SqsConsumerOptions; producerOptions?: SqsProducerOptions; }; export declare type SqsQueueOptions = Array; export declare type SqsMetadata = { name: QueueName; messageHandler: { batch?: boolean; handleMessage: (...args: any[]) => any; }; eventHandler: Array<{ eventName: string | SqsConsumerEvent; handleEvent: (...args: any[]) => any; }>; };