import { BackOff, LogFormat, LogLevel, SkyWayError } from '@skyway-sdk/common'; import model, { Channel, Codec, ContentType, Encoding, Member, Publication } from '@skyway-sdk/model'; import { ChannelEvent } from './event'; import { RPC } from './rpc'; /**@internal */ export interface RtcRpcApiConfig { domain?: string; /**ms */ timeout?: number; secure?: boolean; } export declare type RtcRpcApiClientConfig = RtcRpcApiConfig & { token: string; log?: Partial<{ level: LogLevel; format: LogFormat; }>; }; export declare class RtcRpcApiClient { readonly config: RtcRpcApiClientConfig; closed: boolean; private readonly _domain; private _secure; private _token; /**@private */ _rpc: RPC; private _subscribingChannelEvents; private _subscribingChannelVersions; private readonly _httpClient; private _reconnectCount; private readonly _reconnectLimit; private readonly _events; readonly onEvent: import("@skyway-sdk/common").Event<{ channelId: string; event: ChannelEvent; }>; readonly onFatalError: import("@skyway-sdk/common").Event>>; readonly onClose: import("@skyway-sdk/common").Event; readonly onReconnected: import("@skyway-sdk/common").Event; constructor(config: RtcRpcApiClientConfig); get token(): string; private _reconnect; updateToken(token: string): Promise; close(): void; health(): Promise; /** @throws {@link SkyWayError} */ connect(): Promise; private _channelSubscribed; private _isSubscribingChannel; createChannel({ name, metadata, appId, }: { name?: Channel['name']; metadata?: string; appId: string; }): Promise<{ id: string; version: number; }>; findOrCreateChannel({ name, metadata, appId, }: { appId: string; name?: Channel['name']; metadata?: string; }): Promise; getChannel({ appId, id }: { appId: string; id: Channel['id']; }): Promise; getChannelByName({ name, appId, }: { appId: string; name: Channel['name']; }): Promise; deleteChannel({ id, appId }: { appId: string; id: Channel['id']; }): Promise; updateChannelMetadata({ id, metadata, appId, }: { id: Channel['id']; appId: string; metadata: string; }): Promise; addMember({ channelId, name, metadata, subscribeChannelEvents, appId, ttlSec, subtype, type, }: { appId: string; channelId: Channel['id']; name?: Member['name']; metadata?: Member['metadata']; subscribeChannelEvents?: boolean; /**unixtimestamp in seconds */ ttlSec?: number; type?: string; subtype?: string; }): Promise; updateMemberTtl(args: { appId: string; channelId: string; memberId: string; /**unixtimestamp in seconds */ ttlSec: number; }, backoff?: BackOff): Promise; updateMemberMetadata({ channelId, memberId, metadata, appId, }: { appId: string; channelId: string; memberId: string; metadata: string; }): Promise; leaveChannel({ channelId, id, appId, }: { appId: string; channelId: string; id: string; }): Promise; publishStream({ appId, channelId, publisherId, contentType, metadata, origin, codecCapabilities, encodings, isEnabled, }: { appId: string; channelId: string; publisherId: string; contentType: ContentType; metadata?: string; origin?: string; codecCapabilities?: Codec[]; encodings?: Encoding[]; isEnabled?: boolean; }): Promise<{ publicationId: string; }>; disablePublication({ channelId, publicationId, appId, }: { appId: string; channelId: string; publicationId: string; }): Promise; enablePublication({ channelId, publicationId, appId, }: { appId: string; channelId: string; publicationId: string; }): Promise; updatePublicationMetadata({ channelId, publicationId, appId, metadata, }: { appId: string; channelId: string; publicationId: string; metadata: string; }): Promise; unpublishStream({ channelId, publicationId, appId, }: { appId: string; channelId: string; publicationId: string; }): Promise; subscribeStream({ channelId, subscriberId, publicationId, appId, }: { appId: string; channelId: Channel['id']; subscriberId: Member['id']; publicationId: Publication['id']; }): Promise<{ subscriptionId: string; }>; unsubscribeStream({ channelId, subscriptionId, appId, }: { appId: string; channelId: string; subscriptionId: string; }): Promise; /** * @returns Date.now() */ getServerUnixtime(args: { appId: string; }, backoff?: BackOff): Promise; /**@description [japanese] 現在のセッションに関連付けられている SkyWayAuthToken を更新します */ private _updateAuthToken; /** * @description * - 指定した Channel の Event を Subscribe していなければ Event が生じるたびに Notification が送られるようになります。 * - Subscribeした時点で、指定された offset (default to 0) の version から、最新の version までのイベントが送られます。 */ subscribeChannelEvents({ appId, channelId, offset, }: { appId: string; channelId: Channel['id']; offset?: number; }): Promise; } //# sourceMappingURL=client.d.ts.map