import { DataSource } from 'typeorm';
import { ChatRoom } from './entities/chat-room.entity';
import { ChatMessage } from './entities/chat-message.entity';
import { CreateRoomDto, SendMessageDto } from './dto/chat.dto';
export declare class ChatService {
    private readonly dataSource;
    constructor(dataSource: DataSource);
    getOrCreateDirectRoom(userIdA: number, userIdB: number): Promise<ChatRoom>;
    createRoom(dto: CreateRoomDto): Promise<ChatRoom>;
    getRoomsForUser(userId: number): Promise<any>;
    getMessages(roomId: number, userId: number, page?: number, limit?: number): Promise<any[]>;
    saveMessage(dto: SendMessageDto, senderId: number): Promise<ChatMessage>;
    markAsRead(roomId: number, userId: number): Promise<void>;
    getTotalUnread(userId: number): Promise<number>;
    getRoomMembers(roomId: number): Promise<any>;
    getAllUsers(currentUserId: number): Promise<any>;
    getRoom(roomId: number): Promise<ChatRoom | null>;
}
