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 }