UNPKG

@skyway-sdk/core

Version:

The official Next Generation JavaScript SDK for SkyWay

70 lines 2.98 kB
import { type Event } from '@skyway-sdk/common'; import type { SkyWayChannelImpl } from '../../../channel'; import type { SkyWayContext } from '../../../context'; import type { RemoteAudioStream } from '../../../media/stream/remote/audio'; import type { RemoteDataStream } from '../../../media/stream/remote/data'; import type { RemoteVideoStream } from '../../../media/stream/remote/video'; import { MemberImpl } from '../../../member'; import type { LocalPersonImpl } from '../../../member/localPerson'; import type { Person } from '../../../member/person'; import type { RemoteMemberImplInterface } from '../../../member/remoteMember'; import type { Subscription } from '../../../subscription'; import { P2PConnection } from './connection'; import type { PersonPlugin } from './plugin'; export declare type RemotePerson = RemoteMemberImplInterface & Person & { /**@description [japanese] この RemotePerson がPublicationをSubscribeしたとき */ readonly onPublicationSubscribed: Event<{ subscription: Subscription; }>; /**@description [japanese] この RemotePerson がPublicationをUnsubscribeしたとき */ readonly onPublicationUnsubscribed: Event<{ subscription: Subscription; }>; readonly onPublicationListChanged: Event<void>; readonly onSubscriptionListChanged: Event<void>; /**@description [japanese] この RemotePerson にPublicationをSubscribeさせる */ subscribe: (publicationId: string) => Promise<{ subscription: Subscription; }>; /**@description [japanese] この RemotePerson にPublicationをUnsubscribeさせる */ unsubscribe: (subscriptionId: string) => Promise<void>; }; /**@internal */ export declare class RemotePersonImpl extends MemberImpl implements RemotePerson { private args; readonly type = "person"; readonly subtype = "person"; readonly side = "remote"; readonly plugin: PersonPlugin; private _connections; private _context; private _disposer; readonly onPublicationSubscribed: Event<{ subscription: Subscription; stream?: RemoteDataStream | RemoteAudioStream | RemoteVideoStream | undefined; }>; readonly onPublicationUnsubscribed: Event<{ subscription: Subscription; }>; readonly onPublicationListChanged: Event<void>; readonly onSubscriptionListChanged: Event<void>; constructor(args: { channel: SkyWayChannelImpl; name?: string; id: string; metadata?: string; plugin: PersonPlugin; context: SkyWayContext; }); /**@private */ _getConnection(localPersonId: string): P2PConnection; /**@private */ _getOrCreateConnection(localPerson: LocalPersonImpl): P2PConnection; private _createConnection; subscribe: (publicationId: string) => Promise<{ subscription: Subscription; }>; unsubscribe(subscriptionId: string): Promise<void>; _dispose(): void; } //# sourceMappingURL=member.d.ts.map