import { GetUserChatsQuery } from './ChatQueries';
import { IChatRepository } from '../../../Domain/IRepository/IChatRepository';
import { IChatArchiveRepository } from '../../../Domain/IRepository/IChatArchiveRepository';
interface ChatWithMetadata {
    id: string;
    type: string;
    name: string | null;
    gameId: string | null;
    users: string[];
    lastActivity: Date | null;
    isArchived: boolean;
    messageCount: number;
    unreadCount?: number;
}
export declare class GetUserChatsQueryHandler {
    private chatRepository;
    private chatArchiveRepository;
    constructor(chatRepository: IChatRepository, chatArchiveRepository: IChatArchiveRepository);
    execute(query: GetUserChatsQuery): Promise<ChatWithMetadata[]>;
    private calculateUnreadMessages;
}
export {};
//# sourceMappingURL=GetUserChatsQueryHandler.d.ts.map