interface JsonRpcClientParams {
    socketUrl: string;
    ajaxUrl?: string;
    onmessage?: {
        (event: Object): void;
    };
    login: string;
    passwd: string;
    sessid?: string;
    loginParams?: Object;
    userVariables?: Object;
}
interface JsonRpcParams {
    callID: string;
    sdp?: string;
    caller_id_number: string;
    caller_id_name: string;
    callee_id_number: string;
    callee_id_name: string;
}
declare class JsonRpcClient {
    options: JsonRpcClientParams;
    private request_id;
    private socket_;
    private queue;
    private callbacks;
    private eventHandler;
    private reconnectHandler;
    private debug;
    private initSocket_;
    private closeSocket_;
    private get socket();
    constructor(options: JsonRpcClientParams, debug?: boolean);
    private onMessage;
    private socketCall_;
    setEventHandler(handler: {
        (method: string, params: JsonRpcParams): void;
    }): void;
    setReconnectHandler(handler: {
        (): void;
    }): void;
    call(method: string, params?: Object, success_cb?: {
        (data: Object): void;
    }, error_cb?: {
        (data: Object): void;
    }): void;
    close(): void;
}
export { JsonRpcClient, JsonRpcClientParams };
