UNPKG

@skyway-sdk/core

Version:

The official Next Generation JavaScript SDK for SkyWay

103 lines 3.88 kB
import type { LogFormat, LogLevel } from '@skyway-sdk/common'; import type { RtcApiConfig, RtcRpcApiConfig } from '@skyway-sdk/rtc-api-client'; export type { RtcApiConfig, RtcRpcApiConfig }; export declare type SkyWayConfigOptions = { /**@internal */ rtcApi: RtcApiConfig; /**@internal */ iceParamServer: { domain?: string; version?: number; secure?: boolean; }; /**@internal */ signalingService: { domain?: string; secure?: boolean; }; /**@internal */ analyticsService: { domain?: string; secure?: boolean; }; rtcConfig: { /** * @internal * @description ms * */ timeout?: number; turnPolicy?: TurnPolicy; turnProtocol?: TurnProtocol; /** * @internal * @description ms * */ iceDisconnectBufferTimeout?: number; }; token: { updateRemindSec?: number; }; log: Partial<{ level: LogLevel; format: LogFormat; }>; /**@internal */ internal: { disableDPlane?: boolean; }; member: Partial<LocalMemberConfig>; }; /** * @description [japanese] LocalMemberに関する設定 * @description [japanese] * MemberはpreventAutoLeaveOnBeforeUnloadがfalseもしくは未指定の場合、ブラウザのタブを閉じるとChannelから削除される。 * preventAutoLeaveOnBeforeUnloadがtrueの場合、 * もしくはiOS safariのようなbeforeunloadイベントに対応していないブラウザを使用している場合は、 * タブを閉じたあと最長でkeepaliveIntervalSec + keepaliveIntervalGapSec秒後にChannelから削除される。 */ export declare type LocalMemberConfig = { /**@description [japanese] trueの場合、beforeunloadイベントで自動的にleaveしない。デフォルトはfalse */ preventAutoLeaveOnBeforeUnload: boolean; /**@description [japanese] KeepAliveを行う周期 */ keepaliveIntervalSec: number; /**@description [japanese] KeepAliveの周期を超えてChannelからMemberが削除されるまでの時間 */ keepaliveIntervalGapSec: number; }; /**@internal */ export declare type MemberInternalConfig = { /**@internal */ disableSignaling?: boolean; disableAnalytics?: boolean; }; export declare type TurnPolicy = 'enable' | 'disable' | 'turnOnly'; export declare type TurnProtocol = 'all' | 'udp' | 'tcp' | 'tls'; export declare type SkyWayContextConfig = { rtcApi: Required<SkyWayConfigOptions['rtcApi']>; iceParamServer: Required<SkyWayConfigOptions['iceParamServer']>; signalingService: Required<SkyWayConfigOptions['signalingService']>; analyticsService: Required<SkyWayConfigOptions['analyticsService']>; rtcConfig: Required<SkyWayConfigOptions['rtcConfig']>; token: Required<SkyWayConfigOptions['token']>; log: Required<SkyWayConfigOptions['log']>; internal: Required<SkyWayConfigOptions['internal']>; member: Required<SkyWayConfigOptions['member']>; }; export declare class ContextConfig implements SkyWayConfigOptions { /**@internal */ rtcApi: Required<SkyWayConfigOptions['rtcApi']>; /**@internal */ iceParamServer: Required<SkyWayConfigOptions['iceParamServer']>; /**@internal */ signalingService: Required<SkyWayConfigOptions['signalingService']>; /**@internal */ analyticsService: Required<SkyWayConfigOptions['analyticsService']>; rtcConfig: Required<SkyWayConfigOptions['rtcConfig']>; token: Required<SkyWayConfigOptions['token']>; log: Required<SkyWayConfigOptions['log']>; /**@internal */ internal: Required<SkyWayConfigOptions['internal']>; member: Required<SkyWayConfigOptions['member']>; /**@internal */ constructor(options?: Partial<SkyWayConfigOptions>); } //# sourceMappingURL=config.d.ts.map