import { PgmqMessage } from '../../../domain/interfaces/repositories'; /** * Queue Service Interface * Handles queue operations and message lifecycle */ export interface IQueueService { /** * Polls the queue for a new message * @returns PGMQ message or null if queue is empty */ pollMessage(): Promise; /** * Acknowledges successful message processing by deleting from queue * @param messageId - PGMQ message ID * @returns true if deleted, false otherwise */ acknowledgeMessage(messageId: number): Promise; /** * Gets queue metrics * @returns Queue metrics */ getQueueMetrics(): Promise<{ queue_name: string; queue_length: number; newest_msg_age_sec: number | null; oldest_msg_age_sec: number | null; total_messages: number; }>; /** * Creates the queue for this CLI instance (idempotent) * @returns true if created or already exists */ createQueue(): Promise; } //# sourceMappingURL=iqueue.service.d.ts.map