import MessageEvent from './MessageEvent';
import RTCDataChannelEvent from './RTCDataChannelEvent';
import { EventTarget } from './vendor/event-target-shim';
declare type RTCDataChannelState = 'connecting' | 'open' | 'closing' | 'closed';
declare type DataChannelEventMap = {
    bufferedamountlow: RTCDataChannelEvent<'bufferedamountlow'>;
    close: RTCDataChannelEvent<'close'>;
    closing: RTCDataChannelEvent<'closing'>;
    error: RTCDataChannelEvent<'error'>;
    message: MessageEvent<'message'>;
    open: RTCDataChannelEvent<'open'>;
};
export default class RTCDataChannel extends EventTarget<DataChannelEventMap> {
    _peerConnectionId: number;
    _reactTag: string;
    _bufferedAmount: number;
    _id: number;
    _label: string;
    _maxPacketLifeTime?: number;
    _maxRetransmits?: number;
    _negotiated: boolean;
    _ordered: boolean;
    _protocol: string;
    _readyState: RTCDataChannelState;
    binaryType: string;
    bufferedAmountLowThreshold: number;
    constructor(info: any);
    get onbufferedamountlow(): EventTarget.CallbackFunction<this, import("./vendor/event-target-shim").Event<string>> | null;
    set onbufferedamountlow(value: EventTarget.CallbackFunction<this, import("./vendor/event-target-shim").Event<string>> | null);
    get onclose(): EventTarget.CallbackFunction<this, import("./vendor/event-target-shim").Event<string>> | null;
    set onclose(value: EventTarget.CallbackFunction<this, import("./vendor/event-target-shim").Event<string>> | null);
    get onclosing(): EventTarget.CallbackFunction<this, import("./vendor/event-target-shim").Event<string>> | null;
    set onclosing(value: EventTarget.CallbackFunction<this, import("./vendor/event-target-shim").Event<string>> | null);
    get onerror(): EventTarget.CallbackFunction<this, import("./vendor/event-target-shim").Event<string>> | null;
    set onerror(value: EventTarget.CallbackFunction<this, import("./vendor/event-target-shim").Event<string>> | null);
    get onmessage(): EventTarget.CallbackFunction<this, import("./vendor/event-target-shim").Event<string>> | null;
    set onmessage(value: EventTarget.CallbackFunction<this, import("./vendor/event-target-shim").Event<string>> | null);
    get onopen(): EventTarget.CallbackFunction<this, import("./vendor/event-target-shim").Event<string>> | null;
    set onopen(value: EventTarget.CallbackFunction<this, import("./vendor/event-target-shim").Event<string>> | null);
    get bufferedAmount(): number;
    get label(): string;
    get id(): number;
    get ordered(): boolean;
    get maxPacketLifeTime(): number | undefined;
    get maxRetransmits(): number | undefined;
    get protocol(): string;
    get negotiated(): boolean;
    get readyState(): string;
    send(data: string): void;
    send(data: ArrayBuffer): void;
    send(data: ArrayBufferView): void;
    close(): void;
    _registerEvents(): void;
}
export {};
