/// <reference types="node" />
import { BitField } from "@node-lightning/core";
import { ILogger } from "@node-lightning/logger";
import { NoiseSocket } from "@node-lightning/noise";
import { NoiseServer } from "@node-lightning/noise";
import { EventEmitter } from "events";
import { InitFeatureFlags } from "./flags/InitFeatureFlags";
export declare class PeerServer extends EventEmitter {
    readonly host: string;
    readonly port: number;
    readonly localSecret: Buffer;
    readonly localFeatures: BitField<InitFeatureFlags>;
    readonly localChains: Buffer[];
    readonly logger: ILogger;
    protected _server: NoiseServer;
    constructor(host: string, port: number, localSecret: Buffer, localFeatures: BitField<InitFeatureFlags>, localChains: Buffer[], logger: ILogger);
    /**
     * Starts the peer manager listening
     * @param host
     * @param port
     */
    listen(): void;
    /**
     * Shuts down the server
     */
    shutdown(): void;
    /**
     * Handles when a socket connects to us
     * @param socket
     */
    protected _onSocket(socket: NoiseSocket): void;
}
