import { LocalDialogDTO } from '../../dto/dialog/LocalDialogDTO'; import { LocalDialogsDTO } from '../../dto/dialog/LocalDialogsDTO'; import { LocalUserDTO } from '../../dto/user/LocalUserDTO'; import { LocalMessageDTO } from '../../dto/message/LocalMessageDTO'; import { LocalMessagesDTO } from '../../dto/message/LocalMessagesDTO'; import { FunctionTypeVoidToVoid } from '../../../CommonTypes/BaseViewModel'; import { Pagination } from '../../../Domain/repository/Pagination'; export interface ILocalDataSource { subscribe(subscriber: FunctionTypeVoidToVoid): void; release(): void; isLocalSynced(): Promise; setLocalSynced(synced: boolean): void; saveDialog(dtoDialog: LocalDialogDTO): Promise; deleteDialog(dtoDialog: LocalDialogDTO): Promise; getDialogs(pagination?: Pagination): Promise; getDialog(dtoDialog: LocalDialogDTO): Promise; updateDialog(dtoDialog: LocalDialogDTO): Promise; getUser(dtoUser: LocalUserDTO): Promise; saveUser(user: LocalUserDTO): Promise; getMessages(dtoMessages: LocalMessagesDTO): Promise; saveMessage(dtoMessage: LocalMessageDTO): Promise; updateMessage(dtoMessage: LocalMessageDTO): Promise; deleteMessage(dtoMessage: LocalMessageDTO): Promise; clearAll(): Promise; }