///
///
import Address from './address'
import { HandlerResolve } from './handler'
import * as net from 'net'
import Obfs from '../obfs/obfs'
declare class Replay {
/**
* Protocol version
*/
ver: number
/**
* Reply Code
*/
rep: number
/**
* Desired destination address
*/
addr: Address
/**
* RESERVED
*/
rsv: number
constructor(ver: number, rep: number, addr: Address, rsv?: number)
/**
* Conversions the Replay object to Buffer
*/
toBuffer(): Buffer
/**
* Conversions Buffer to the reply object
*/
static from(data: Buffer): Replay
/**
* Resolves the promise with the Relay object information
* @param socket - Clients socket
* @param obfs - Obfuscator Object
* @param resolve - Returns information and socket to the client
* @param reject - Returns errors to the client
*/
promiseHandler(
socket: net.Socket,
obfs: Obfs,
resolve: (value: PromiseLike | HandlerResolve) => void,
reject: (reason?: any) => void
): void
}
export default Replay