UNPKG

@skyway-sdk/sfu-api-client

Version:

The official Next Generation JavaScript SDK for SkyWay

106 lines 3.62 kB
import { HttpClient, type LogFormat, type LogLevel } from '@skyway-sdk/common'; import type { ConsumerOptions } from 'mediasoup-client/lib/Consumer'; import type { RtpCapabilities } from 'mediasoup-client/lib/RtpParameters'; import type { IceParameters, TransportOptions } from 'mediasoup-client/lib/Transport'; export declare class SFURestApiClient { private _token; readonly options: SFUApiOptions; readonly endpoint: string; readonly http: HttpClient; private readonly _headers; constructor(_token: string, _options: Partial<SFUApiOptions> & Pick<SFUApiOptions, 'log'>); updateToken(token: string): void; private _commonErrorHandler; createBot({ appId, channelId, }: { appId: string; channelId: string; }): Promise<string>; deleteBot({ botId }: { botId: string; }): Promise<void>; startForwarding({ botId, publicationId, maxSubscribers, contentType, publisherId, }: { botId: string; publicationId: string; maxSubscribers: number; contentType: ContentType; publisherId: string; }): Promise<{ forwardingId: string; broadcasterTransportId: string; rtpCapabilities?: RtpCapabilities | undefined; broadcasterTransportOptions?: TransportOptions<import("mediasoup-client/lib/types").AppData> | undefined; identifierKey: string; }>; createProducer({ botId, forwardingId, transportId, producerOptions, }: { botId: string; forwardingId: string; transportId: string; producerOptions: object; }): Promise<{ producerId: string; }>; /**@throws {maxSubscriberExceededError,} */ createConsumer({ botId, forwardingId, rtpCapabilities, subscriptionId, subscriberId, spatialLayer, originPublicationId, }: { botId: string; forwardingId: string; rtpCapabilities: RtpCapabilities; subscriptionId: string; subscriberId: string; spatialLayer?: number; originPublicationId: string; }): Promise<{ consumerOptions: ConsumerOptions; producerId: string; transportId: string; transportOptions: TransportOptions | undefined; }>; connect({ transportId, dtlsParameters, }: { transportId: string; dtlsParameters: object; }): Promise<{ transportId: string; }>; changeConsumerLayer({ transportId, consumerId, spatialLayer, publicationId, }: { transportId: string; consumerId: string; spatialLayer: number; publicationId: string; }): Promise<{ transportId: string; }>; stopForwarding({ botId, forwardingId, }: { botId: string; forwardingId: string; }): { promise: Promise<void>; fulfilled: any; }; iceRestart({ transportId }: { transportId: string; }): Promise<IceParameters>; getRtpCapabilities({ botId, forwardingId, originPublicationId, }: { botId: string; forwardingId: string; originPublicationId: string; }): Promise<RtpCapabilities>; confirmSubscription({ forwardingId, subscriptionId, identifierKey, }: { forwardingId: string; subscriptionId: string; identifierKey: string; }): Promise<{ message: string; operationId: string; }>; } declare type ContentType = 'video' | 'audio'; export declare type SFUApiOptions = { domain: string; secure: boolean; version: number; log: { level: LogLevel; format: LogFormat; }; }; export {}; //# sourceMappingURL=api.d.ts.map