import * as plugins from './plugins.js';
import { ProxyRouter } from './smartproxy.classes.router.js';
export interface INetworkProxyOptions {
    port: number;
}
export declare class NetworkProxy {
    options: INetworkProxyOptions;
    proxyConfigs: plugins.tsclass.network.IReverseProxyConfig[];
    httpsServer: plugins.https.Server;
    router: ProxyRouter;
    socketMap: plugins.lik.ObjectMap<plugins.net.Socket>;
    defaultHeaders: {
        [key: string]: string;
    };
    heartbeatInterval: NodeJS.Timeout;
    private defaultCertificates;
    alreadyAddedReverseConfigs: {
        [hostName: string]: plugins.tsclass.network.IReverseProxyConfig;
    };
    constructor(optionsArg: INetworkProxyOptions);
    start(): Promise<void>;
    /**
     * Internal async handler for processing HTTP/HTTPS requests.
     */
    private handleRequest;
    updateProxyConfigs(proxyConfigsArg: plugins.tsclass.network.IReverseProxyConfig[]): Promise<void>;
    addDefaultHeaders(headersArg: {
        [key: string]: string;
    }): Promise<void>;
    stop(): Promise<void>;
}
