import { AIChatHistory, AIAnswerResponse } from 'quickblox/quickblox'; import { RemoteDialogDTO } from '../../dto/dialog/RemoteDialogDTO'; import { RemoteDialogsDTO } from '../../dto/dialog/RemoteDialogsDTO'; import { RemoteMessageDTO } from '../../dto/message/RemoteMessageDTO'; import { RemoteUserDTO } from '../../dto/user/RemoteUserDTO'; import { RemoteUsersDTO } from '../../dto/user/RemoteUsersDTO'; import { RemoteMessagesDTO } from '../../dto/message/RemoteMessagesDTO'; import { RemoteFileDTO } from '../../dto/file/RemoteFileDTO'; import { Pagination } from '../../../Domain/repository/Pagination'; import { IDTOMapper } from './Mapper/IDTOMapper'; import { QBInitParams } from '../../../qb-api-calls'; import { NotificationTypes } from '../../../Domain/entity/NotificationTypes'; import { SubscriptionPerformer } from '../../../Domain/use_cases/base/Subscribable/SubscriptionPerformer'; import { CallBackFunction } from '../../../Domain/use_cases/base/IUseCase'; import { DialogEventInfo } from '../../../Domain/entity/DialogEventInfo'; import { IRemoteDataSource } from './IRemoteDataSource'; import { QBUIKitConfig } from '../../../CommonTypes/CommonTypes'; export type PaginatedDTOResult = { PaginationResult: Pagination; ResultData: RemoteUserDTO[]; }; export type LoginData = { login: string; password: string; }; export type AuthorizationData = { sessionToken: string; userId: number; password: string; userName: string; }; export declare class RemoteDataSource implements IRemoteDataSource { private joinStatusMap; private joinCheckInterval; private processedDialogs; private userCache; private userCachePreloadInterval; private userDTOMapper; private messageDTOMapper; private fileDTOMapper; private _needInit; private _authProcessed; get authProcessed(): boolean; set authProcessed(value: boolean); get needInit(): boolean; setAuthProcessedSuccessed(): void; setInitSDKSuccessed(): void; private _authInformation; get authInformation(): AuthorizationData | undefined; set authInformation(value: AuthorizationData | undefined); private currentDialog; getCurrentDialogDTOMapper(): IDTOMapper; private startUserCachePreload; constructor(); createAnswer(text: string, messages: AIChatHistory, smartChatAssistantId: string): Promise; translate(text: string, languageCode: string, smartChatAssistantId: string): Promise; updateCurrentDialog(dto: RemoteDialogDTO, qbConfig: QBUIKitConfig): Promise; /** * Marks all messages in the specified dialog as read. * Uses the QuickBlox API endpoint provided in qbConfig, or defaults to api.quickblox.com. */ private markAllMessagesAsRead; setUpMockStorage(): Promise; private createUserSession; static initSDK(sdkParams: QBInitParams): boolean; initSDKWithUser(sdkParams: QBInitParams, authData: LoginData): Promise; resetProcessedDialogs(): void; disconnectAndLogoutUser(): Promise; releaseSubscriptions(): void; subscribeOnSystemMessaging(notificationType: NotificationTypes, callback: CallBackFunction): void; protected subscriptionOnSystemMessages: Dictionary>; subscribeOnMessaging(callback: CallBackFunction): void; protected subscriptionOnChatMessages: SubscriptionPerformer; protected subscriptionOnMessageStatus: SubscriptionPerformer; protected subscriptionOnSessionExpiredListener: SubscriptionPerformer; subscribeOnSessionExpiredListener(callback: CallBackFunction): void; subscribeOnUpdateMessageStatus(callback: CallBackFunction): void; initEventsHandlers(): void; releaseEventsHandlers(): void; loginWithUser(authParams: LoginData): Promise; private joinGroupDialog; private startJoinRetryProcess; private processDialogsInBackground; private processDialogs; getDialogs(pagination?: Pagination): Promise; createDialog(dto: RemoteDialogDTO): Promise; updateDialog(dto: RemoteDialogDTO): Promise; getDialog(dto: RemoteDialogDTO): Promise; deleteDialog(dto: RemoteDialogDTO): Promise; deleteUsersFromDialog(dialogDTO: RemoteDialogDTO, usersDTO: Array): Promise; getUser(dto: RemoteUserDTO): Promise; getUsers(remoteUsersDTO: RemoteUsersDTO): Promise; getAllUsers(pagination: Pagination, filter?: string): Promise; getMessages(dialogId: string, pagination: Pagination): Promise; typingMessageStart(dialogDTO: RemoteDialogDTO, senderId: number): Promise; typingMessageStop(dialogDTO: RemoteDialogDTO, senderId: number): Promise; sendMessage(dto: RemoteMessageDTO): Promise; sendSystemMessage(dto: RemoteMessageDTO): Promise; updateMessage(dto: RemoteMessageDTO): Promise; deleteMessage(dto: RemoteMessageDTO): Promise; createFile(dto: RemoteFileDTO): Promise; getFile(dto: RemoteFileDTO): Promise; deleteFile(dto: RemoteFileDTO): Promise; subscribeToChatConnectionEvents(fileId: string): Promise; } //# sourceMappingURL=RemoteDataSource.d.ts.map