import { Event } from '@skyway-sdk/common'; import { Member } from '@skyway-sdk/core'; import { RoomMember, RoomMemberImpl } from '../../member'; import { RoomImpl } from '../../room/base'; import { RoomSubscription } from '../../subscription'; export interface RemoteRoomMember extends RoomMember { readonly side: 'remote'; /**@description [japanese] この RemoteRoomMember がPublicationをSubscribeしたとき */ readonly onPublicationSubscribed: Event<{ subscription: RoomSubscription; }>; /**@description [japanese] この RemoteRoomMember がPublicationをUnsubscribeしたとき */ readonly onPublicationUnsubscribed: Event<{ subscription: RoomSubscription; }>; /**@description [japanese] MemberのSubscriptionの数が変化したとき */ readonly onSubscriptionListChanged: Event; /**@description [japanese] MemberのPublicationの数が変化したとき */ readonly onPublicationListChanged: Event; /**@description [japanese] この RemoteRoomMember にPublicationをSubscribeさせる */ subscribe: (publicationId: string) => Promise<{ subscription: RoomSubscription; }>; /**@description [japanese] この RemoteRoomMember にPublicationをUnsubscribeさせる */ unsubscribe: (subscriptionId: string) => Promise; } /**@internal */ export declare class RemoteRoomMemberImpl extends RoomMemberImpl implements RemoteRoomMember { readonly side = "remote"; readonly onPublicationSubscribed: Event<{ subscription: RoomSubscription; }>; readonly onPublicationUnsubscribed: Event<{ subscription: RoomSubscription; }>; readonly onSubscriptionListChanged: Event; readonly onPublicationListChanged: Event; private _disposer; constructor(member: Member, room: RoomImpl); subscribe: (publicationId: string) => Promise<{ subscription: RoomSubscription; }>; unsubscribe: (subscriptionId: string) => Promise; /**@private */ _dispose(): void; } //# sourceMappingURL=base.d.ts.map