import { MessageEntity } from '../../../domain/entities'; /** * Message Repository Interface * Defines operations for message persistence */ export interface IMessageRepository { /** * Creates a new message record * @param message - Message entity to create * @returns Created message entity */ create(message: MessageEntity): Promise; /** * Updates an existing message * @param message - Message entity with updated data * @returns Updated message entity */ update(message: MessageEntity): Promise; /** * Finds a message by ID * @param id - Message ID * @returns Message entity or null if not found */ findById(id: string): Promise; /** * Finds a message by PGMQ message ID * @param pgmqMessageId - PGMQ message ID * @returns Message entity or null if not found */ findByPgmqMessageId(pgmqMessageId: number): Promise; /** * Finds messages by status * @param status - Message status * @param limit - Maximum number of results * @returns Array of message entities */ findByStatus(status: string, limit?: number): Promise; } //# sourceMappingURL=imessage.repository.d.ts.map