import { EnhancedEventEmitter } from '../EnhancedEventEmitter'; import { ProducerCodecOptions } from '../Producer'; import { IceParameters, IceCandidate, DtlsParameters } from '../Transport'; import { RtpCapabilities, RtpCodecCapability, RtpParameters, RtpEncodingParameters } from '../RtpParameters'; import { SctpCapabilities, SctpParameters, SctpStreamParameters } from '../SctpParameters'; import { RTCRtpSender, MediaStreamTrack } from '../index'; export declare type HandlerFactory = () => HandlerInterface; export declare type HandlerRunOptions = { direction: 'send' | 'recv'; iceParameters: IceParameters; iceCandidates: IceCandidate[]; dtlsParameters: DtlsParameters; sctpParameters?: SctpParameters; iceServers?: RTCIceServer[]; iceTransportPolicy?: RTCIceTransportPolicy; additionalSettings?: any; proprietaryConstraints?: any; extendedRtpCapabilities: any; }; export declare type HandlerSendOptions = { track: any; encodings?: RtpEncodingParameters[]; codecOptions?: ProducerCodecOptions; codec?: RtpCodecCapability; }; export declare type HandlerSendResult = { localId: string; rtpParameters: RtpParameters; rtpSender?: RTCRtpSender; }; export declare type HandlerReceiveOptions = { trackId: string; kind: 'audio' | 'video'; rtpParameters: RtpParameters; }; export declare type HandlerReceiveResult = { localId: string; track: MediaStreamTrack; rtpReceiver?: RTCRtpReceiver; }; export declare type HandlerSendDataChannelOptions = SctpStreamParameters; export declare type HandlerSendDataChannelResult = { dataChannel: RTCDataChannel; sctpStreamParameters: SctpStreamParameters; }; export declare type HandlerReceiveDataChannelOptions = { sctpStreamParameters: SctpStreamParameters; label?: string; protocol?: string; }; export declare type HandlerReceiveDataChannelResult = { dataChannel: RTCDataChannel; }; export declare abstract class HandlerInterface extends EnhancedEventEmitter { /** * @emits @connect - ( * { dtlsParameters: DtlsParameters }, * callback: Function, * errback: Function * ) * @emits @connectionstatechange - (connectionState: ConnectionState) */ constructor(); abstract get name(): string; abstract close(): void; abstract getNativeRtpCapabilities(): Promise; abstract getNativeSctpCapabilities(): Promise; abstract run(options: HandlerRunOptions): void; abstract updateIceServers(iceServers: RTCIceServer[]): Promise; abstract restartIce(iceParameters: IceParameters): Promise; abstract getTransportStats(): Promise; abstract send(options: HandlerSendOptions): Promise; abstract stopSending(localId: string): Promise; abstract replaceTrack(localId: string, track: any | null): Promise; abstract setMaxSpatialLayer(localId: string, spatialLayer: number): Promise; abstract setRtpEncodingParameters(localId: string, params: any): Promise; abstract getSenderStats(localId: string): Promise; abstract sendDataChannel(options: HandlerSendDataChannelOptions): Promise; abstract receive(options: HandlerReceiveOptions): Promise; abstract stopReceiving(localId: string): Promise; abstract getReceiverStats(localId: string): Promise; abstract receiveDataChannel(options: HandlerReceiveDataChannelOptions): Promise; } //# sourceMappingURL=HandlerInterface.d.ts.map