import { BaseDemultiplexedHttpResource } from "./baseDemultiplexedHttp.resource"; import { StreamListener } from "../core/websockets/websocketManager"; import { Observable } from "rxjs"; export declare class TopicMessageData { } export declare class TopicMessage { stream: string; content: string; msg_meta: { [key: string]: any; }; getContents(): { content: string; msg_meta: { [key: string]: any; }; }; } export declare class TopicData { id: number; name: string; description: string; image: string; topic_meta: { [key: string]: any; }; slug: string; } /** * Chats resource, base class for the Chat. */ export declare abstract class BaseDemultiplexedHttpTopicsResource extends BaseDemultiplexedHttpResource { baseResource: string; id: number; slug: string; sessionKey: string; description: string; name: string; messages: TopicMessage[]; topic_meta: { [key: string]: any; }; messagesObservable: Observable; constructor(data: TopicData); /** * Send a message on this chat * @param {ChatMessage} message */ sendMessage(message: TopicMessage): void; /** * Listen for messages on this chat. Should be idempotent. * @return {Chat} */ ensureListeningForMessages(): this; _findMessagesListener(listener: StreamListener): boolean; }