import { Socket } from "../backend/RPCSocketServer";
/**
 * Dynamic library to communicate with FrontblockService remotely
 *
 * This will be automatically injected into the webpages served by FrontblockService
 * Will ask it's service for available RPCs and parse them into methods of this object
 * for convenient access.
 */
export declare class RPCSocket implements Socket {
    port: number;
    private server;
    private tls;
    private socket;
    constructor(port: number, server: string, tls?: boolean);
    hook(name: any, args: any): Socket;
    unhook(name: any): Socket;
    on(type: "error" | "close", f: (e?: any) => void): Socket;
    destroy(): void;
    close(): void;
    call(rpcname: string, ...args: any[]): Promise<any>;
    fire(rpcname: string, ...args: any[]): Promise<any>;
    connect(): Promise<void>;
    info(): Promise<any>;
    private callGenerator;
    private hookGenerator;
    private unhookGenerator;
}
