///
import { EventEmitter } from 'events';
import { Signaling, SignalingPeer, Channel } from '../types';
/**
* @module rtc.signaling
*/
/**
* Signaling peer compatible with the framing of palava signaling
* @class rtc.signaling.PalavaSignalingPeer
* @extends rtc.signaling.SignalingPeer
*/
export declare class PalavaSignalingPeer extends EventEmitter implements SignalingPeer {
channel: Channel;
id: string;
status: Record;
first: boolean;
constructor(channel: Channel, id: string, status: Record, first: boolean);
send(event: string, data: any): Promise;
}
/**
* Signaling implementation compatible with the framing of palava signaling
* @class rtc.signaling.PalavaSignaling
* @extends rtc.signaling.Signaling
*/
export declare class PalavaSignaling extends EventEmitter implements Signaling {
channel: Channel;
room: string;
status: Record;
peers: Record;
joined: boolean;
join_p?: Promise;
connect_p?: Promise;
constructor(channel: Channel, room: string, status: Record);
connect(): Promise;
setStatus(status: Record): Promise;
close(): Promise;
}