import { EventEmitter } from 'ee-ts';
import { Answer, CallSession, Outbound, SipClient, SipConfiguration } from '../';
import { SipClientEvents } from '../index';
export declare class SipPhone extends EventEmitter<SipClientEvents> implements SipClient {
    private instanceId;
    static readonly userAgent: string;
    static readonly sipVersion: any;
    readonly type = "webrtc";
    private ua;
    private sessionCache;
    private log;
    constructor(instanceId: string, d?: boolean);
    callOption(req?: Answer): Promise<{
        sessionTimersExpires: number;
        pcConfig: {
            iceServers: {
                urls: string[];
            }[];
        } | undefined;
        mediaStream: MediaStream;
    }>;
    answer(id: string, req: Answer): Promise<false | Error>;
    call(req: Outbound): Promise<void>;
    register(sipConf: SipConfiguration): Promise<void>;
    unregister(): Promise<void>;
    isRegistered(): any;
    sipSessionByCallId(id: string): CallSession | null;
    sipSessionBySipId(id: string): CallSession | null;
    private removeSession;
    private storeSession;
    private get allSession();
    private getMediaConstraints;
    private getSession;
    private hasSession;
    private setupMedia;
    private getUserScreen;
    private getUserCallStream;
    private getUserMedia;
}
//# sourceMappingURL=index.d.ts.map