import { Long } from 'bson'; import { Chatlog } from './chat'; import { ChatListUpdater } from './updater'; /** * Store chats */ export interface ChatStore { /** * Get latest chatlog */ last(): Promise; /** * Get chat with log id * @param logId */ get(logId: Long): Promise; /** * Iterate chats before logid * @param logId * @param maxCount */ before(logId: Long, maxCount?: number): AsyncIterableIterator; /** * Iterate chats since given time * @param time */ since(time: number): AsyncIterableIterator; /** * Iterate every chat */ all(): AsyncIterableIterator; } export interface UpdatableChatListStore extends ChatStore, ChatListUpdater { }