///
///
import { Middleware } from 'app-builder';
import createContext, { Context, DefaultContext } from './context';
import { Server as HttpServer, IncomingMessage, ServerResponse } from 'http';
export default function (server?: HttpServer): Server;
export interface Addon extends Middleware {
register?(server: Server): any;
}
export declare class Server {
private _appBuilder;
private _startupPromises;
private _createContext;
webserver: HttpServer;
constructor(server?: HttpServer, contextFactory?: typeof createContext);
useDefault(onError?: () => Promise<{}>): this;
use(middlewareOrAddon: Addon): this;
build(): (req: IncomingMessage, res: ServerResponse) => any;
listen(...args: Array): Promise<{}>;
close(): Promise<{}>;
}
export { Context, DefaultContext };