import { Event } from '@skyway-sdk/common'; import { LocalAudioStream, LocalCustomVideoStream, LocalPersonImpl, LocalVideoStream, Publication, PublicationImpl, SkyWayChannelImpl, SkyWayConnection, SkyWayContext, Subscription, SubscriptionImpl } from '../imports/core'; import { SfuRestApiClient } from '../imports/sfu'; import { SfuBotMember } from '../member'; import { Receiver } from './receiver'; import { Sender } from './sender'; import { TransportRepository } from './transport/transportRepository'; /**@internal */ export declare class SFUConnection implements SkyWayConnection { private readonly _api; readonly channel: SkyWayChannelImpl; readonly localPerson: LocalPersonImpl; readonly remoteMember: SfuBotMember; private _transportRepository; private _context; readonly type = "sfu"; readonly onDisconnect: Event; readonly onClose: Event; closed: boolean; /**@private */ _receivers: { [subscriptionId: string]: Receiver; }; /**@private */ _senders: { [forwardingId: string]: Sender; }; /**@internal */ constructor(_api: SfuRestApiClient, channel: SkyWayChannelImpl, localPerson: LocalPersonImpl, remoteMember: SfuBotMember, _transportRepository: TransportRepository, _context: SkyWayContext); /**@internal */ addSender(publication: PublicationImpl): Sender; /**@internal */ removeSender(originPublicationId: string): void; startSubscribing(subscription: SubscriptionImpl): Promise; /**@internal */ stopSubscribing(subscription: Subscription): Promise; /**@internal */ stopPublishing(publication: Publication): Promise; /**@internal */ close({ reason }?: { reason?: string; }): void; private _getReceiver; changePreferredEncoding(subscription: SubscriptionImpl): Promise; } //# sourceMappingURL=index.d.ts.map