import { EnhancedEventEmitter } from './enhancedEvents'; import type { Channel } from './Channel'; import type { Router, PipeToRouterOptions, PipeToRouterResult, RouterDump, RouterEvents, RouterObserver } from './RouterTypes'; import type { Transport } from './TransportTypes'; import type { WebRtcTransport, WebRtcTransportOptions } from './WebRtcTransportTypes'; import type { PlainTransport, PlainTransportOptions } from './PlainTransportTypes'; import type { PipeTransport, PipeTransportOptions } from './PipeTransportTypes'; import type { DirectTransport, DirectTransportOptions } from './DirectTransportTypes'; import type { ActiveSpeakerObserver, ActiveSpeakerObserverOptions } from './ActiveSpeakerObserverTypes'; import type { AudioLevelObserver, AudioLevelObserverOptions } from './AudioLevelObserverTypes'; import type { RtpCapabilities, RouterRtpCodecCapability } from './rtpParametersTypes'; import type { AppData } from './types'; export type RouterInternal = { routerId: string; }; type RouterData = { rtpCapabilities: RtpCapabilities; }; export declare class RouterImpl extends EnhancedEventEmitter implements Router { #private; constructor({ internal, data, channel, appData, }: { internal: RouterInternal; data: RouterData; channel: Channel; appData?: RouterAppData; }); get id(): string; get closed(): boolean; get rtpCapabilities(): RtpCapabilities; get appData(): RouterAppData; set appData(appData: RouterAppData); get observer(): RouterObserver; /** * Just for testing purposes. * * @private */ get transportsForTesting(): Map; close(): void; workerClosed(): void; dump(): Promise; createWebRtcTransport({ webRtcServer, listenInfos, listenIps, port, enableUdp, enableTcp, preferUdp, preferTcp, initialAvailableOutgoingBitrate, enableSctp, maxSendMessageSize, maxReceiveMessageSize, sctpSendBufferSize, sctpPerStreamSendQueueLimit, sctpMaxReceiverWindowBufferSize, sctpDefaultStreamBufferedAmountLowThreshold, iceConsentTimeout, appData, }: WebRtcTransportOptions): Promise>; createPlainTransport({ listenInfo, rtcpListenInfo, listenIp, port, rtcpMux, comedia, enableSctp, maxSendMessageSize, maxReceiveMessageSize, sctpSendBufferSize, sctpPerStreamSendQueueLimit, sctpMaxReceiverWindowBufferSize, sctpDefaultStreamBufferedAmountLowThreshold, enableSrtp, srtpCryptoSuite, appData, }: PlainTransportOptions): Promise>; createPipeTransport({ listenInfo, listenIp, port, enableSctp, maxSendMessageSize, maxReceiveMessageSize, sctpSendBufferSize, sctpPerStreamSendQueueLimit, sctpMaxReceiverWindowBufferSize, sctpDefaultStreamBufferedAmountLowThreshold, enableRtx, enableSrtp, appData, }: PipeTransportOptions): Promise>; createDirectTransport({ maxSendMessageSize, maxReceiveMessageSize, appData, }?: DirectTransportOptions): Promise>; pipeToRouter({ producerId, dataProducerId, router, keepId, listenInfo, listenIp, enableSctp, maxSendMessageSize, maxReceiveMessageSize, sctpSendBufferSize, sctpPerStreamSendQueueLimit, sctpMaxReceiverWindowBufferSize, sctpDefaultStreamBufferedAmountLowThreshold, enableRtx, enableSrtp, }: PipeToRouterOptions): Promise; createActiveSpeakerObserver({ interval, appData, }?: ActiveSpeakerObserverOptions): Promise>; createAudioLevelObserver({ maxEntries, threshold, interval, appData, }?: AudioLevelObserverOptions): Promise>; canConsume({ producerId, rtpCapabilities, }: { producerId: string; rtpCapabilities: RtpCapabilities; }): boolean; updateMediaCodecs(mediaCodecs: RouterRtpCodecCapability[]): void; private addPipeTransportPair; private handleListenerError; } export {}; //# sourceMappingURL=Router.d.ts.map