/// <reference types="node" />
import { Server as HttpServer } from 'http';
import { RelayHandler } from './handler';
/**
 * The rest server exposes similar functionality that is available via the socket.io interface.
 *
 * The main difference is that only request/response functionality is supported.
 *
 * ### Interface
 *
 * Args to a POST method are expected to be passed in a tuple of varying sizes, aka array.
 *
 * Return values from a POST or GET take on two shapes:
 *
 * #### Return value only indicating success or failure of the operation:
 *
 * ```
 * {
 *   success: boolean // set only on success
 *   err: string      // set onlhy in an error case
 * }
 * ```
 *
 * #### Return value passing along a return arg
 *
 * ```
 * {
 *   result: any      // set only on success
 *   err: string      // set onlhy in an error case
 * }
 *
 * ```
 */
export declare class RestServer {
    readonly app: HttpServer;
    readonly handler: RelayHandler;
    private constructor();
    static init(app: HttpServer, relayHandler: RelayHandler): RestServer;
}
