@skyway-sdk/rtc-api-client
Version:
The official Next Generation JavaScript SDK for SkyWay
40 lines • 2.53 kB
TypeScript
import { Event, type SkyWayError } from '@skyway-sdk/common';
import type { Channel, Member, Publication, Subscription } from '@skyway-sdk/model';
import type { RtcRpcApiClient } from '@skyway-sdk/rtc-rpc-api-client';
import type { ChannelInit, ChannelQuery, MemberInit, PublicationInit, RtcApi, SubscriptionInit } from '../domain/api';
export declare class RtcApiImpl implements RtcApi {
private _client;
closed: boolean;
readonly onClose: Event<void>;
readonly onFatalError: Event<SkyWayError<Record<string, any>>>;
constructor(_client: RtcRpcApiClient);
/** @throws {@link SkyWayError} */
connect(): Promise<void>;
updateAuthToken(token: string): Promise<void>;
close(): void;
private _commonError;
/**@throws {@link SkyWayError} */
createChannel(appId: string, channelInit: ChannelInit): Promise<Channel>;
getChannel(appId: string, { name, id }: ChannelQuery): Promise<Channel>;
findOrCreateChannel(appId: string, query: ChannelInit): Promise<Channel>;
deleteChannel(appId: string, id: Channel['id']): Promise<void>;
updateChannelMetadata(appId: string, id: Channel['id'], metadata: string): Promise<void>;
join(appId: string, channelId: Channel['id'], memberInit: MemberInit): Promise<Member>;
updateMemberTtl(appId: string, channelId: Channel['id'], memberId: Member['id'], ttlSec: number): Promise<void>;
/**
* @returns Date.now()
*/
getServerUnixtime(appId: string): Promise<number>;
updateMemberMetadata(appId: string, channelId: Channel['id'], memberId: Member['id'], metadata: string): Promise<void>;
leave(appId: string, channelId: Channel['id'], memberId: Member['id']): Promise<void>;
/**@throws {@link SkyWayError} */
publish(appId: string, init: PublicationInit): Promise<string>;
updatePublicationMetadata(appId: string, channelId: Channel['id'], publicationId: Publication['id'], metadata: string): Promise<void>;
disablePublication(appId: string, channelId: Channel['id'], publicationId: Publication['id']): Promise<void>;
enablePublication(appId: string, channelId: Channel['id'], publicationId: Publication['id']): Promise<void>;
unpublish(appId: string, channelId: Channel['id'], publicationId: Publication['id']): Promise<void>;
/**@throws {@link SkyWayError} */
subscribe(appId: string, init: SubscriptionInit): Promise<string>;
unsubscribe(appId: string, channelId: Channel['id'], subscriptionId: Subscription['id']): Promise<void>;
}
//# sourceMappingURL=api.d.ts.map