import { Long } from 'bson'; import { TalkChannel } from '.'; import { ChannelDataUpdater, ChannelSession, NormalChannelSession, UpdatableChannelDataStore } from '../../channel'; import { Chatlog, ChatLogged, ChatType } from '../../chat'; import { MediaUploadForm } from '../../media'; import { OpenChannelSession } from '../../openlink'; import { AsyncCommandResult } from '../../request'; import { ChannelUser, NormalChannelUserInfo, OpenChannelUserInfo } from '../../user'; import { MediaUploadTemplate } from '../media/upload'; export declare function mediaTemplateToForm(template: MediaUploadTemplate): Promise; export declare function sendMultiMedia(channelSession: ChannelSession, type: ChatType, templates: MediaUploadTemplate[]): AsyncCommandResult; export declare function sendMedia(channelSession: ChannelSession, type: ChatType, template: MediaUploadTemplate): AsyncCommandResult; export declare function initWatermark(updater: ChannelDataUpdater, idList: Long[], watermarkList: Long[]): void; export declare function initNormalUserList(session: NormalChannelSession, userIdList: Long[]): AsyncCommandResult; export declare function initOpenUserList(session: OpenChannelSession, userIdList: Long[]): AsyncCommandResult; export declare function updateChatList(channel: TalkChannel): Promise; /** * Store channel data in memory */ export declare class TalkMemoryChannelDataStore implements UpdatableChannelDataStore { private _info; private _userInfoMap; private _watermarkMap; constructor(_info: T, _userInfoMap?: Map, _watermarkMap?: Map); get info(): Readonly; get userCount(): number; getUserInfo(user: ChannelUser): Readonly | undefined; getAllUserInfo(): IterableIterator; clearUserList(): void; getReadCount(chat: ChatLogged): number; getReaders(chat: ChatLogged): Readonly[]; updateInfo(info: Partial): void; setInfo(info: T): void; updateUserInfo(user: ChannelUser, info: Partial): void; removeUser(user: ChannelUser): boolean; updateWatermark(readerId: Long, watermark: Long): void; clearWatermark(): void; }