import { SocksClientOptions , SocksClientChainOptions } from './constants' ; /**
 * Error wrapper for SocksClient
 */ class SocksClientError extends Error { constructor ( message , public options ) { super ( message ) ; } } param array function shuffleArray ( array ) { for ( let i = array . length - 1 ; i > 0 ; i -- ) { const j = Math . floor ( Math . random ( ) * ( i + 1 ) ) ; [ array [ i ] , array [ j ] ] = [ array [ j ] , array [ i ] ] ; } } type RequireOnlyOne < T , Keys extends keyof T = keyof T > = Pick < T , Exclude < keyof T , Keys > > & { [ K in Keys ] ? : Required < Pick < T , K > > & Partial < Record < Exclude < Keys , K > , undefined > > ; } [ Keys ] ; export { RequireOnlyOne , SocksClientError , shuffleArray } ;