import { Repository } from 'typeorm';
import { Message } from './message.entity';
import { Application } from '../applications/application.entity';
import { Invitation } from '../invitations/invitation.entity';
import { NotificationsService } from '../notifications/notifications.service';
export declare class MessagesService {
    private messagesRepo;
    private applicationsRepo;
    private invitationsRepo;
    private notificationsService;
    constructor(messagesRepo: Repository<Message>, applicationsRepo: Repository<Application>, invitationsRepo: Repository<Invitation>, notificationsService: NotificationsService);
    getMessagesForApplication(userId: string, contextId: string): Promise<Message[]>;
    sendMessage(senderId: string, contextId: string, content: string): Promise<Message>;
    getConversations(userId: string): Promise<any[]>;
    getDirectMessages(userId: string, otherUserId: string): Promise<Message[]>;
    sendDirectMessage(senderId: string, receiverId: string, content: string): Promise<Message>;
}
