import { AIChatHistory, AIAnswerResponse } from 'quickblox'; import { RemoteDialogDTO } from '../../dto/dialog/RemoteDialogDTO'; import { RemoteDialogsDTO } from '../../dto/dialog/RemoteDialogsDTO'; import { RemoteUserDTO } from '../../dto/user/RemoteUserDTO'; import { RemoteUsersDTO } from '../../dto/user/RemoteUsersDTO'; import { RemoteMessagesDTO } from '../../dto/message/RemoteMessagesDTO'; import { RemoteMessageDTO } from '../../dto/message/RemoteMessageDTO'; import { RemoteFileDTO } from '../../dto/file/RemoteFileDTO'; import { Pagination } from '../../../Domain/repository/Pagination'; import { CallBackFunction } from '../../../Domain/use_cases/base/IUseCase'; import { NotificationTypes } from '../../../Domain/entity/NotificationTypes'; import { QBUIKitConfig } from '../../../CommonTypes/CommonTypes'; export interface IRemoteMessaging { subscribeOnSystemMessaging(notificationType: NotificationTypes, callback: CallBackFunction): void; subscribeOnMessaging(callback: CallBackFunction): void; releaseSubscriptions(): void; } export interface IRemoteDataSource extends IRemoteMessaging { createDialog(dto: RemoteDialogDTO): Promise; updateDialog(dto: RemoteDialogDTO): Promise; getDialog(dto: RemoteDialogDTO): Promise; getDialogs(pagination?: Pagination): Promise; deleteDialog(dto: RemoteDialogDTO): Promise; deleteUsersFromDialog(dialogDto: RemoteDialogDTO, usersDTO: Array): Promise; getUser(dto: RemoteUserDTO): Promise; getUsers(dto: RemoteUsersDTO): 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; updateCurrentDialog(dto: RemoteDialogDTO, qbConfig: QBUIKitConfig): void; createAnswer(text: string, messages: AIChatHistory, smartChatAssistantId: string): Promise; translate(text: string, languageCode: string, smartChatAssistantId: string): Promise; } //# sourceMappingURL=IRemoteDataSource.d.ts.map