import { EventEmitter } from 'ee-ts';
import type { Answer, CallSession, Outbound, SipClient, SipConfiguration } from '../';
import { type AudioProcessingConfig, type SipClientEvents } from '../index';
export declare class SipPhone extends EventEmitter<SipClientEvents> implements SipClient {
    private audioProcessing;
    static readonly userAgent: string;
    static readonly sipVersion: string;
    readonly type = "webrtc";
    private ua;
    private sessionCache;
    private log;
    constructor(_instanceId: string, d?: boolean, audioProcessing?: AudioProcessingConfig);
    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>;
    setAudioProcessing(processing: AudioProcessingConfig): 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 setupMedia;
    private getUserScreen;
    private getUserCallStream;
    private getUserMedia;
}
//# sourceMappingURL=index.d.ts.map