///
///
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;