import { EventEmitter } from 'ee-ts';
import { Session } from './session';
import type { RPC } from './rpc';
import type { Answer, AudioProcessingConfig, Outbound, SipClient, SipClientEvents } from '../index';
export declare class SipPhone extends EventEmitter<SipClientEvents> implements SipClient {
    private rpc;
    audioProcessing: AudioProcessingConfig;
    static readonly userAgent = "Webitel-Phone/0.0.1";
    static readonly sipVersion = "0.0.1";
    readonly type = "webrtc";
    sessions: Session[];
    registered: boolean;
    ua: object;
    constructor(rpc: RPC, audioProcessing?: AudioProcessingConfig);
    setAudioProcessing(processing: AudioProcessingConfig): void;
    emitSessionMedia(sess: Session): void;
    callOption(req?: Answer): Promise<Answer>;
    answer(_id: string, _req: Answer): Promise<boolean>;
    call(req: Outbound): Promise<void>;
    register(): Promise<void>;
    unregister(): Promise<void>;
    isRegistered(): boolean;
    sipSessionByCallId(id: string): Session | null;
    sipSessionBySipId(id: string): Session | null;
    private removeSession;
    private setRegister;
}
//# sourceMappingURL=client.d.ts.map