sinch-rtc
Version:
RTC JavaScript/Web SDK
31 lines (30 loc) • 1.08 kB
TypeScript
import * as PubNub from "pubnub";
import { Event } from "../utils/Event";
export interface PubSubConfig {
hostname: string;
port?: number;
broadcastSubscribeKey: string;
signalSubscribeKey: string;
signalPublishKey: string;
}
export type PubSubMessage = Pick<PubNub.MessageEvent, "message">;
export declare class PubSubClient {
private broadcastChannel;
private signalChannel;
config: PubSubConfig;
private broadcast;
private signal;
private subscribers;
constructor(broadcastChannel: string, signalChannel: string, config: PubSubConfig);
onBroadcastMessage: Event<PubSubMessage>;
onSignalMessage: Event<PubSubMessage>;
subscribe(): void;
private subscribeOn;
publish(channel: string, message: string): Promise<PubNub.PublishResponse>;
private broadcastFilters;
broadcastSubscribe(predicate: (message: string) => boolean): void;
cancel(): void;
}
export declare class PubSubClientFactory {
static create(broadcastChannel: string, signalChannel: string, config: PubSubConfig): PubSubClient;
}