/// import { Event } from "rx.mini"; import { EventTarget } from "./helper"; import { RTCSctpTransport } from "./transport/sctp"; import { Callback, CallbackWithValue } from "./types/util"; export declare class RTCDataChannel extends EventTarget { private readonly transport; private readonly parameters; readonly sendOpen: boolean; readonly stateChanged: Event<[DCState]>; readonly message: Event<[string | Buffer]>; readonly error: Event<[Error]>; readonly bufferedAmountLow: Event; onopen?: Callback; onclose?: Callback; onclosing?: Callback; onmessage?: CallbackWithValue; onerror?: CallbackWithValue; isCreatedByRemote: boolean; id: number; readyState: DCState; bufferedAmount: number; private _bufferedAmountLowThreshold; constructor(transport: RTCSctpTransport, parameters: RTCDataChannelParameters, sendOpen?: boolean); get ordered(): boolean; get maxRetransmits(): number | undefined; get maxPacketLifeTime(): number | undefined; get label(): string; get protocol(): string; get negotiated(): boolean; get bufferedAmountLowThreshold(): number; set bufferedAmountLowThreshold(value: number); setId(id: number): void; setReadyState(state: DCState): void; addBufferedAmount(amount: number): void; send(data: Buffer | string): void; close(): void; } export type DCState = "open" | "closed" | "connecting" | "closing"; export declare class RTCDataChannelParameters { label: string; maxPacketLifeTime?: number; maxRetransmits?: number; ordered: boolean; protocol: string; negotiated: boolean; id: number; constructor(props?: Partial); } export interface MessageEvent { data: string | Buffer; } export interface RTCErrorEvent { error: any; }