/// <reference types="node" />
import events = require('events');
import { RTCSession } from 'jssip/lib/RTCSession';
export default class SipSession extends events.EventEmitter {
    _onSession: any;
    _pcConfig: any;
    _id: string;
    _startTime: Date;
    _status: string;
    _active: false;
    _endInfo: any;
    _muted: boolean;
    _localHold: boolean;
    _remoteHold: boolean;
    _rtcSession: RTCSession;
    _doingAttendedTransfer: boolean;
    _autoMerge: boolean;
    _ringAudio: HTMLAudioElement;
    _failedAudio: HTMLAudioElement;
    _answeredAudio: HTMLAudioElement;
    _remoteAudio: HTMLAudioElement;
    constructor(rtcSession: RTCSession, options: any);
    get jssipRtcSession(): RTCSession;
    get id(): string;
    get direction(): "out" | "in";
    get number(): string;
    get originalNumber(): any;
    get status(): string;
    get disposition(): "rejected" | "missed" | "answered";
    get answered(): boolean;
    get terminated(): boolean;
    get endInfo(): any;
    get active(): false;
    get startTime(): Date;
    get answerTime(): Date;
    get duration(): number;
    get muted(): boolean;
    get localHold(): boolean;
    get remoteHold(): boolean;
    get autoMerge(): boolean;
    set autoMerge(flag: boolean);
    get doingAttendedTransfer(): boolean;
    get replaces(): boolean;
    isOutgoing(): boolean;
    isIncoming(): boolean;
    setActive(flag: any): void;
    answer(): void;
    terminate(sipCode?: number, sipReason?: string): void;
    mute(): void;
    unmute(): void;
    hold(): void;
    unhold(): void;
    sendDtmf(tone: any): void;
}
