import Connection from './connection'; /** * The State class is an abstract class that all other, * extended classes should implement its methods and properties * we implemented a design pattern called state design pattern here */ export declare abstract class State { /** * Context */ protected context: Connection; constructor(context: Connection); /** * Change state from one to other * @param state - The state to change to * @returns void */ transitionTo(state: State): void; /** * Parse request * @returns void */ abstract parse(): void; /** * Reply to the user with a proper response * @returns void */ abstract reply(): void; }