import { Socket } from 'net'; type SocksAuthOptions = { user: string; pass: string; }; type SocketOptions = { host?: string; port?: number; auth?: SocksAuthOptions; }; type SocketConnectInfo = { socket: Socket; host: string; port: number; next: () => void; }; declare class Socket5Server { private socket; private option; private callback; /** * Create Socket 5 * @example * new Socket5Server({}) * @param opt */ constructor(opt?: SocketOptions); private _handler; private _authHandler; private _passwordAuth; /** * 处理客户端的请求 * @param data * @param socket * @private */ private requestHandler; private _end; private hostname; /** * start server * @param callback */ listen(callback: (client: SocketConnectInfo) => void): void; } export { Socket5Server, SocketOptions, SocksAuthOptions, SocketConnectInfo };