/**
 * Web-server component. Serves the chart interative chart.
 */
export interface IWebServer {
    /**
     * The data that defines the chart.
     * Passed to the browser-based chart via REST API.
     */
    chartDef: any;
    /**
     * Get the URL to access the web-sever.
     */
    getUrl(): string;
    /**
     * Start the web-server.
     */
    start(): Promise<void>;
    /**
     * Stop the web-server.
     */
    stop(): Promise<void>;
}
/**
 * Web-server component. Serves the chart interative chart.
 */
export declare class WebServer implements IWebServer {
    /**
     * The requested port number for the web server.
     */
    requestedPortNo: number;
    /**
     * The assigned port number for the web server.
     */
    assignedPortNo: number;
    /**
     * The Express server instance that implements the web-server.
     */
    server: any | null;
    /**
     * The data that defines the chart.
     * Passed to the browser-based chart via REST API.
     */
    chartDef: any;
    constructor(portNo: number);
    /**
     * Get the URL to access the web-sever.
     */
    getUrl(): string;
    /**
     * Finds the directory of the parent module's package descriptor file. If the
     * directory is undefined (the default case), then it is set to the directory
     * name of the parent module's filename. If no package.json file is found, then
     * the parent directories are recursively searched until the file is found or
     * the root directory is reached.
     * https://gist.github.com/fhellwig/3355047
     */
    findParentDir(directory: string): Promise<string>;
    /**
     * Start the web-server.
     */
    start(): Promise<void>;
    /**
     * Stop the web-server.
     */
    stop(): Promise<void>;
}
