@signalwire/realtime-api
Version:
SignalWire RealTime SDK for Node.js
30 lines • 2.03 kB
TypeScript
import { ChatMember, ChatMessage, ChatEvents, Chat as ChatCore } from '@signalwire/core';
import { BaseChat } from './BaseChat';
import { SWClient } from '../SWClient';
import { RealTimeChatEvents } from '../types/chat';
interface ChatListenOptions {
channels: string[];
onMessageReceived?: (message: ChatMessage) => unknown;
onMemberJoined?: (member: ChatMember) => unknown;
onMemberUpdated?: (member: ChatMember) => unknown;
onMemberLeft?: (member: ChatMember) => unknown;
}
type ChatListenersKeys = keyof Omit<ChatListenOptions, 'channels' | 'topics'>;
declare const Chat_base: {
new (...args: any[]): {
[x: string]: any;
getMembers(params: ChatCore.GetMembersInput): any;
getMessages(params: ChatCore.GetMessagesInput): any;
setMemberState({ memberId, ...rest }?: Record<string, unknown>): any;
getMemberState({ memberId, ...rest }?: Record<string, unknown>): any;
};
} & {
new (options: SWClient): BaseChat<ChatListenOptions, RealTimeChatEvents>;
};
export declare class Chat extends Chat_base {
protected _eventMap: Record<ChatListenersKeys, ChatEvents>;
constructor(options: SWClient);
}
export { ChatMember, ChatMessage } from '@signalwire/core';
export type { ChatAction, ChatChannel, ChatChannelMessageEvent, ChatChannelMessageEventParams, ChatChannelState, ChatEvent, ChatGetMembersParams, ChatGetMemberStateParams, ChatGetMessagesParams, ChatMemberContract, ChatMemberEntity, ChatMemberJoinedEvent, ChatMemberJoinedEventParams, ChatMemberLeftEvent, ChatMemberLeftEventParams, ChatMemberUpdatedEvent, ChatMemberUpdatedEventParams, ChatMessageContract, ChatMessageEntity, ChatSetMemberStateParams, InternalChatMemberEntity, InternalChatMessageEntity, InternalPubSubMessageEntity, MapToPubSubShape, MessagingAction, PaginationCursor, PubSubAction, PubSubChannel, PubSubChannelMessageEvent, PubSubChannelMessageEventParams, PubSubEvent, PubSubEventAction, PubSubPublishParams, } from '@signalwire/core';
//# sourceMappingURL=Chat.d.ts.map