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