sinch-rtc
Version:
RTC JavaScript/Web SDK
23 lines (22 loc) • 1.21 kB
TypeScript
import { FeatureFlags } from "../features/Features";
import { InstanceController } from "../instance";
import { IceServer, IceServerCredentialTypeEnum } from "../ocra/api";
import { ApiClient } from "../ocra/ApiClient";
import { PeerConnectionClient } from "./PeerConnectionClient";
export interface RTCIceServerExtended extends RTCIceServer {
validUntil?: Date;
credentialType?: "password" | "oauth";
}
export type FetchIceServers = () => Promise<IceServer[]>;
export type SetIceServers = (iceServers: RTCIceServerExtended[]) => void;
export interface Ris {
validUntil: string;
urls: string[];
username: string;
credentialType: IceServerCredentialTypeEnum;
password: string;
}
export declare const createIceServerFetcher: (apiClient: ApiClient, userId: string, instanceId: string) => () => Promise<IceServer[]>;
export declare const onTurnFeatureFlagChanged: (instanceController: InstanceController) => (featureFlags: FeatureFlags) => void;
export declare const createIceServerSetter: (peerConnectionClient: PeerConnectionClient) => (iceServers: RTCIceServerExtended[]) => void;
export declare const toRTCIceServer: (iceServers: IceServer[] | Ris[]) => RTCIceServerExtended[];