import { LocalPersonAdapter, LocalStream, RemoteAudioStream, RemoteDataStream, RemoteVideoStream, SubscriptionOptions } from '@skyway-sdk/core'; import { RoomPublication } from '../../publication'; import { SfuRoomImpl } from '../../room/sfu'; import { RoomSubscription } from '../../subscription'; import { LocalRoomMember, LocalRoomMemberImpl, RoomPublicationOptions } from './base'; export interface LocalSFURoomMember extends LocalRoomMember { /** * @description [japanese] RoomにStreamをPublishする */ publish: (stream: LocalStream, options?: RoomPublicationOptions & SfuRoomPublicationOptions) => Promise>; } /**@internal */ export declare class LocalSFURoomMemberImpl extends LocalRoomMemberImpl implements LocalSFURoomMember { /**@private */ constructor(member: LocalPersonAdapter, room: SfuRoomImpl); publish(stream: LocalStream, options?: RoomPublicationOptions & SfuRoomPublicationOptions): Promise>; /** * @description [japanese] Room上のStreamをUnPublishする */ unpublish(target: string | RoomPublication): Promise; /** * @description [japanese] MemberがRoom上のStreamのPublicationをSubscribeする */ subscribe(target: string | RoomPublication, options?: SubscriptionOptions): Promise<{ subscription: RoomSubscription; stream: T; }>; /** * @description [japanese] MemberがSubscribeしているStreamのSubscriptionをUnSubscribeする */ unsubscribe(target: string | RoomSubscription): Promise; _updateRoom(room: SfuRoomImpl): void; } export declare type SfuRoomPublicationOptions = { maxSubscribers?: number; }; //# sourceMappingURL=sfu.d.ts.map