///
import { ServerOptions } from "@nimbus/server";
import { ApolloServer } from "apollo-server-express";
import { GetMiddlewareOptions } from "apollo-server-express/src/ApolloServer";
import { Application } from "express";
import { Server } from "http";
import { ApolloServerConfig } from "./apollo";
export interface ApolloServerExpress extends ApolloServerConfig {
server?: GetMiddlewareOptions & ServerOptions;
}
/**
* A configured ready to use graphql server
*/
export declare class GraphQLServer {
private readonly _serverOptions;
_server: Server;
private readonly _express;
private readonly _apollo;
constructor(_serverOptions: ApolloServerExpress, _express?: Application);
prepare(): this;
get server(): Server;
get express(): Application;
get apollo(): ApolloServer;
on: Server["on"];
listen(port: number): Promise;
close(): Promise;
}