@signalwire/core
Version:
Shared code for the SignalWire JS SDK
23 lines • 1.13 kB
TypeScript
import { BaseComponentOptions, JSONRPCSubscribeMethod } from '..';
import { BasePubSubConsumer } from '../pubSub';
import type { ChatMemberEventNames, ChatMessageEventName } from '../types/chat';
import { ChatMember } from './ChatMember';
import { ChatMessage } from './ChatMessage';
export type BaseChatApiEventsHandlerMapping = Record<ChatMessageEventName, (message: ChatMessage) => void> & Record<ChatMemberEventNames, (member: ChatMember) => void>;
/**
* @privateRemarks
*
* Each package will have the option to either extend this
* type or provide their own event mapping.
*/
export type BaseChatApiEvents<T = BaseChatApiEventsHandlerMapping> = {
[k in keyof T]: T[k];
};
export declare class BaseChatConsumer extends BasePubSubConsumer<BaseChatApiEvents> {
protected subscribeMethod: JSONRPCSubscribeMethod;
constructor(options: BaseComponentOptions);
protected initWorker(): void;
}
export declare const BaseChatAPI: import("..").ConstructableType<BaseChatConsumer>;
export declare const createBaseChatObject: <ChatType>(params: BaseComponentOptions) => ChatType;
//# sourceMappingURL=BaseChat.d.ts.map