import { Repository } from 'typeorm'; import { Conversation } from './entities/conversation.entity'; import { Message, MessageDirection, MessageType } from './entities/message.entity'; import { Notification } from './entities/notification.entity'; export declare class MessagingService { private readonly conversationRepo; private readonly messageRepo; private readonly notificationRepo; constructor(conversationRepo: Repository, messageRepo: Repository, notificationRepo: Repository); getConversations(tenantId: string): Promise; getConversation(tenantId: string, id: string): Promise; findOrCreateConversation(tenantId: string, phoneNumber: string, contactName?: string): Promise; getMessages(conversationId: string, limit?: number): Promise; addMessage(conversationId: string, direction: MessageDirection, content: string, type?: MessageType, metadata?: { waMessageId?: string; mediaUrl?: string; mediaMimeType?: string; }): Promise; markAsRead(tenantId: string, conversationId: string): Promise; getNotifications(tenantId: string, userId?: string, unreadOnly?: boolean): Promise; createNotification(tenantId: string, data: { userId?: string; notificationType: string; channels: string[]; title: string; body: string; data?: Record; }): Promise; markNotificationRead(notificationId: string): Promise; getUnreadCount(tenantId: string, userId?: string): Promise; }