import { SecureServerOptions } from 'http2';
import { Route } from './route';
import { Http2ServerEventMap } from './types';
export interface Server {
    /** Adds listeners to stream's events. */
    on: <T extends keyof Http2ServerEventMap>(event: T, listener: Http2ServerEventMap[T]) => Server;
    /** Adds routes to server.  */
    use: (...routes: ReadonlyArray<Route>) => Server;
    /** Stops the server from establishing new sessions */
    close: (callback?: (error?: Error) => void) => Server;
    /** Starts the server listening to requests. */
    listen: (port?: number, host?: string, listener?: VoidFunction) => Server;
}
/**
 * Initializes secure server.
 *
 * If _options.allowHttp1_: _true_ then also add listener
 * to `request` event.
 */
export declare const server: (options: SecureServerOptions) => Server;
