import { UseCase } from "../UseCase"; import Message from "../../models/Message"; import MessageRepository from "../../data/repositories/MessageRepository"; import { Observable } from "rxjs"; import SessionRepository from "../../data/repositories/SessionRepository"; import ChatRepository from "../../data/repositories/ChatRepository"; export declare class GetMessages extends UseCase { private messageRepository; private sessionRepository; private chatRepository; constructor(messageRepository: MessageRepository, sessionRepository: SessionRepository, chatRepository: ChatRepository); protected buildUseCaseObservable(params?: GetMessagesParams): Observable; } export declare abstract class GetMessagesParams { private offset; private limit; protected constructor(offset: number, limit: number); getOffset(): number; getLimit(): number; } export declare class GetChatMessagesParams extends GetMessagesParams { private chatId; protected constructor(chatId: string, offset: number, limit: number); static forData(chatId: string, offset: number, amount: number): GetChatMessagesParams; getChatId(): string; } export declare class GetPrivateChatMessagesParams extends GetMessagesParams { private memberLeftId; private memberRightId; protected constructor(memberLeftId: string, memberRightId: string, offset: number, limit: number); static forData(memberLeftId: string, memberRightId: string, offset: number, amount: number): GetPrivateChatMessagesParams; getMemberLeftId(): string; getMemberRightId(): string; }