import { Long } from 'bson'; import { Channel, ChannelDataStore, ChannelMeta, SetChannelMeta, UpdatableChannelDataStore } from '../../channel'; import { Chat, Chatlog, ChatLogged, ChatLoggedType, ChatType, UpdatableChatListStore } from '../../chat'; import { TalkSession } from '../client'; import { EventContext, TypedEmitter } from '../../event'; import { MediaKeyComponent, MediaMultiPost, MediaPost, MediaUploadForm } from '../../media'; import { OpenChannel, OpenChannelInfo, OpenChannelSession, OpenChannelUserPerm, OpenLink, OpenLinkChannelUserInfo, OpenLinkKickedUserInfo, OpenLinkProfiles } from '../../openlink'; import { AsyncCommandResult, CommandResult, DefaultRes } from '../../request'; import { RelayEventType } from '../../relay'; import { ChannelUser, OpenChannelUserInfo } from '../../user'; import { TalkChannel } from '../channel'; import { OpenChannelEvents } from '../event'; import { Managed } from '../managed'; import { BotMetaContent, ChannelMetaType, GroupMetaContent, LiveTalkCountMetaContent, LiveTalkInfoMetaContent, PrivilegeMetaContent, ProfileMetaContent, TvLiveMetaContent, TvMetaContent } from '../../channel/meta'; import { ChatOnRoomRes } from '../../packet/chat'; import { MediaUploadTemplate } from '../media/upload'; import { FixedReadStream } from '../../stream'; declare type TalkOpenChannelEvents = OpenChannelEvents; export declare class TalkOpenChannel extends TypedEmitter implements OpenChannel, ChannelDataStore, TalkChannel, OpenChannelSession, Managed { private _channel; private _chatListStore; private _channelSession; private _openChannelSession; private _handler; private _openHandler; constructor(_channel: Channel, session: TalkSession, store: UpdatableChannelDataStore, _chatListStore: UpdatableChatListStore); get clientUser(): Readonly; get channelId(): Long; get chatListStore(): UpdatableChatListStore; get store(): UpdatableChannelDataStore; get linkId(): Long; get info(): Readonly; get userCount(): number; getName(): string; getDisplayName(): string; getUserInfo(user: ChannelUser): Readonly | undefined; getAllUserInfo(): IterableIterator; getReadCount(chat: ChatLogged): number; getReaders(chat: ChatLogged): Readonly[]; sendChat(chat: string | Chat, noSeen?: boolean): AsyncCommandResult; forwardChat(chat: Chat, noSeen?: boolean): AsyncCommandResult; deleteChat(chat: ChatLogged): AsyncCommandResult; inviteUsers(): AsyncCommandResult; syncChatList(endLogId: Long, startLogId?: Long): AsyncIterableIterator>; getChatListFrom(startLogId?: Long): AsyncCommandResult; markRead(chat: ChatLogged): AsyncCommandResult; setMeta(type: ChannelMetaType, meta: string | ChannelMeta): AsyncCommandResult; setTitleMeta(title: string): AsyncCommandResult; setNoticeMeta(notice: string): AsyncCommandResult; /** * Set privileged settings. * Need to be owner of the channel to set. * * @param {PrivilegeMetaContent} content * @return {AsyncCommandResult} */ setPrivilegeMeta(content: PrivilegeMetaContent): AsyncCommandResult; setProfileMeta(content: ProfileMetaContent): AsyncCommandResult; setTvMeta(content: TvMetaContent): AsyncCommandResult; setTvLiveMeta(content: TvLiveMetaContent): AsyncCommandResult; setLiveTalkInfoMeta(content: LiveTalkInfoMetaContent): AsyncCommandResult; setLiveTalkCountMeta(content: LiveTalkCountMetaContent): AsyncCommandResult; setGroupMeta(content: GroupMetaContent): AsyncCommandResult; /** * Set bot meta * * @param {BotMetaContent} content * @return {AsyncCommandResult} */ setBotMeta(content: BotMetaContent): AsyncCommandResult; setPushAlert(flag: boolean): AsyncCommandResult; chatON(): AsyncCommandResult; getLatestChannelInfo(): AsyncCommandResult; getLatestUserInfo(...users: ChannelUser[]): AsyncCommandResult; getAllLatestUserInfo(): AsyncCommandResult; getLatestOpenLink(): AsyncCommandResult; createEvent(chat: ChatLoggedType, type: RelayEventType, count: number): AsyncCommandResult; getKickList(): AsyncCommandResult; removeKicked(user: ChannelUser): AsyncCommandResult; setUserPerm(user: ChannelUser, perm: OpenChannelUserPerm): AsyncCommandResult; handoverHost(user: ChannelUser): AsyncCommandResult; kickUser(user: ChannelUser): AsyncCommandResult; blockUser(user: ChannelUser): AsyncCommandResult; react(flag: boolean): AsyncCommandResult; getReaction(): AsyncCommandResult<[number, boolean]>; changeProfile(profile: OpenLinkProfiles): AsyncCommandResult | null>; hideChat(chat: ChatLoggedType): AsyncCommandResult; downloadMedia(media: MediaKeyComponent, type: ChatType, offset?: number): AsyncCommandResult; downloadMediaThumb(media: MediaKeyComponent, type: ChatType, offset?: number): AsyncCommandResult; uploadMedia(type: ChatType, form: MediaUploadForm): AsyncCommandResult; uploadMultiMedia(type: ChatType, forms: MediaUploadForm[]): AsyncCommandResult; sendMedia(type: ChatType, template: MediaUploadTemplate): AsyncCommandResult; sendMultiMedia(type: ChatType, templates: MediaUploadTemplate[]): AsyncCommandResult; updateAll(): AsyncCommandResult; pushReceived(method: string, data: DefaultRes, parentCtx: EventContext): Promise; } export {};