import { EnhancedEventEmitter } from './EnhancedEventEmitter'; import { SctpStreamParameters } from './SctpParameters'; export type DataProducerOptions = { ordered?: boolean; maxPacketLifeTime?: number; maxRetransmits?: number; label?: string; protocol?: string; appData?: Record; }; export type DataProducerEvents = { transportclose: []; open: []; error: [Error]; close: []; bufferedamountlow: []; '@close': []; }; export type DataProducerObserverEvents = { close: []; }; export declare class DataProducer extends EnhancedEventEmitter { private readonly _id; private readonly _dataChannel; private _closed; private readonly _sctpStreamParameters; private readonly _appData; protected readonly _observer: EnhancedEventEmitter; constructor({ id, dataChannel, sctpStreamParameters, appData }: { id: string; dataChannel: RTCDataChannel; sctpStreamParameters: SctpStreamParameters; appData?: Record; }); /** * DataProducer id. */ get id(): string; /** * Whether the DataProducer is closed. */ get closed(): boolean; /** * SCTP stream parameters. */ get sctpStreamParameters(): SctpStreamParameters; /** * DataChannel readyState. */ get readyState(): RTCDataChannelState; /** * DataChannel label. */ get label(): string; /** * DataChannel protocol. */ get protocol(): string; /** * DataChannel bufferedAmount. */ get bufferedAmount(): number; /** * DataChannel bufferedAmountLowThreshold. */ get bufferedAmountLowThreshold(): number; /** * Set DataChannel bufferedAmountLowThreshold. */ set bufferedAmountLowThreshold(bufferedAmountLowThreshold: number); /** * App custom data. */ get appData(): Record; /** * Invalid setter. */ set appData(appData: Record); get observer(): EnhancedEventEmitter; /** * Closes the DataProducer. */ close(): void; /** * Transport was closed. */ transportClosed(): void; /** * Send a message. * * @param {String|Blob|ArrayBuffer|ArrayBufferView} data. */ send(data: any): void; private handleDataChannel; } //# sourceMappingURL=DataProducer.d.ts.map