import { ILocalDataSource } from '../source/local/ILocalDataSource'; import { IRemoteDataSource } from '../source/remote/IRemoteDataSource'; import { DialogEntity } from '../../Domain/entity/DialogEntity'; import { IDialogsRepository } from '../../Domain/repository/IDialogsRepository'; import { FunctionTypeVoidToVoid } from '../../CommonTypes/BaseViewModel'; import { PaginatedResult, Pagination } from '../../Domain/repository/Pagination'; import { QBUIKitConfig } from '../../CommonTypes/CommonTypes'; export default class DialogsRepository implements IDialogsRepository { private localDataStorage; private remoteDataSource; private dialogRemoteDTOMapper; private dialogLocalDTOMapper; constructor(localDataStorage: ILocalDataSource, remoteDataSource: IRemoteDataSource); release(): void; subscribeLocalSync(subscriber: FunctionTypeVoidToVoid): void; unsubscribeLocalSync(): void; isLocalSynced(): Promise; setLocalSynced(synced: boolean): void; saveDialogToLocal(entity: DialogEntity): Promise; createDialogInRemote(entity: DialogEntity): Promise; updateDialogInLocal(entity: DialogEntity): Promise; updateCurrentDialogInLocalDataSource(entity: DialogEntity, qbConfig: QBUIKitConfig): Promise; updateDialogInRemote(entity: DialogEntity): Promise; getDialogFromLocal(dialogId: string): Promise; getDialogFromRemote(dialogId: string): Promise; getDialogsFromLocal(pagination?: Pagination): Promise>; getDialogsFromRemote(pagination?: Pagination): Promise>; deleteDialogFromLocal(dialogId: string): Promise; deleteDialogFromRemote(dialogId: string): Promise; deleteUsersFromDialogFromRemote(dialogId: string, usersIds: Array): Promise; } //# sourceMappingURL=DialogsRepository.d.ts.map