import * as plugins from './plugins.js';
import type { IPortProxySettings } from './classes.pp.interfaces.js';
import { ConnectionManager } from './classes.pp.connectionmanager.js';
import { SecurityManager } from './classes.pp.securitymanager.js';
import { DomainConfigManager } from './classes.pp.domainconfigmanager.js';
import { TlsManager } from './classes.pp.tlsmanager.js';
import { NetworkProxyBridge } from './classes.pp.networkproxybridge.js';
import { TimeoutManager } from './classes.pp.timeoutmanager.js';
import { PortRangeManager } from './classes.pp.portrangemanager.js';
/**
 * Handles new connection processing and setup logic
 */
export declare class ConnectionHandler {
    private settings;
    private connectionManager;
    private securityManager;
    private domainConfigManager;
    private tlsManager;
    private networkProxyBridge;
    private timeoutManager;
    private portRangeManager;
    constructor(settings: IPortProxySettings, connectionManager: ConnectionManager, securityManager: SecurityManager, domainConfigManager: DomainConfigManager, tlsManager: TlsManager, networkProxyBridge: NetworkProxyBridge, timeoutManager: TimeoutManager, portRangeManager: PortRangeManager);
    /**
     * Handle a new incoming connection
     */
    handleConnection(socket: plugins.net.Socket): void;
    /**
     * Handle a connection that should be forwarded to NetworkProxy
     */
    private handleNetworkProxyConnection;
    /**
     * Handle a standard (non-NetworkProxy) connection
     */
    private handleStandardConnection;
    /**
     * Sets up a direct connection to the target
     */
    private setupDirectConnection;
}
