///
import * as net from 'net';
import * as tls from 'tls';
import { OnPreConnectionDataResult } from './models/on-pre-connection-data-result';
import { ProxyServer } from './proxy-server';
export declare class ForwardProxyServer extends ProxyServer {
protected forwardToHostname: string;
protected forwardToPort: number;
protected mode: string;
protected buffers: {};
constructor(forwardToHostname: string, forwardToPort: number, hostname: string, mode: string, port: number);
protected createServer(onConnectionFn: (socket: net.Socket | tls.TLSSocket) => void): net.Server | tls.Server;
protected createDestinationSocket(destinationHostname: string, destinationPort: number, sourceSocket: net.Socket | tls.TLSSocket): net.Socket | tls.TLSSocket;
protected onPreConnectionData(data: Buffer, destinationSocket: net.Socket | tls.TLSSocket, sourceSocket: net.Socket | tls.TLSSocket): OnPreConnectionDataResult;
protected saveToBuffer(data: Buffer, socket: net.Socket | tls.TLSSocket): void;
}