sinch-rtc
Version:
RTC JavaScript/Web SDK
60 lines (59 loc) • 2.43 kB
TypeScript
import { CallInitiator, CallClient } from "./calling";
import { SinchConfig } from "./models";
import { SinchClientListener } from "./SinchClientListener";
import { CallInitiationResponse, Config, InitiateCallRequest } from "./ocra/api";
import { SinchClient } from "./SinchClient";
import { NotificationResult } from "./push/NotificationResult";
export declare class DefaultSinchClient implements CallInitiator, SinchClient {
private static readonly OCRA_PATH;
private readonly ServiceWorkerName;
applicationKey: string;
userId: string;
private callerIdentifier?;
private defaultCallClient;
private clientEvent;
private instanceController;
private isClientStarted;
private apiClient;
private onStartedAction;
private pushWorker?;
private pushService;
private features;
private useRelayIceCandidatesOnly;
private addTurnListener;
private isUsingManagedPush;
private instanceConfigJson?;
private instanceConfigUpdateInterval?;
/**
* @param config -
* config.applicationKey - application unique key from Sinch portal
* config.userId - userId for whom instance is created
* [config.ttl] TODO: TTL param for setting lifetime of Ocra instance
*/
constructor(config: SinchConfig);
set pushNotificationDisplayName(displayName: string | undefined);
get pushNotificationDisplayName(): string | undefined;
setUseRelayIceCandidatesOnly(useRelayIceCandidatesOnly: boolean): void;
private processExternalPushNotification;
private getBaseUrl;
private isUrl;
start(instanceConfig?: Config): Promise<void>;
setSupportManagedPush(serviceWorker?: string): Promise<void>;
disableManagedPushSupport(): Promise<void>;
private failed;
private setupPush;
private createAndSetUpCallReporter;
private started;
private setupConfigCheck;
private clearInstanceConfigUpdateInterval;
addListener(listener: SinchClientListener): void;
removeListener(listener: SinchClientListener): void;
initiateCall(request: InitiateCallRequest): Promise<CallInitiationResponse>;
onPush: (message: any) => void;
get callClient(): CallClient;
terminate(): void;
get localUserId(): string;
isStarted(): boolean;
relayRemotePushNotification(payload: Record<string, string>): NotificationResult;
showPushNotification(title: string, options: NotificationOptions): void;
}