import { IMessageRepository } from '../../domain/interfaces/repositories'; import { MessageEntity } from '../../domain/entities'; import { SupabaseAdapter } from '../adapters/supabase.adapter'; /** * Message Repository * Handles persistence operations for messages */ export declare class MessageRepository implements IMessageRepository { private adapter; constructor(adapter: SupabaseAdapter); /** * 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; /** * Converts entity to database row */ private entityToDb; /** * Converts database row to entity */ private dbToEntity; } //# sourceMappingURL=message.repository.d.ts.map