import { ChatView } from '../views/ChatView'; import Controller from './Controller'; import { GetMessages } from '../../business/interactors/message/GetMessages'; import { SendMessage } from '../../business/interactors/message/SendMessage'; import UuidGenerator from '../../business/security/UiidGenerator'; import UserViewModel from '../models/UserViewModel'; import { GetPrivateChat } from '../../business/interactors/chat/GetPrivateChat'; import Bus from '../bus/Bus'; import Logger from 'chk2global/dist/logger/Logger'; import GetCurrentUser from '../../business/interactors/user/GetCurrentUser'; import { GetChats } from '../../business/interactors/chat/GetChats'; import { GetUserProfiles } from '../../business/interactors/user/GetUserProfiles'; export default class ChatController extends Controller { private getMessagesUseCase; private sendMessageUseCase; private getChats; private getPrivateChatUseCase; private getUserProfilesUseCase; private uuidGenerator; private getCurrentUserUseCase; private bus; private logger; private readonly TAG; private readonly START_INDEX; private readonly AMOUNT_OF_MESSAGES_PER_PAGE; private initializing; private currentChatId; private postedMessages; private postedChats; private currentUser; private isMessageRequestBlocked; constructor(getMessagesUseCase: GetMessages, sendMessageUseCase: SendMessage, getChats: GetChats, getPrivateChatUseCase: GetPrivateChat, getUserProfilesUseCase: GetUserProfiles, uuidGenerator: UuidGenerator, getCurrentUserUseCase: GetCurrentUser, bus: Bus, logger: Logger); init(): void; private onCurrentUserRetrieved; private handleOnChatsReceived; private notifyViewMayStart; private requestUserProfilesToFulfillChats; private handleOnUserProfilesReceived; private fillChatsWithUsersInfo; private renderChatsInView; private extractUserIdsFromChats; private handleIncomingMessage; private isMessageAlreadyPosted; private handleRecoveredMessages; private handleMessageSent; private handleError; sendMessage(messageText: string): void; private requestChatMessages; private handleMessageRequestError; requestNextPageOfMessages(): void; private blockMessageRequest; private releaseMessageRequestBlock; switchChat(chatId: string): void; switchToPrivateChat(userId: string): void; private clearMessages; private handleOnPrivateChatObtained; private mergeChatIntoPostedChats; resume(): void; pause(): void; dismiss(): void; setCurrentChatId(chatId: string): void; getUser(): UserViewModel; getCurrentChat(): string; }