import { EventEmitter } from 'ee-ts';
import { Log } from '../log';
export interface ReceiveEvents {
    close(s: ReceiverSession): void;
    offer(o: RTCSessionDescription): void;
    stream(m: MediaStream): void;
}
export declare class ReceiverSession extends EventEmitter<ReceiveEvents> {
    pc: RTCPeerConnection | null;
    id: string;
    stream: MediaStream | null;
    acceptSdp: Promise<RTCSessionDescription>;
    log: Log;
    private resolveAcceptSdp;
    private rejectAcceptSdp;
    constructor(conf: RTCConfiguration, log: Log);
    onTrack(e: RTCTrackEvent): void;
    onTrackStop(t: MediaStreamTrack): void;
    close(): void;
    offer(): Promise<RTCSessionDescription>;
    answer(answer: RTCSessionDescriptionInit): Promise<void>;
    iceConnectionState(e: Event): void;
    iceCandidate(e: RTCPeerConnectionIceEvent): Promise<void>;
}
//# sourceMappingURL=receiver.d.ts.map