import { SocketAppSettings } from "./settings/SocketAppSettings";
import { Server } from "socket.io";
import http from "http";
import { SocketAppHandler } from "./routes/SocketAppHandler";
import { Emitter } from "@socket.io/mongo-emitter";
import * as mongoDB from "mongodb";
import { ApiMiddleware } from "./middleware/ApiMiddleware";
import { AntiDdosMiddleware } from "./middleware/AntiDdosMiddleware";
import { GNServer } from "./../GNServer";
export declare class SocketApp {
    private appSettings;
    private server;
    private socketAppHandler;
    private apiMiddleware;
    private antiDdosMiddleware;
    private io;
    private gnServer;
    private emitter;
    setServer(server: http.Server): void;
    setGNServer(gnServer: GNServer): void;
    getHttpServer(): http.Server;
    getIO(): Server;
    getEmitter(): Emitter;
    getSocketAppHandler(): SocketAppHandler;
    setApiMiddleware(apiMiddleware: ApiMiddleware): void;
    setAppSettings(appSettings: SocketAppSettings): void;
    setAntiDdosMiddleware(antiDdosMiddleware: AntiDdosMiddleware): void;
    run(): void;
    setEmitter(adapterEventCollection: mongoDB.Collection<mongoDB.Document>): void;
    constructor();
}
