/// <reference types="node" />
import { EventEmitter } from 'events';
import { GraphQlServerOptions } from './graphqlServer';
import { ENV } from './helpers/constants';
export declare enum EVENTS {
    APOLLO_READY = "onApolloReady",
    WEB_INTERFACE_READY = "onWebInterfaceReady",
    GRAPHQL_LISTENING = "onGraphQLListening",
    EXIT = "onExit",
    ERROR = "onError"
}
declare class Server {
    private confs;
    events: EventEmitter;
    constructor(env: ENV, envId: number, confs: {
        serverOpts?: GraphQlServerOptions;
        defaultConfs: Record<string, any>;
    });
    private isDev;
    private express;
    private corsOptions;
    private debug;
    start(): void;
    private initApolloServer;
    private configureCors;
    private configureRestRoutes;
    private configureMiscExpressMIddlewares;
    private createWebInterface;
    private initHttpServer;
    private removeLock;
    private onExit;
    private createLock;
    private registerHttpEvents;
    private handleExit;
    private sayWelcome;
}
export { Server };
