import { State } from '../../helper/state' /** * The ObfsState class identifies the obfuscation method */ export declare class ObfsState extends State { private obfsMethods parse(): void reply(): void } /** * The IdentifierState class identifies the version of the * protocol from the received data and changes the state properly */ export declare class IdentifierState extends State { /** * We identify the protocol version from the first byte */ private firstByte? /** * Parse request * @returns void */ parse(): void /** * Parse request and changes the state properly * @returns void */ reply(): void } /** * The MethodSelectionState negotiates * with the client about the proper authentication method * specific for socks5 * @remarks * References: {@link https://www.rfc-editor.org/rfc/rfc1928#section-3} */ export declare class MethodSelectionState extends State { /** * users' suggested authentication methods */ private methods /** * Parse request and extracts user suggested authentication methods * @returns void */ parse(): void /** * Continues to authenticate procedure with authenticator class * @returns void */ reply(): void } /** * The RequestState class is responsible to handle * the request for socks5 (connect | associate | bind) * @remarks * References: {@link https://www.rfc-editor.org/rfc/rfc1928#section-4} */ export declare class RequestState extends State { /** * Parse request * @returns void */ parse(): void /** * Executes proper request handler function and, * remove all data listeners of contexts socket * @returns void */ reply(): void }