/// import * as net from 'net'; import { OnPreConnectionDataResult } from './models/on-pre-connection-data-result'; import { SOCKSProxyConnectionStatus } from './models/socks-proxy-connection-status'; import { ProxyServer } from './proxy-server'; export declare class SOCKSProxyServer extends ProxyServer { protected authenticateFn: (password: string, userName: string) => boolean; protected allowedIPAddresses: string[]; protected deniedIPAddresses: string[]; protected requiresUsernamePasswordAuthentication: boolean; protected buffers: {}; protected socksProxyStates: {}; constructor(authenticateFn: (password: string, userName: string) => boolean, allowedIPAddresses: string[], deniedIPAddresses: string[], hostname: string, port: number, requiresUsernamePasswordAuthentication: boolean); protected createServer(onConnectionFn: (socket: net.Socket) => void): net.Server; protected createDestinationSocket(destinationHostname: string, destinationPort: number, sourceSocket: net.Socket): net.Socket; protected handleAuthenticationRequest(data: Buffer, sourceSocket: net.Socket): void; protected handleConnectionRequest(data: Buffer, sourceSocket: net.Socket): Promise; protected handleGreetingRequest(data: Buffer, sourceSocket: net.Socket): void; protected resolveDomainName(domainName: string): Promise; protected onPreConnectionData(data: Buffer, destinationSocket: net.Socket, sourceSocket: net.Socket): OnPreConnectionDataResult; protected saveToBuffer(data: Buffer, socket: net.Socket): void; protected sendConnectionResponse(addressType: number, connectionStatus: SOCKSProxyConnectionStatus, ipAddressBytes: number[], portBytes: number[], sourceSocket: net.Socket, version: number): void; }