import '../../../scripts/warn-engines.js';
import '../util/sentry-config';
import type { TypedSocketServer } from '../../types/socket-protocol';
import type { NodeCG } from '../../types/nodecg';
import { TypedEmitter } from '../../shared/typed-emitter';
type EventMap = {
    error: (error: unknown) => void;
    extensionsLoaded: () => void;
    started: () => void;
    stopped: () => void;
};
export default class NodeCGServer extends TypedEmitter<EventMap> {
    readonly log: import("../../shared/logger-interface.js").LoggerInterface;
    private readonly _io;
    private readonly _app;
    private readonly _server;
    private _replicator?;
    private _extensionManager?;
    /**
     * Only used by tests. Gross hack.
     */
    private _bundleManager;
    constructor();
    start(): Promise<void>;
    stop(): void;
    getExtensions(): Record<string, unknown>;
    getSocketIOServer(): TypedSocketServer;
    mount: NodeCG.Middleware;
    saveAllReplicantsNow(): Promise<void>;
}
export {};
//# sourceMappingURL=index.d.ts.map