import { EnhancedEventEmitter } from './EnhancedEventEmitter'; import { Channel } from './Channel'; import { TransportProtocol } from './Transport'; import { WebRtcTransport } from './WebRtcTransport'; export interface WebRtcServerListenInfo { /** * Network protocol. */ protocol: TransportProtocol; /** * Listening IPv4 or IPv6. */ ip: string; /** * Announced IPv4 or IPv6 (useful when running mediasoup behind NAT with * private IP). */ announcedIp?: string; /** * Listening port. */ port: number; } export declare type WebRtcServerOptions = { /** * Listen infos. */ listenInfos: WebRtcServerListenInfo[]; /** * Custom application data. */ appData?: Record; }; export declare type WebRtcServerEvents = { workerclose: []; '@close': []; }; export declare type WebRtcServerObserverEvents = { close: []; webrtctransporthandled: [WebRtcTransport]; webrtctransportunhandled: [WebRtcTransport]; }; export declare class WebRtcServer extends EnhancedEventEmitter { #private; /** * @private */ constructor({ internal, channel, appData }: { internal: any; channel: Channel; appData?: Record; }); /** * WebRtcServer id. */ get id(): string; /** * Whether the WebRtcServer is closed. */ get closed(): boolean; /** * App custom data. */ get appData(): Record; /** * Invalid setter. */ set appData(appData: Record); /** * Observer. */ get observer(): EnhancedEventEmitter; /** * @private * Just for testing purposes. */ get webRtcTransportsForTesting(): Map; /** * Close the WebRtcServer. */ close(): void; /** * Worker was closed. * * @private */ workerClosed(): void; /** * Dump WebRtcServer. */ dump(): Promise; /** * @private */ handleWebRtcTransport(webRtcTransport: WebRtcTransport): void; } //# sourceMappingURL=WebRtcServer.d.ts.map